]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
*** empty log message ***
[~andy/gtk] / ChangeLog.pre-2-0
1 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
2
3         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
4         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
5         connect to signals with a NULL marshaller.
6
7         * gtk/gtktypeutils.c (gtk_type_get_info): New.
8         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
9
10 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
11
12         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
13         arrows if wrap == FALSE and interval borders are reached.
14
15 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
16
17         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
18         long-standing typo in aspect ratio computation code.
19         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
20
21 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
22
23         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
24         valid row numbers only
25         (toggle_row): check if clist_row != NULL
26
27 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
28
29         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
30
31         * gtk/gtkclist.c 
32         (gtk_clist_set_column_visibility)
33         (gtk_clist_column_titles_active)
34         (gtk_clist_column_titles_active)
35         (gtk_clist_column_title_passive)
36         (gtk_clist_column_title_active): few additional tests whether
37         column->button != NULL
38
39 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
40
41         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
42         from 10 seconds, so it doesn't abort while users
43         have an ACTION_ASK menu up.
44
45         * gtk/gtkdnd.c: Hide the icon window between sending a a 
46         drop event to the destination and displaying the
47         snapback animation, so that it doesn't hang around
48         during ACTION_ASK.
49
50 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
51
52         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
53         for the foreground of cells for CLists in the insensitive
54         state, instead of GTK_STATE_PRELIGHT.
55
56 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
57
58         * gtk/gtkwindow.c: moved checks upon focus setting from
59         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
60         emit the signal if unneccessary.
61
62         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
63         containers when grabbing focus on a new widget. this is based on
64         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
65
66         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
67         flag, so we take the buttons into consideration upon the next focus
68         request.
69
70         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
71         assertment.
72
73 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
74
75         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
76           enhancement for true-color displays.
77
78         * INSTALL:
79           README:
80           configure.in:
81           gtk+.spec:
82           docs/gtk-config.1: up to version 1.1.6
83
84 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
85
86         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
87         we release it this time
88
89 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
90
91         * gtk/gtknotebook.h: 
92         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
93
94         * incremented version number to 1.1.6 and made Gtk
95         dependant on GLib 1.1.6.
96
97         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
98         from guint16 to gint16, since sizes bigger than 32767 are not supported
99         anyways, and aritmethics with intermediate negative values are possible
100         now.
101
102 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
103
104         * gtk/gtkscrolledwindow.c:
105         implementation of GTK_POLICY_NEVER functionality, added rationales
106         on the policy and size requisition handling at the top.
107         (gtk_scrolled_window_size_request):
108         we assume a default minimum for our child's width and height
109         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
110         specified the dimension explicitely.
111         (gtk_scrolled_window_size_allocate): 
112         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
113
114         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
115         size we require (including the child).
116
117         * gtk/gtkclist.c:
118         (gtk_clist_size_request): report the real size required.
119
120         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
121
122         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
123         need to be a static variable.
124
125 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
126
127         * gtk/gtkclist.h: 
128         * gtk/gtkclist.c: 
129         * gtk/gtkviewport.h:
130         * gtk/gtkviewport.c:
131         * gtk/gtktext.h:
132         * gtk/gtktext.c:
133         * gtk/gtklayout.h:
134         * gtk/gtklayout.c:
135         * gtk/gtkwidget.h:
136         * gtk/gtkwidget.c:
137         * gtk/gtkscrolledwindow.h:
138         * gtk/gtkscrolledwindow.c:
139         s/scroll_adjustements/scroll_adjustments/
140         s/scroll_adjustments/set_scroll_adjustments/g
141
142 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
143
144         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
145         row_move.
146         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
147         emit a row_move signal
148         (real_row_move): move source_row to dest_row
149         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
150         (gtk_clist_columns_autosize): resize all columns to their optimal
151         width
152         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
153         entire sub-tree.
154         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
155
156 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
157
158         * configure.in
159         * gdk/Makefile.am
160         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
161         Separate vars for each, for granularity.
162
163 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
164
165         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
166         values.
167
168 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
169
170         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
171         allow them to be shared, mainly including (but not limited to) the
172         GtkTypeInfo structures for each class.
173
174         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
175
176 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
177
178         * gtk/gtksignal.c:
179         Surround debug variable with #ifdef to silence gcc.
180
181         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
182         Added initializer to quiet gcc warning.
183         Added assertion to check for null pointer deref.
184
185 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
186
187         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
188         system specific includes.
189
190         * gtk/gtksignal.c: asured that stop and restart emissions are also
191         checked and processed for not connected objects. fixed up restart
192         emission administration. invoke emission hooks after emission, hooks
193         are not supposed to muck around with the current emission, and
194         may also not cause emission restarts. fixed up stop emission
195         administration.
196
197 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
198
199         * gtk/testgtk.c: added an event watcher for enter/leave based on
200         signal emission hooks.
201
202         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
203         GTK_RUN_NO_HOOKS signal.
204
205         * gtk/gtksignal.h: 
206         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
207         to a signal with gtk_signal_add_emission_hook or
208         gtk_signal_add_emission_hook_full, and can be removed again with
209         gtk_signal_remove_emission_hook.
210
211         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
212         an appropriate mask for signal runtypes for a long time now.
213         added GTK_RUN_NO_HOOKS value, which is used to flag signals
214         that do not allow the running of signal hooks.
215
216 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
217
218         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
219         argument a gint: switch_page signal delivers valid page numbers
220         again.
221
222 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
223
224         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
225         set composite names.
226
227         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
228         check, people must use gtk_type_init().
229         fixed up type allocation for foreign fundamentals.
230
231         * gtk/gtkwidget.h: 
232         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
233         for internal use by containers, that want to assign specific composite
234         names to their composite children.
235         added gtk_widget_get_composite_name() which will return a newly
236         allocated string, containing the composite name of a widget. valid
237         composite names can only be retrived from widgets that have a parent
238         assigned and are flagged as GTK_COMPOSITE_CHILD.
239
240         * gtk/gtkcontainer.h:
241         * gtk/gtkcontainer.c: added a new function
242         gtk_container_child_default_composite_name() which will return a
243         newly allocated string, holding the composite name of a containers
244         child. a default implementation is provided which will compose the
245         composite name out of the widgets type and its sequential children
246         id. this implementation can be overidden through a new class function
247         *(composite_name)().
248
249 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
250
251         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
252         expose_event handler - we had two expose_event
253         handlers!
254
255 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
256
257         * gtk/gtkscrolledwindow.h: 
258         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
259         it inherits from GtkBin now.
260
261         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
262         visibility of child.
263         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
264         added check so a child gets only drawn if it's visible.
265
266         * gtk/gtkwidget.h: 
267         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
268
269         * gtk/gtkstyle.h: 
270         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
271
272         * gtk/gtkwidget.h: 
273         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
274         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
275
276         * gtk/gtkrc.h:
277         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
278         argument, changed callers.
279
280         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
281         it will issue a warning now.
282
283         * gtk/gtkcompat.h: new file to #define aliases for historic
284         function names.
285
286         * changed 8 function names for consistency and provided aliases to keep
287         source compatibility in gtkcompat.h:
288         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
289         (gtk_container_set_border_width): renamed from gtk_container_border_width
290         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
291         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
292         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
293         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
294         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
295         (gtk_window_set_position): renamed from gtk_window_position
296
297         * renamed a few recently added funtions for consistency:
298         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
299         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
300         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
301
302 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
303
304         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
305         check for existing viewport first, and don't add one if there
306         already is one
307
308 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
309
310         * gtk/gtkwidget.h: 
311         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
312         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
313         and gtk_widget_unlock_accelerators.
314
315         * gtk/gtklayout.h:
316         * gtk/gtklayout.c: implemented incremental freezing facility.
317
318         * gtk/gtktext.h: 
319         * gtk/gtktext.c: implemented incremental freezing facility.
320
321         * gtk/gtkenums.h:
322         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
323
324         * gtk/gtkentry.h:
325         * gtk/gtkentry.c:
326         deprecated gtk_entry_adjust_scroll().
327         
328         * random GtkType, macro and indentation fixes.
329
330 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
331
332         * gtk/gtkclist.h: 
333         * gtk/gtkclist.c: implemented incremental freezing facility, added
334         a new class member (*refresh)() which takes over the thaw
335         functionality. the clist FROZEN flag got removed on the way.
336         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
337         and incremental freezing.
338
339         * gtk/gtkcalendar.c: implemented incremental freezing facility.
340
341 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
342
343         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
344         it still includes the core pointer in gdk_input_devices even
345         if the XInput extension is not present in the X server.
346
347 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
348
349         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
350         get the source widget of a drag.
351
352         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
353         to restrict certain targets to the same widget or to
354         the same application.
355
356         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
357         
358 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
359
360         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
361         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
362         instead of GTK_TYPE_POINTER in signal definitions.
363         (patch from James Henstridge <james@daa.com.au>)
364
365 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
366
367         * gtk/gtkclist.c (set_cell_contents)
368         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
369         if auto.resize == TRUE
370
371         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
372         don't draw tab, if show_tabs == FALSE
373         (bug reports from Alexis Mikhailov / Dave Cole)
374         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
375         the focus rectangle, not the hole tab.
376
377 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
378
379         * gtk/gtkclist.h: 
380         * gtk/gtkctree.h: 
381         * gtk/gtkclist.c:
382         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
383         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
384
385         * gtk/maketypes.awk: changed underline substitution, so we get
386         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
387         * gtk/makeenums.pl: likewise.
388         * gtk/gtkctree.c: adapted type names accordingly.
389
390 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
391
392         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
393
394         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
395         some code duplication.
396
397         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
398         and child widgets when scrolling greater than 32k pixels.
399
400         * testgtk.c: Modified layout test to test scrolling over 
401         long distances.
402
403 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
404
405         * gtk/gtklayout.[ch]: Fixed up copyright message.
406
407         * gdk/gdkrgb.c (DM): Make the dither matrix constant
408         so it can be shared.
409
410         * gtk/gtkdnd.c: Make cursor bitmaps const.
411
412         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
413         gdk_pixmap/bitmap_create_from_data.
414
415 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
416
417         * docs/Changes-1.2.txt: added a section on scrolled windows and
418         scrollable widgets.
419
420 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
421
422         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
423         buttons when setting relief for button items.
424         (gtk_toolbar_set_button_relief): Same.
425
426 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
427
428         * gdk/Makefile.am, gtk/Makefile.am:
429         Removed DEFS "+=" mess that breaks recent automakes.
430         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
431
432         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
433         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
434         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
435         gtk/testthreads.c:
436         Include "config.h" instead of "../config.h".
437         Now that DEFS works again, automake will automatically pass us
438         the location of config.h in -I.
439
440 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
441
442         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
443         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
444
445         Added layout widget for scrolling arbitrarily big areas.
446         Added plug/socket widgets for interprocess embedding.
447
448         These widgets still, at some point, need to be
449         made more pure in their use of GDK, as opposed
450         to raw X.
451
452         * gtk/testgtk.c: Added test for layout widget.
453         
454 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
455
456         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
457         Brandon Long <blong@fiction.net> - do the right thing with first
458         and last, which are the absolute values of row arguments row1
459         and row2.
460
461 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
462
463         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
464         default adjustment (from 0 to 100) instead. I'm not sure if this
465         is the correct level for the fix, but gtk_progress_bar_new()'s
466         original default behavior is restored.
467
468 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
469
470         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
471         we can check for latest GTK features.
472
473 1998-11-23  Havoc Pennington  <hp@pobox.com>
474
475         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
476         (gtk_toolbar_insert_element): When setting relief, also affect
477         toggle buttons.
478
479 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
480
481         * gtk/gtkobject.h: remove extraneous comma
482
483 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
484
485         * gtk/gtkcontainer.c:
486         (gtk_container_add_with_args): 
487         (gtk_container_addv): 
488         (gtk_container_add): removed assertements for constructed containers
489         again, since this essentially breaks the "child" arg.
490
491         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
492         reference count, we don't need to reference toplevels that already have
493         destroy notifiers.
494
495         * gtk/gtkscrolledwindow.c: check for the composites existance in
496         _forall since we might not be already constructed.
497
498 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
499
500         * Released GTK+ 1.1.5
501
502         * configure.in: require GLib 1.1.5
503
504 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
505
506         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
507         2 * hadj.
508         (gtk_text_finalize): only unref the current_font if we have
509         been realized.
510
511 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
512
513         * configure.in:
514           INSTALL:
515           NEWS:
516           README:
517           gtk+.spec:
518           docs/gtk-config.1: Version incremented to 1.1.5
519
520 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
521
522         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
523         ::text_yalign, ::activity_mode.
524
525         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
526         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
527         ::activity_blocks.
528         (gtk_progress_bar_new):
529         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
530         (gtk_progress_bar_construct): deprecated.
531
532         * gtk/gtkvscrollbar.c:
533         (gtk_vscrollbar_draw_step_back): 
534         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
535         gtk_paint_arrow, to be consistent with hscrollbar.
536
537         * gtk/gtktext.c
538         added construct args ::hadjustment, ::vadjustment.
539         added args ::line_wrap, ::word_wrap.
540         (gtk_text_class_init): added scroll_adjustments signal.
541         (gtk_text_new): use gtk_widget_new.
542         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
543         so we don't screw the reference counts and don't leave signals connected.
544         (gtk_text_destroy): disconnect adjustments signals.
545         (gtk_text_finalize): unref adjustments.
546
547         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
548         added args ::indent, ::spacing, ::show_stub, ::reorderable,
549         ::use_drag_icons, ::line_style and ::expander_style.
550         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
551         deprecated now.
552
553         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
554         * gtk/gtkclist.c:
555         removed ::vadjustment and ::hadjustment args, introduced
556         ::scroll_adjustments signal.
557         added ::shadow_type, ::selection_mode and ::row_height args.
558         added n_columns construct arg.
559         (gtk_clist_construct): call gtk_object_constructed().
560         (gtk_clist_set_row_height): if height is passed as 0,
561         revert to automatic height calculation.
562         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
563         signal handlers.
564
565 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
566
567         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
568         like gtk_object_new.
569         (gtk_widget_destroy): assert that we only destroy constructed widgets.
570
571         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
572         to identify args that may only be used for construction.
573         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
574         time.
575         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
576         at the end if the object is not fully constructed.
577         (gtk_object_newv): likewise.
578         (gtk_object_destroy): assert that we only destroy constructed objects.
579         (gtk_object_init): setup GTK_CONSTRUCTED from the
580         objects real klass.
581         (gtk_object_default_construct): new function to complete default
582         construction of an object by applying missing construtor args with
583         default values of 0, 0.0 or NULL.
584         (gtk_object_constructed): new function to mark an object as being
585         constructed (used from within constructors).
586
587         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
588         so it is immediatedly available for the caller.
589
590         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
591         the object initilizer (GtkObjectInitFunc takes a second arg now, the
592         real klass), and asure that object initializers may temporarily alter
593         the class pointer.
594
595 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
596
597         * gtk/testgtk.c: change all occourances of gtk_container_add (
598         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
599         for widget!=(clist, ctree, text, viewport).
600
601         * gtk/gtkcombo.c:
602         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
603         to add children to the scrolled window.
604
605         * gtk/gtkscrolledwindow.h:
606         * gtk/gtkscrolledwindow.c:
607         changed scrolled_window->viewport to scrolled_window->child, and use
608         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
609         widget, we do not create an additional viewport anymore.
610         added ::hadjustment and ::vadjustment constructor args.
611         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
612         (gtk_scrolled_window_set_hadjustment):
613         (gtk_scrolled_window_set_vadjustment): new functions that superceed
614         gtk_scrolled_window_construct.
615         (gtk_scrolled_window_construct): deprecated this function.
616         
617         * gtk/gtkhscrollbar.c:
618         * gtk/gtkvscrollbar.c:
619         * gtk/gtkhscale.c:
620         * gtk/gtkvscale.c:
621         support a constructor arg "::adjustment", and use gtk_widget_new() for
622         the widget creation.
623
624         * gtk/gtkrange.c: added ::update_policy arg.
625         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
626         a default adjustment so this function can be used for derived widgets
627         that depend on the adjustment's existance.
628         (gtk_range_destroy): disconnect the adjustment signal, so we don't
629         get called after we got destroyed, we don't destroy the adjustment
630         in here, because it might have been provided from another widget.
631
632         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
633         (gtk_viewport_destroy): same as gtk_range_destroy.
634
635         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
636
637         * gtk/gtkwidget.h: 
638         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
639         gboolean, indicating whether this widget supports activation.
640         added gtk_widget_scroll_adjustements() to set the scrolling
641         adjustments of a widget.
642
643 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
644
645         * gtk/gtkoptionmenu.c:
646         (gtk_option_menu_remove_contents):
647         (gtk_option_menu_update_contents): removed
648         gtk_container_[un]block_resize() pairs.
649
650         * gtk/gtknotebook.h: 
651         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
652         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
653         wrtie-only argument.
654
655         * *.c: made deprecated functions issue a message:
656         gtk_clist_set_border, gtk_container_block_resize,
657         gtk_container_unblock_resize, gtk_container_need_resize,
658         gtk_object_class_add_user_signal, gtk_spin_button_construct,
659         gtk_scrolled_window_construct.
660         removed non-functional functions:
661         gtk_container_disable_resize, gtk_container_enable_resize,
662         gtk_clist_set_policy.
663
664 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
665
666         * gtk/gtkbox.c (gtk_box_init): 
667         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
668         * gtk/gtkeventbox.c (gtk_event_box_init): 
669         * gtk/gtkfixed.c (gtk_fixed_init): 
670         * gtk/gtkframe.c (gtk_frame_init): 
671         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
672         * gtk/gtkpacker.c (gtk_packer_init): 
673         * gtk/gtkmisc.c (gtk_misc_init): 
674         * gtk/gtkpreview.c (gtk_preview_init): 
675         * gtk/gtkprogress.c (gtk_progress_init): 
676         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
677         * gtk/gtkseparator.c (gtk_separator_init): 
678         * gtk/gtktable.c (gtk_table_init): 
679         * gtk/gtkviewport.c (gtk_viewport_init): 
680         * gtk/gtkalignment.c (gtk_alignment_init): 
681         removed setting of the GTK_BASIC flag.
682
683         * gtk/gtkwidget.h:
684         * gtk/gtkwidget.c:
685         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
686
687         * miscellaneous GtkType and macro fixups.
688
689 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
690
691         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
692         Fixed so it at least works with window managers other
693         than Enlightenment, though it probably needs to be
694         removed altogether.
695
696 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
697
698         * gtk/gtkhandlebox.[ch]: Add shadow_type and
699         gtk_handle_box_set_shadow_type function (plus a
700         GtkHandleBox::shadow arg) to allow configuration of shadow in the
701         bin window.
702
703 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
704
705         * gtk/gtkcalendar.c: Fix for marking days from 
706           Dan Reish <dreish@izzy.net>.
707
708 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
709
710         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
711         in row_list. (from Samuel Solon <ssolon@usa.net>)
712         
713         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
714         (gtk_clist_get_column_widget): return column widget
715
716 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
717
718         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
719         that are sent to a toplevel but are not within the
720         toplevels bounds.
721
722         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
723         XdndProxy atom which proxies the drag to another window.
724
725 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
726
727         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
728         that it is not needed.
729
730 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
731         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
732           function to correctly determine gdk window position relative to
733           its "root window" - contains check for an Enlightenment
734           virtual root window.
735         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
736           gdk_window_get_deskrelative_origin to get the origin of dragged
737           handleboxes correctly. Now it works correctly with E.
738           
739 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
740
741         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
742           getting types even though we were not using real type names,
743           just the index.  This caused random crashes when more than 
744           256 types were defined.
745
746 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
747
748         * gtk/genmarshal.pl: Put output files in the current directory
749         and not in the $(srcdir) since the VPATH is ignored for built
750         sources.
751
752 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
753
754         * gtk/genmarshal.pl
755         * gtk/Makefile.am: check for unchanged autogenerated files, so
756         we don't rebuild everything just for adding a new function
757
758 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
759
760         * gtk/gtkpixmap.h
761           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
762           code thanks to GNOME stock by Eckehard Berns.  New function
763           gtk_pixmap_set_build_insensitive to provide ability to turn 
764           this off.
765
766 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
767
768         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
769         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
770         (struct _GtkNotebookPage): new flags : expand, fill, pack
771
772         * gtk/gtknotebook.h/c
773         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
774         tabs
775         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
776         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
777         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
778         (gtk_notebook_query_tab_label): new function. get tab_label widget.
779         (gtk_notebook_set_tab_label): new function. set tab_label widget.
780         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
781         (gtk_notebook_query_menu_label): new function. get tab_label widget.
782         (gtk_notebook_set_menu_label): new function. set tab_label widget.
783         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
784         (gtk_notebook_set_tab_label_packing): new function. set tab_label
785         fill, expand, fill_type
786         (gtk_notebook_query_tab_label_packing): new function. get tab_label
787         fill, expand, fill_type
788
789         (gtk_notebook_real_page_position): return logic page number
790         (gtk_notebook_search_page) search next/prev logic page
791         (gtk_notebook_update_labels): set logic page number.
792         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
793         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
794         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
795         (gtk_notebook_button_press) (gtk_notebook_key_press)
796         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
797         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
798         use gtk_notebook_search_page
799         (gtk_notebook_page_allocate): fixed allocation bug
800         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
801         (gtk_notebook_init): unset GTK_NO_WINDOW flag
802         (gtk_notebook_size_request): check whether page->child is visible.
803         changes due to tab h/vborder, homogeneous tabs
804         (gtk_notebook_paint): don't draw invisible tabs
805         (gtk_notebook_switch_page): calculate page_num if it's less than 0
806         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
807         (gtk_notebook_insert_page): removed sanity checks
808
809         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
810
811 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
812
813         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
814         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
815
816         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
817         broken. (GtkWidget's default unmap handler should work fine).
818         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
819
820 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
821
822         * gtk/gtkmenubar.[ch]: added shadow_type setting and
823         gtk_menu_bar_set_shadow_type function to allow shadow
824         configurability for menubars
825
826         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
827         guint
828
829 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
830
831         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
832         class creation and parent class' object initializer.
833
834 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
835
836         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
837         have assigned it to the window -- there is no point in keeping it around.
838         (gtk_paned_unrealize): No need to destroy the cursor here.
839
840         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
841         it is not needed.
842
843 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
844
845         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
846         (gtk-blizzard-981005-0. 
847          Christopher Blizzard <blizzard@applied-theory.com)
848
849         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
850         gdk_pixmap_foreign_new to gdkx.h.
851
852 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
853
854         * gtk/Makefile.am: Added rules to generate an empty
855         GTK+ theme called "Default" upon installation.
856         
857         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
858         of fonts and fontsets. 
859         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
860
861         * gtk/gtkmain.c: Change test to detect glibc's
862         utf8 based mb* functions to be more specific.
863
864         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
865         cleanups.
866
867 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
868
869         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
870         show event_window
871         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
872         event_window if draw_indicator is set
873         (gtk_toggle_button_set_mode):
874
875 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
876
877         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
878         ensure proper type (SunPro cc complains)
879
880         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
881
882         * gtk/gtktogglebutton.c: use our own draw method so we get proper
883         redraws on active state
884
885 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
886
887         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
888         defines.
889
890         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
891         GTP_POS_RIGHT
892
893 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
894
895         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
896         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
897         added ARG_WINDOW_PLACEMENT
898
899         * gtk/gtkclist.c (size_allocate_columns): resize column if column
900         button > column width and auto_resize is set
901         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
902         consider column button width of auto resized columns
903         (gtk_clist_parent_set): removed 
904
905         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
906         (auto_resize_columns): auto_resize all columns
907         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
908         (column_auto_resize): respect column button width of auto resized
909         columns
910
911 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
912
913         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
914         we can check for latest GTK features.
915
916 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
917
918         * gtk/gtkenums.h : new enum GtkCornerType 
919         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
920         window_placement.
921         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
922         new method to set window_placement.
923         (gtk_scrolled_window_viewport_allocate)
924         (gtk_scrolled_window_size_allocate): few changes due to
925         window_placement.
926         * gtk/testgtk.c (remove_selection): fixed while loop.
927
928 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
929
930         * gtk/gtkclist.c: check if column[i].button is valid before calling
931         gtk_widget_intersect on it in gtk_clist_draw
932
933         * gtk/gtkdnd.c: removed unused variable empty_bits
934
935         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
936
937         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
938         a boolean (thanks to Elrond for noticing this)
939
940 1998-11-07  Jay Cox  <jaycox@earthlink.net>
941
942         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
943         * gdk/gdkxid.c: declare xid_ht static
944         * examples/*/Makefile: get the link ordering right.
945
946 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
947
948         * gtk/gtkclist.c (gtk_clist_realize): Set background of
949         title button window to GTK_STATE_NORMAL instead of
950         GTK_STATE_SELECTED to avoid ugly flicker.
951
952 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
953
954         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
955         if adjustments are NULL and list size has changed
956         (gtk_clist_size_request): return real list requsition,
957         if adjustments are NULL.
958         (size_allocate_columns): use button->requisition.with, if column
959         width is not set.
960         (list_requisition_width): new function. return full list width.
961         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
962         auto create adjustments.
963         (gtk_clist_motion) (move_vertical) (move_horizontal):
964         check adjustment != NULL.
965
966 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
967
968         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
969         a clear/redraw, not just a redraw, so the focus
970         gets undrawn properly.
971
972         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
973         Chain to gtk_widget_unrealize() instead of duplicating
974         code.
975
976 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
977
978         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
979         last vestiges of old DND.
980
981 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
982
983         * gtk/gtkentry.c: Restored inner border to entries,
984         erase cursors to background image.
985
986 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
987
988         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
989         it was identical to paint_flat_box().
990
991         * gtk/gtkstyle.c: Coding style fixups.
992
993         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
994         test.
995
996         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
997         Change 'side' for paint_[box/shadow]_gap and paint_extension
998         to be GtkPositionType instead of a random int.
999
1000         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
1001         "frame" as detail - an aspectframe should draw identical
1002         to a frame.
1003
1004 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
1005
1006         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
1007         from combine_child_shapes().
1008
1009         * gdk/gdkwindow.c: Merge propagate_shapes() and
1010         propagate_combine_shapes() to remove code duplication.
1011
1012 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
1013
1014         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
1015         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
1016         So allocate some mem if it's not already done.
1017
1018         * clist scrollbar merges from HEAD
1019
1020 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
1021
1022         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
1023
1024         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
1025         of 0x80000000, so we stay within the bounds of a postive signed
1026         int (it broke some compilers)
1027
1028         * gtk/gtkmenushell.c
1029         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
1030         when some of the menuitems are hidden
1031
1032         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
1033         care of that
1034
1035         * gtk/gtkwidget.c: add a dummy continue after the line label
1036         next_rect, since some compilers don't like label: }
1037
1038 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
1039
1040         * Okay, so we need the X11R6 keysyms so programs don't have to
1041         worry about them. They don't conflict anyway. Reverted the #ifdef
1042         changes to gtk/*.c
1043
1044         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
1045         special rule for them (X-derived-headers)
1046
1047 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
1048
1049         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
1050         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
1051         portable, and we really shouldn't be using awk anyway.
1052
1053         * makecursors.awk
1054         * makekeysyms.awk: bye bye
1055
1056         * gtk/gtkaccelgroup.c
1057         * gtk/gtkclist.c
1058         * gtk/gtknotebook.c
1059         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
1060
1061 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
1062
1063         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
1064         and gdkkeysyms.h. Remove those files from CVS.
1065
1066 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
1067
1068         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
1069         of the USE_XIM #ifdef
1070
1071         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1072         even with --include-deps. Slightly different from timj's fix, to avoid
1073         circular dependency with gtkmarshal.c
1074
1075         * autogen.sh
1076         * gtk/gtkclist.[ch]
1077         * gtk/gtkctree.c
1078         * gtk/gtkfontsel.[ch]
1079         * gtk/gtklist.c
1080         * gtk/gtklistitem.c
1081         * gtk/gtkobject.[ch]
1082         * gtk/testgtk.c: merges from HEAD
1083
1084         * gtk/gtkmenubar.c
1085         * gtk/gtkradiomenuitem.c
1086         * gtk/gtktreeitem.c: cleanups
1087
1088 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
1089
1090         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
1091
1092 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
1093
1094         * configure.in: AIX has libpthreads, to make sure you can have
1095         more than one thread. Also add -D_THREAD_SAFE, and reorder
1096         configure.in so CFLAGS doesn't get clobbered when we actually
1097         want to modify it
1098
1099         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
1100         in gdk_image_get
1101
1102         * gtk/testdnd.c: removed unused variable "buf"
1103
1104 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
1105
1106         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
1107         remove_link(), not remove()
1108
1109 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
1110
1111         * gdk/gdkrgb.c: use glib endian stuff
1112
1113         * configure.in: don't need to check for endianness anymore
1114
1115         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
1116
1117 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
1118
1119         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
1120         all toplevel widgets, not toplevel windows. (I.e.,
1121         plugs should be reset)
1122
1123         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
1124         _do_ need to notify the other toplevels - by the time
1125         the get the client messages, the RC file dates will
1126         have been updated.
1127
1128         * gtk/gtkcontainer.h: Added a function call to list
1129         every toplevel widget.
1130
1131         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
1132         Don't send client messages to _every_ window on display!
1133         
1134 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
1135
1136         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
1137         when dragging across widgets, only in drags
1138         starting in widget.
1139
1140 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
1141
1142         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
1143         Emit "drag_end" signal at end of drag.
1144
1145 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
1146
1147         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
1148         for "gtk-embedded" data currently set by 
1149         GtkSocket, and use that to forward client message
1150         on to embedded windows. Only reset our own toplevel -
1151         the others will handle themselves. (Now that
1152         GtkMenus live in GtkWindows)
1153
1154 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
1155
1156         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
1157         client window finding code so that it works with
1158         WM's other than fvwm.
1159  
1160 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
1161
1162         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
1163         the "GtkDrawWindow" class, which is a descendent
1164         of the Window class which leaves its background alone.
1165         Essentially, a toplevel drawing area, though it does
1166         allow adding a child.
1167
1168 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
1169
1170         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
1171         merging RC styles. Report new share/themes path for
1172         themes directory. Deref theme engines when appropriate.
1173
1174         * gtk/gtkclist.c: Set all backgrounds in _style_set().
1175         Make sure that pixel for xor_gc is never 0.
1176
1177         * gtk/gtkctree.c: Choose colors for plus/minus more
1178         carefully, in a hopefully style-independent fashion.
1179         (Still needs a bit more work)
1180
1181         * gtk/gtkwidget.c: Don't send expose events to widgets
1182         which are about to be resized and redrawn. (Needs a
1183         bit more thought.)
1184
1185         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
1186         drawing on tabs for newly allocated, un-sized
1187         pages - we'll get the size wrong.
1188
1189 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
1190
1191         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
1192         up stupidities in last commit.
1193
1194 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
1195
1196         * gtk/gtkwidget.c: When handling queued resizes, account
1197         for handleboxes, where the widget heirarchy is different
1198         than the window heirarchy by just queueing a resize on
1199         the entire handlebox if the detached child is changed.
1200
1201         - Remove widgets from the redraw queue when reparenting,
1202         even if not unrealizing. We queue a resize/redraw in
1203         any case.
1204
1205 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
1206         * gtk/gtkstyle.c: added check to see if the widget has been shaped
1207         byt the app via gtk_widget_shape_combine_mask and if it has does
1208         not reset the shape on theme change.
1209         
1210 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1211
1212         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1213         want to stat the entries (like /afs), and assume everything in
1214         those directories is a subdirectory.
1215
1216         - When following a path, try to open components even when
1217         we don't find them in their parent's directory to
1218         support automounters.
1219
1220 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
1221
1222         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
1223         now at least compiles again.
1224
1225         * gdk/gdk.c (gdk_event_translate): Don't pass events
1226         on destroyed widgets to the gdk_input layer.
1227
1228 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
1229
1230         * gtk/gtkthemes.c: Use g_module instead of dlopen()
1231
1232 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
1233
1234         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
1235         if we've changed widgets since the expose event
1236         was queued.
1237
1238 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
1239
1240         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
1241         to restore approximate bin compatibility with the
1242         non-themes branch. (This does break bin compat
1243         within the themes branch.)
1244
1245 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
1246
1247         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
1248         gdk_window_clear_area() that snuck in with the
1249         menu underlines merge.
1250
1251 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gtk/gtktext.c: Fixed some remaining background drawing,
1254           merges from main branch, cleanups.
1255
1256 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
1257
1258         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
1259           dereference NULL focus tab.
1260
1261         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
1262           functions since we need to both show/hide and 
1263           queue a redraw. (There's some duplication of drawing here, 
1264           we probably should only be queuing a redraw on the
1265           "value" portion of the scale.)
1266
1267 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
1268
1269         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
1270           into the theme-drawing framework. We do this by making them,
1271           like check/radio-buttons, no-window widgets with subwindows. We
1272           then move the value by calling gtk_widget_queue_clear() and only
1273           redraw the value in our draw() / expose() handler.  A virtual
1274           function clear_background is added which queues a clear on the
1275           "background" portion of the widget.
1276
1277 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
1278
1279         * gtk/gtktext.c (mark_bg_gc): Make background colors work
1280           again. (We can't always paint the background with a
1281           paint() function - only do that for selected text)
1282
1283 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
1284
1285         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
1286           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
1287
1288         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
1289           the themes can't be built as part of the same build since
1290           they depend on gdk_imlib.
1291
1292 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
1293
1294         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
1295           from gtkthemes.c.
1296                 
1297         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
1298           gtk/
1299
1300           - Upgrade to libtool-1.2b + patch to add shared library dependencies
1301             for Linux. (Needs to be extended to other platforms where they
1302             are safe)
1303
1304          - Check for -ldl so this branch should build on all platforms, though
1305            themes will work on all platforms they could work on.
1306
1307          - Use -version and -release simultaneously: sonames stay as they are
1308            in the current scheme, but -lgtk-1.1 changes to -lgtk.
1309
1310          - Added in extra -l flags to library LDFLAGS so we get shared library
1311            dependencies against X libs and -ldl. (But not libgtk against 
1312            libgdk or libglib yet, since dependencies against uninstalled
1313            libraries aren't portable)
1314
1315 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
1316         * gtkrc.c - added api calls to find module and theme paths from gtk.
1317           nuked gtk_install_prefix global.
1318         
1319 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1320         * fixed gtk_install_prefix global.
1321           
1322 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
1323         * added gtk_install_prefix global const variabel to find where gtk is
1324           installed.
1325           
1326 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1327         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
1328           gtk theme engines
1329         
1330 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1331         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
1332
1333 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
1334         * Fixed minor problem in gtkhandlebox.c with drawing, and some
1335           notebook stuff. Also pixmap theme is now "clean" again.
1336           
1337 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1338         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
1339           queued area resizing once more.
1340
1341 Mon Aug 10 23:09:30 EDT 1998
1342         * Added a few drawing fixes for notebook and other widgets. finished
1343           pixmap theme up to the level that can be supported so far. (need to
1344           add path discovery 9ie where is the rc fiel from - add to pixmap 
1345           path so we can get theimages from there too). then we can package 
1346           themes. After that need to add to theme seartch path stuff in users 
1347           home dir.
1348           
1349 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
1350
1351         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
1352           drawing area, draw in an expose handler.
1353
1354         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
1355           empty current page.
1356
1357 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
1358
1359         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
1360           creation of GC's so that they will be set before
1361           they are used for map events (why are they used there?)
1362
1363         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
1364           be queued in multiple times in the queue.
1365
1366 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
1367
1368         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
1369           clip rects (or do anything) for shadow_none.
1370
1371 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
1372
1373         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
1374           Yes, it was needed. draw() and expose() are _not_
1375           identical.
1376
1377 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
1378         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
1379
1380 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1381         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
1382           more baby oooh yeah more more MORE YES YES.
1383
1384 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1385         * hopefully fixed problem wiht togglebuttons acting like
1386           radiobuttons in gtktogglebutton.c
1387
1388 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1389         * fixed another drawing buglet in the frame drawing code (actually
1390           in the clearing code but anyway in gtkstyle.c)
1391
1392 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1393         * Fixed warning from colorsel widget...
1394
1395 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1396         * Fixed defautl drawing code to no longer clobber the original style
1397           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1398           help with this.
1399
1400 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1401
1402         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1403
1404         * gtk/gtktooltips.c: Pass a widget (the window) to the
1405           drawing function instead of the GtkTooltips.
1406
1407 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1408
1409         * gdk/gdkwindow.c: Abstract out checking for shape
1410           extension into a function.
1411
1412         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1413           Remove extra callls to gtk_window_draw().
1414
1415 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1416
1417         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1418
1419         * themes/th_main.c: Moved messages around so they are
1420           printed before destroying strings.
1421
1422 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1423
1424         * gdk/gdk.c: Fairly simple implementation of expose compression.
1425           (No GraphicsExpose compression yet, always compress
1426           with the equivalent of XtCompressMultiple - no compression
1427           of Expose events across non-Expose events)
1428         
1429         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1430           Find rectangle bounding two rectangles.
1431
1432         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1433           in gdk_default_draw_shadow()
1434         
1435 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1436         * Fixed drawing functions to handle switching themes on the fly 
1437           gracefully and look decent.
1438           
1439 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1440         * Added all the theme drawing code to all widgets, fixed up minor
1441           nigglies in some widgets when it comes to themes, seem to be
1442           running into some funky behavior with clipping rects in GC's. Too
1443           many files to list here. (all files that now use gtk_paint_* are
1444           affected).
1445
1446 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1447
1448         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1449           Set up the demo theme so it is loaded from the RC file.
1450
1451         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1452           bit. (use $HOME/themes/)
1453
1454         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1455           the RC file via dlopen()
1456
1457 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1458
1459         Internal handling of styles and RC styles pretty much
1460         completely reworked for Theme work.
1461
1462         * gtkthemes.[ch]: 
1463          - Added routines for virtualization of RcStyle and Style handling.
1464          - Temporary "sample" inline theme-engine. (Does nothing
1465            but print out a few messages.
1466         
1467         * gtkrc.[ch]
1468          - Made GtkRcStyle public, added flags to tell if particular
1469            colors have been set.
1470          - RC Styles are "transparent", and the final style for
1471            a widget is the composition of all matching styles
1472          - Added pointer to GtkThemeEngine, and gpointer engine_data
1473            to RC style and style.
1474          - Parse "engine" keyword, load the appropriate theme engine
1475            and call the engine's parser.
1476         
1477         *  gtkstyle.[ch]
1478          - Keep a GtkRcStyle * in styles created from Rc Styles.
1479          - Load up images from RC file at style attachment time.
1480          - Call ->engine->foo() at appropriate times.
1481          - Don't use a GCache. All incarnations for a style are
1482            just linked together in a list, depend on the RC style 
1483            code to find the existing copy.
1484
1485 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1486
1487         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1488           of partial areas. This can be done either relative
1489           to the existing windows (gtk_widget_queue_clear[_area]())
1490           or relative to the future allocation of the widget
1491           (gtk_widget_queue_draw[_area]). 
1492
1493           The initial implementation is pretty braindead, but
1494           can be improved.
1495
1496         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1497           in favor of gtk_widget_queue_clear().
1498         
1499         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1500           flags in favor of gtk_widget_queue_clear()
1501         
1502 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1503
1504         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1505           handling of partially clipped areas.
1506
1507 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1508
1509         * gtk/gtkclist.h (struct _GtkCListClass)
1510         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1511
1512 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1513
1514         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1515         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1516
1517         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1518         "hadjustment" & "vadjustment"
1519          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1520         set/get_arg functions
1521         (gtk_clist_construct): don't create/adjust scrollbars.
1522         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1523         to set h/vadjustments
1524         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1525         to query h/vadjustments
1526         (create_scrollbars): removed.
1527         (create_adjustments): replacement for create_scrollbars
1528         (gtk_clist_new): call gtk_clist_new_with_titles
1529         (gtk_clist_new_with_titles): don't warn on titles == NULL
1530         (move_horizontal): use CLAMP instead
1531         (gtk_clist_set_policy): deprecated method.
1532         use gtk_scrolled_window_set_policy instead.
1533         (vadjustment_value_changed): use clist->vadj.
1534         (adjust_scrollbars): renamed to adjust_adjustments
1535         (adjust_adjustments): former adjust_scrollbars
1536         (gtk_clist_destroy): unref adjustments
1537         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1538         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1539         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1540         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1541         (gtk_clist_set_row_height) (real_resize_column):
1542         call adjust_adjustments
1543         (gtk_clist_moveto): return if clist has no adjustments yet.
1544         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1545         Autogenerate h/vadjustments if needed.  
1546         (move_horizontal) (move_vertical): some cleanups
1547
1548         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1549         call only gtk_viewport_set_h/vadjustment and let these functions
1550         do the work.
1551         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1552         generate a new adjustment if needed
1553
1554         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1555         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1556         
1557         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1558         queue_resize if visibility of scrollbars changes
1559         (gtk_scrolled_window_remove): only call container_remove with
1560         scrolled_window->viewport automatically if viewport was autogenerated
1561         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1562         auto create a viewport only if widget does not take h/vadjustments.
1563         (gtk_scrolled_window_construct): don't generate a viewport
1564         automatically.
1565         (gtk_scrolled_window_forall): call callback with viewport in any case
1566         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1567         ARG_VIEWPORT
1568         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1569         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1570         viewport != NULL
1571
1572         * gtk/testgtk.c 
1573         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1574         in conjunction with clists/ctrees
1575
1576         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1577         in conjunction with clists
1578
1579         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1580         in conjunction with clists
1581
1582 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1583
1584         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1585         (gtk_ctree_remove_node): select focus_row if needed
1586         (cell_size_request): only get pixmap size if pixmap != NULL
1587
1588 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1589
1590         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1591         GTK_IS_WIDGET (widget):
1592
1593 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1594
1595         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1596         focus_row after a remove_row call.
1597
1598 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1599
1600         * gtk/gtkoptionmenu.c
1601         * gtk/gtkmenushell.c: make option menus work when some of the
1602         menuitems are hidden - previously, option menu would popup too
1603         high.
1604
1605 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1606
1607         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1608
1609         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1610
1611         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1612         case instead.
1613         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1614         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1615         widechar functions.
1616         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1617
1618 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1619
1620         * Released GTK+ 1.1.3
1621         
1622         * INSTALL:
1623         * NEWS:
1624         * README:
1625         * gtk+.spec:
1626         * docs/gtk-config.1: updated for v1.1.3
1627
1628         * Makefile.am
1629         * sanity_check
1630         * docs/Makefile.am: Includes new 'make release' as well as
1631           'make sanity'.  Also handles html and text creation from html,
1632           and puts them into the distribution
1633
1634         * docs/Makefile.sgml: removed, similar functionality is now in 
1635           the Makefile.am file
1636
1637         * docs/.cvsignore: ignore html and text directories
1638         * docs/glib.texi: removed (now in glib dist)
1639
1640 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
1641
1642         * gtk/gtklist.c (gtk_list_remove_items_internal): 
1643         free undo_un/selection, unselect list_item before disconnect
1644         signal functions
1645         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
1646         already
1647         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
1648         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
1649         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
1650         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
1651         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
1652         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
1653         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
1654         new functions. These functions are signal connected to inserted
1655         list_items, to handle key bindings and GtkItem::de/select/toggle
1656         signals.
1657
1658         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
1659         gtk_object_class_add_signals call.
1660         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
1661         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
1662         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
1663         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
1664         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
1665         removed. These functions are handled via connected
1666         gtk_list_signal_* functions now
1667
1668 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
1669
1670         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1671         even with --include-deps:
1672         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
1673
1674 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
1675
1676         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
1677         gtk_object_data_set_destroy to fit the gtkobject.h API.
1678
1679         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
1680         * gtk/gtkfontsel.h:
1681         * gtk/gtkfontsel.c:
1682         Added support for an extra 'base' filter which an application can
1683         set to restrict the fonts available to the user (e.g. a terminal
1684         program only wants the user to be able to select fixed-width fonts).
1685         The type of font (bitmap/scalable/scaled bitmap) is now
1686         also a part of the filter, so that an application can
1687         request that only scalable fonts are shown.
1688         There are new functions to set the base & user filters.
1689         I've also stopped the up/down key press signals getting
1690         to the clists since the font selection widget handles
1691         them itself. It acted a bit strangely before.
1692
1693 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
1694
1695         * gtk/gtkmain.c (gtk_init): support an environment variable
1696         GTK_MODULES= which takes a colon sperated list of module names
1697         automatically loaded at gtk_init() startup.
1698
1699 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
1700
1701         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
1702
1703 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
1704
1705         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
1706         is sufficient
1707
1708 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
1709
1710         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
1711         columns
1712
1713 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
1714
1715         * gtk/gtkfilesel.h: GtkType and macro fixups
1716         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
1717         for the file selection widget to try a completion on (set the
1718         initial filter).
1719
1720 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
1721
1722         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
1723         slight speed improvement and lessens code duplication.
1724
1725 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
1726
1727         * gtk/gtkdnd.c: Always send "drag_leave" to dests
1728         without GTK_DEST_DEFAULT_MOTION. 
1729
1730 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
1731
1732         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
1733         on destroyed windows so we clear the XID table properly.
1734         Finish up restructure of return value handling that
1735         was half-done before.
1736
1737 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
1738
1739         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
1740         the window tree more comprehensively, so that we find
1741         client windows hidden under non-toplevels.
1742
1743 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
1744
1745         * gtk/gtkselection.c (gtk_selection_data_set): 
1746         Maintain the null-termintation guarantee, even when 
1747         data = NULL, length = 0. (Warn on data = NULL, 
1748         length > 0)
1749
1750 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
1751
1752         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
1753         into function prototype for drag_data_received. 
1754
1755 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
1756
1757         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
1758
1759 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
1760
1761         * gtk/gtkclist.c: rearranged some functions
1762         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
1763         flag of column
1764         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
1765         (gtk_clist_set_border): deprecated function, use
1766         gtk_clist_set_shadow_type instead.
1767         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
1768         (adjust_scrollbars): some cleanups
1769         (select_row) (unselect_row): removed. replaced by equivalent
1770         gtk_signal_emit calls
1771         (add_style_data): removed, use gtk_clist_style_set instead
1772         (gtk_clist_style_set): fill in size data, after style was set. 
1773         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
1774         (gtk_clist_set_cell_style): auto_resize columns if needed
1775         (column_auto_resize): resize column if needed for auto_resize 
1776         (real_clear): disable auto_resize while list destroy
1777         (resize_column): removed
1778
1779         * gtk/gtkctree.c : (gtk_ctree_remove_node)
1780         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
1781         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
1782         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
1783         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
1784         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
1785         auto_resize columns if needed
1786         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
1787         (real_clear): disable auto_resize while processing the tree
1788
1789         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
1790         for one column
1791
1792 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
1793
1794         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
1795         typo - look for right atom on transfer failures.
1796
1797 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
1798
1799         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
1800         for drag_data_get to match the use that was being
1801         made of it everywhere else...
1802
1803 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
1804
1805         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
1806         mechanism, that is used for the DND messages.
1807
1808           Removed all the old DND code.
1809
1810         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
1811         get the visual of a given colormap.
1812         
1813         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
1814         a color-swatch.
1815
1816         * gdk/gdk.h gdk/gdkdnd.c: The low-level
1817         X oriented portions of drag and drop protocols.
1818         Sending and receiving client messages, and navigating
1819         window trees.
1820
1821         * gdk/gdkimage.c: added a gdk_flush() when destroying
1822         SHM images to hopefully make it more likely that
1823         X will gracefully handle the segment being destroyed.
1824
1825         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
1826         DND debugging flags.
1827
1828         * gtk/gtkeditable.[ch]: Updates for the selection handling
1829         changes.
1830         
1831         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
1832         refcounted data structure for keeping track of lists
1833         of GdkAtom + information. Removed selection_handler_add
1834         in favor of a "drag_data_get" signal.
1835
1836         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
1837         dependent) parts of the DND protocols, display of drag icons,
1838         drag-under highlighting, and the "default handlers".
1839
1840         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
1841         windows that are used for reliable pointer grabs and
1842         selection handling in the DND code.
1843
1844         * gtk/testdnd.c: New test program for new DND. (Old
1845         DND tests in testgtk still need to be converted.)
1846
1847         * gtk/testselection.c: Use the new selection API.
1848         
1849         * docs/dnd_internals: Start at describing how
1850         all the new code works inside.
1851
1852         * docs/Changes-1.2.txt: New file describing source-incompatible
1853         changes in GTK+-1.2.
1854
1855 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
1856
1857         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
1858         the right list node.
1859
1860         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
1861         to the XID table so we can receive events on it.
1862
1863 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
1864
1865         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
1866         to get the timestamp from a generic event.
1867
1868 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
1869
1870         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
1871         that safely adds additional events to a widget's event 
1872         mask, even if the widget has previously been realized.
1873         (We can do this, but not remove events from the event
1874          mask).
1875
1876 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
1877
1878         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
1879         for AnyPropertyType.
1880
1881 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
1882
1883         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
1884         hashing.
1885
1886 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
1887
1888         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
1889         isn't a timestamp.
1890
1891 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
1892
1893         * gdk/gdk.c (gdk_event_translate): Removed printing
1894         of unknown window lookup warnings. (Made it
1895         a GDK_NOTE) - they happen in many circumstances.
1896
1897 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
1898
1899         * Call XFilterEvent() on events we get for unknown
1900         windows, since it may be the window Xlib uses to
1901         communicate with the IM. 
1902         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
1903
1904 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1905
1906         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1907         the adjustment.
1908
1909 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
1910
1911         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
1912         message for return_value + GTK_RUN_FIRST.
1913
1914 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
1915
1916         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
1917         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
1918
1919 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
1920
1921         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
1922         styles of inserted row
1923         (change_style): change style of focus_row
1924
1925         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
1926         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
1927         to set/get row/cell styles.
1928         (gtk_clist_realize): attach row and cell style, allocate row colors.
1929         (gtk_clist_unrealize): detach row and cell styles.
1930         (get_cell_style): new function. get correct cell style.
1931         (draw_cell_pixmap): new function. 
1932         (draw_row): draw cells with row or cell styles.
1933         (row_new): set cell and row styles to NULL.
1934         (row_delete): detach & unref cell and row styles.
1935
1936         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
1937         new functions to attach/detach styles and allocate colors.
1938         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
1939         styles of invisible nodes.
1940         (draw_cell_pixmap): new function. 
1941         (get_cell_style):  new function. get correct cell style.
1942         (gtk_ctree_draw_expander): new function. draw tree expander.
1943         (gtk_ctree_draw_lines): new function.draw tree lines.
1944         (draw_row): draw cells with row or cell styles.
1945         (row_new): set cell and row styles to NULL.
1946         (row_delete): detach & unref cell and row styles.
1947         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
1948         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
1949         Analogons of GtkCList functions 
1950         (gtk_ctree_set_spacing): new function. set spacing between
1951         tree expander and cell contents
1952         (gtk_ctree_set_expander_style): new function. set expander style
1953         of ctree.
1954         (ctree_is_hot_spot): few changes due to draw_row modifications.
1955
1956 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
1957
1958         * gtk/gtkcombo.c: try completion on MOD1-TAB.
1959         Handle case when the combo->list is empty.
1960
1961 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
1962
1963         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
1964         handlers that have not yet been disconnected (finally managed to
1965         trigger the gtk_signal_handler_unref() paranoid warning).
1966
1967 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1968
1969         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
1970         width and height which is -1 and not -2.
1971
1972 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
1973
1974         * HACKING
1975         * autogen.sh: we need libtool 1.2b now
1976
1977 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1978
1979         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
1980         and bottom attach arguments as mandatory and readjust the table size
1981         and opposing edge accordingly if required. this way the order in which
1982         the arguments are set doesn't matter.
1983
1984 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
1985
1986         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
1987         message to print out parent class name correctly.
1988
1989 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
1990
1991         * gtk/gtkobject.h: 
1992         * gtk/gtkobject.c:
1993         removed functions gtk_object_set_data_destroy and
1994         gtk_object_set_data_destroy_by_id.
1995         added functions gtk_object_remove_no_notify and
1996         gtk_object_remove_no_notify_by_id which will remove a certain data
1997         portion without invokation of its destroy notifier, this should only
1998         be used in very controled circumstances.
1999
2000 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
2001
2002         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
2003         size_allocate_title_buttons call
2004         (gtk_clist_realize): changed initial column.window position
2005
2006 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
2007
2008         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
2009         xor_gc instead
2010         * gtk/gtkctree.c (create_xor_gc): removed
2011         (gtk_ctree_button_press): set correct line_attributes for
2012         clist->xor_gc on drag start
2013         (gtk_ctree_button_release): reset clist->xor_gc
2014
2015 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
2016
2017         * gtk/gtk*.h:
2018         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
2019         which were in place to fixup emacs' cc-mode indentation.
2020         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
2021         proper way to achive this and doesn't produce problems for
2022         stupid pragma-related compiler bugs. ;)
2023
2024 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
2025
2026         * gtk/gtkclist.h: new signal GtkCList::resize_column.
2027         * gtk/gtkclist.c (draw_row): don't draw invisible columns
2028         (size_allocate_title_buttons) (size_allocate_columns):
2029         skip invisible columns
2030         (new_column_width): take min/max_width into account 
2031         (gtk_clist_button_release) (gtk_clist_motion):
2032         changes due to changed new_column_width function
2033         (LIST_WIDTH): changed define to inline function.
2034         (real_resize_column): class function for resize_column signal
2035         (gtk_clist_motion): fixed autoscrolling for column resizes
2036         (gtk_clist_set_column_visibility): don't hide last visible column,
2037         changed visible arg to gboolean
2038         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
2039         new functions : set min/max width of a column
2040         (gtk_clist_set_column_resizeable): new function : enable/disable
2041         column resize operations by mouse
2042
2043         * gtk/gtkctree.c (draw_row): don't draw invisible columns
2044         (ctree_is_hot_spot): return FALSE if tree_column is invisible
2045         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
2046         tree_column is invisible
2047         (gtk_ctree_find_all_by_row_data)
2048         (gtk_ctree_find_all_by_row_data_custom):  new function from
2049         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
2050         GtkCTreeNodes with row->data == data.
2051
2052 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
2053
2054         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
2055         memory (Martin Pool <mbp@wistful.humbug.org.au>).
2056
2057 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
2058
2059         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
2060         should have been guint32. Thanks to Tristan Colgate for finding it.
2061
2062 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2063
2064         * gtk/gtkcalendar.h:
2065           gtk/gtkcalendar.c: More changes:
2066           - The day with focus is now seperated from the day selected
2067           - The day with focus has the xor's line around it
2068           - The selected day is now standard selected style
2069           - The week names and week numbers are now also drawn
2070             with selected style
2071           - Space now selects the day which has focus
2072
2073 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2074
2075         * gtk/gtkcalendar.h:
2076           gtk/gtkcalendar.c: Some significant changes, including:
2077           - No longer draw focus around entire widget, only around
2078             the day which has focus
2079           - Draw relief around entire widget like originally planned
2080           - Show header and day names by default 
2081           - Move data private to the widget out of GtkCalendar struct
2082             and only point to it with a gpointer
2083           - Remove some old unused variables from GtkCalendar struct
2084
2085 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
2086
2087         * docs/gtk_tut.sgml: update I've had sat around:
2088           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
2089           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
2090           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
2091
2092 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
2093
2094         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
2095         
2096         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
2097         Makes it possible to individually show and hide columns.
2098         (size_allocate_columns): Adapted to keep track of hidden columns.
2099         (size_allocate_title_buttons): Likewise.
2100
2101 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
2102
2103         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
2104         fundamental types, collect an argument of the type returned from
2105         gtk_type_get_varargs_type(). removed the first macro argument which
2106         was just the same as the fundamental type of the *arg passed to
2107         the macro.
2108         * gtk/gtkarg.c (gtk_args_collect): 
2109         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
2110
2111         * gtk/gtktypeutils.h: 
2112         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
2113         gtk_type_get_varargs_type() to set and query the varargs collect
2114         type used for a fundamental type, registered outside of Gtk.
2115
2116         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
2117         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
2118         GTK_TYPE_FLOAT.
2119
2120         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
2121         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
2122         to GTK_TYPE_FLOAT.
2123
2124 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
2125
2126         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
2127         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
2128         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
2129
2130         (real_tree_expand) (real_tree_collapse):
2131         don't expand/collapse a leaf
2132
2133 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
2134
2135         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
2136         segfault when looking up a non-existant value name (reported by
2137         Pablo <pcj+gtk@primenet.com>).
2138
2139 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
2140
2141         * gtk/gtkclist.h (gtk_clist_prepend):
2142         * gtk/gtkclist.c (gtk_clist_prepend): new function.
2143         (gtk_clist_insert): added g_return_val_if_fail()
2144         statements. accept a row parameter < 0 or > clist->rows to indicate
2145         append mode.
2146         (real_clear): first clean up all internal pointers and lists (e.g.
2147         clist->row_list or clist->rows), then delete the distinct rows. this
2148         is required because of destroy notifiers, we need to have all internal
2149         structures updated and be reentrant.
2150
2151         * gtk/gtkcalendar.h: 
2152         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
2153         GtkCalendarClass signal methods.
2154         GtkType and macro fixups, put `void' into () prototypes, avoid C++
2155         style comments, indentation fixes, fixed some g_return_if_fail()
2156         statements.
2157         (gtk_calendar_paint_header):
2158         (gtk_calendar_paint_day_names): 
2159         (gtk_calendar_paint_week_numbers): 
2160         (gtk_calendar_paint_main): made these static functions.
2161         (gtk_calendar_select_month):
2162         (gtk_calendar_select_day):
2163         (gtk_calendar_mark_day):
2164         (gtk_calendar_unmark_day):
2165         (gtk_calendar_get_date): signedness corrections, use guints
2166         rather than gints.
2167         (gtk_calendar_size_request): removed unused variables.
2168
2169 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
2170
2171         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
2172         widgets in the ->widgets_by_action list that have a callback
2173         defined (not only those with a callback_action!=0).
2174
2175 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2176
2177         * gtk/gtkcalendar.h:
2178           gtk/gtkcalendar.c:
2179           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
2180
2181 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2182
2183         * gtk/gtkcalendar.h:
2184           gtk/gtkcalendar.c:
2185           examples/calendar: Added gtkcalendar widget and demo
2186
2187 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
2188
2189         * gtk/gtkclist.c (gtk_clist_sort): 
2190         (gtk_clist_clear): 
2191         (gtk_clist_unselect_all): 
2192         (gtk_clist_select_all): adde g_return_if_fail() statements.
2193
2194 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
2195
2196         * configure.in: set binary age and interface age to 0.
2197
2198         * gtk/gtkspinbutton.h: 
2199         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
2200         gtk_spin_button_configure. gtk_spin_button_construct is still defined
2201         as an alias for gtk_spin_button_configure for source compatibility,
2202         but actuall use is deprecated.
2203         typeness corrections, i.e. gint->gboolean and gint->guint.
2204         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
2205         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
2206         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
2207         GtkSpinButton::adjustment, GtkSpinButton::digits and
2208         GtkSpinButton::climb_rate.
2209         GtkType and macro fixups.
2210
2211 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2212
2213         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
2214         the *real* geometry position of a window, taken possible window
2215         manager offsets into account.
2216         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
2217         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
2218         it does fail though for amiwm which adds windows to a pseudo root
2219         window, and for icewm by a small offset because it defines the
2220         geometry position whithin its border.
2221
2222         * gtk/testgtk.c: added "saved position" test to figure how
2223         gdk_window_get_root_origin() interacts with window managers (repopup
2224         this window to figure ;).
2225
2226 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
2227
2228         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
2229         interface age 1.
2230
2231         * gtk/gtkobject.c
2232         (gtk_object_ref): 
2233         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
2234         existing code was buggy in letting ->ref_count==0 pass through and
2235         then failing the living_objs_ht assertion).
2236
2237         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
2238         pixtext fields (Roman Pozlevich <roma@botik.ru>).
2239
2240 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2241
2242         * Released GTK+ 1.1.2
2243
2244 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
2245
2246         * gtk/Makefile.am: use $(PERL) instead of perl
2247         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
2248         also much faster to render.
2249
2250 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
2251
2252         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
2253         the required memory block, rather than allocating it newly from
2254         scratch and doing a full-blown block copy on it.
2255
2256 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
2257
2258         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
2259         binary age 0, interface age 0.
2260
2261         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
2262
2263 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2264
2265         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2266         work.
2267
2268 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
2269
2270         * HACKING: indent other than GNU indent should be OK
2271           now.
2272
2273         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
2274           instead of piping through indent. If indent wasn't
2275           found in ./configure don't bother indenting at 
2276           all.
2277
2278 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
2279
2280         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
2281
2282 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
2283
2284         * gtk/Makefile.am: use $(AWK) instead of awk
2285
2286 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
2287
2288         * gtk/Makefile.am (gdk_headers): 
2289         Remove references to $(top_srcdir). 
2290         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
2291         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
2292
2293 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
2294
2295         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
2296         GData*object_data to cure compiler warnings.
2297
2298 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
2299
2300         * install-sh
2301         * missing
2302         * mkinstalldirs: updated to latest automake version
2303
2304 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
2305
2306         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
2307         (gtkinclude_HEADERS): ... here.
2308         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
2309
2310 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
2311
2312         * HACKING: added GNU indent, as it is now required to successfully
2313         build gtk+. Should this be detected in autoconf, possibly?
2314
2315 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2316
2317         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
2318         change library versioning scheme to drop LT_RELEASE
2319         from the -l line, while keeping it in the soname.
2320
2321 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2322
2323         * configure.in Makefile.in: define a MAINT-like variable REBUILD
2324         which is set if Perl and awk are found, and autogenerated sources
2325         can be rebuilt. Remove the auto-generated sources from
2326         CVS. 
2327
2328         Add dependencies so that the autogenerated sources are 
2329         rebuilt if the files they depend on change. 
2330         (This unfortunately currently results in the entire
2331         gtk/ directory being rebuilt when any header changes.
2332         Moving all enums to gtkenums.h would fix this.)
2333
2334 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
2335
2336         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
2337         gtk_object_set_data_destroy_by_id functions to set the destroy
2338         function pointer for an existing data portion.
2339
2340         * gtk/gtkobject.c: removed the GtkObjectData implementation and
2341         made all gtk_object_*data* functions use the GLib equivalents.
2342
2343 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2344
2345         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
2346         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
2347         (widget != NULL), otherwise radio button insertion will not work
2348         -- the widget argument is NULL for the first radio button in the
2349         group.
2350
2351 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2352
2353         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
2354         of g_new to malloc(), added back in the one place where
2355         it actually mattered. #include <stdlib.h>.
2356
2357         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
2358
2359 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2360
2361         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2362         want to stat the entries (like /afs), and assume everything in
2363         those directories is a subdirectory.
2364
2365         - When following a path, try to open components even when
2366         we don't find them in their parent's directory to
2367         support automounters.
2368
2369 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
2370
2371         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
2372         a new size from the WM if we asked for the same size
2373         before and our request was rejected.
2374
2375         * gtk/gtkwindow.c (gtk_window_configure_event): If
2376         in response to a request, we get a configure event
2377         with unchanged dimensions, send a synthetic expose
2378         since ForgetGravity won't expose our window.
2379
2380 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
2381
2382         * gtk/gtktext.c (adjust_adj): Change the way we
2383         set the adjustments on resize so that it tries to
2384         keep the beginning of the text in approximately
2385         the same place. 
2386
2387         Removed assertion that the above change made invalid.
2388
2389 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2390
2391         * gtk/gtktext.c: - Save first_cut_pixels when switching
2392         sizes, so that if we switch to the _same_ size,
2393         we don't move lines around.
2394
2395         - Make sure that the text area always has a size of at
2396         least 1x1, then do all computations when realized.
2397
2398         - When fetching lines in recompute_geometry, make
2399         sure we fetch enough lines to cover the screen.
2400         
2401 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2402
2403         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2404           g_free()s to free()s to avoid mixing g_new()s with 
2405           free()s.  X itself uses free() on some of the 
2406           malloced memory.
2407
2408 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2409
2410         * gtkfilesel.c: Maintain a list of directories like
2411         /afs we know contain only directories, and avoid
2412         stat'ing files in those directories. (Because
2413         stat'ing all files in /afs is extremely expensive)
2414
2415         To support automounters, try to open directories,
2416         even if we couldn't find them when reading their
2417         parent directory.
2418
2419 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2420
2421         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2422         to allow the same gtk.m4 to work for 1.0.x and
2423         1.1.x.
2424
2425 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2426
2427         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2428         to set/unset the selectable flag of a single row.
2429         (gtk_clist_get_selectable): new function 
2430         to get the state of the selectable flag
2431
2432         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2433         (gtk_ctree_node_get_selectable): clist analogons
2434         
2435 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2436
2437         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2438         pattern.
2439
2440         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2441         bugs in the 4bit gray cases.
2442
2443 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2444
2445         * configure.in: added -posix check for NeXTStep
2446
2447         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2448         a unique buffer for each thread.
2449
2450         * docs/gtk-config.1: clarified copyright
2451
2452 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2453
2454         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2455
2456         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2457
2458         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2459         ATEXIT.
2460         
2461         * ltconfig: use GLib's ltconfig which honours lcc.
2462
2463 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2464
2465         * configure.in: comment the -std1 check and save LIBS properly
2466
2467 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2468
2469         * gtk/testrgb.c: #include <stdlib.h>
2470
2471 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2472
2473         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2474         When the pointer is grabbed on an input window,
2475         either explicitely, or through press-grab, and
2476         then grabbed on a non-input window, ungrab the
2477         devices.
2478
2479 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2480
2481         * gtk/gtktypeutils.h: don't include any gdk headers.
2482         added structure definitions for GtkTypeObject and GtkTypeClass,
2483         which cover the very basic fields of GtkObject and GtkObjectClass,
2484         which are actually used by the type system.
2485         
2486         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2487         we only refer to our own structures. improved class inheritance
2488         sanity checking a bit.
2489
2490         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2491         of the GtkObject and GtkObjectClass structures, which explain
2492         their relationship to GtkTypeObject and GtkTypeClass.
2493
2494         * gtk/gtktypeutils.h:
2495         * gtk/gtkobject.h:
2496         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2497         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2498         gtkobject.h to gtktypeutils.h.
2499
2500         * gtk/gtkobject.h:
2501         * gtk/gtkobject.c:
2502         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2503         functions. to keep source compatibility, we can provide macro aliases
2504         for the corresponding gtk_type_* functions. but then again, people
2505         shouldn't have been using these functions anyways since they were part
2506         of Gtk's internal API.
2507
2508         * gtk/gtktypeutils.h:
2509         * gtk/gtktypeutils.c:
2510         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2511         functions to check GtkTypeObject and GtkTypeClass types.
2512
2513 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2514
2515         * gtk/gtkctree.h:
2516         * gtk/gtkctree.c: `const' fixups.
2517
2518         * gtk/gtkclist.h:
2519         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2520
2521         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2522         if it is passed as NULL.
2523
2524 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2525
2526         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2527         big-endian cases. Added a 4bpp packed gray mode (somewhat
2528         incorrectly hardwired to MSB), which should take care of
2529         Stric's hardware.
2530
2531 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2532
2533         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2534         GtkSIgnalQuery leak.
2535
2536 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2537
2538         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2539         GTK_MENU_DIR_CHILD: check for the existance of
2540         menu_shell->active_menu_item before accessing its child.
2541         GTK_MENU_DIR_PREV:
2542         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2543         don't, make a default selection.
2544
2545 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2546
2547         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2548         the children with _forall for sensitivity changes and with
2549         _foreach on pure state changes. this fixes a lot of the
2550         old inclusions of internal widgets into _foreach calls.
2551
2552         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2553         do the work. don't walk the subtrees of first level children.
2554
2555         * gtk/gtktreeitem.c: provide a _forall implementation,
2556         which walks the subtrees as well for include_internals.
2557
2558         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2559         the submenus as well for include_internals.
2560
2561         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2562         implemented gtk_scrolled_window_forall, which will iterate over
2563         the viewport and the scrollbars for gtk_container_forall or
2564         iterate over the viewports children for gtk_container_foreach.
2565
2566         * gtk/gtktoolbar.c: 
2567         * gtk/gtktable.c: 
2568         * gtk/gtkpaned.c:
2569         * gtk/gtkpacker.c:
2570         * gtk/gtkmenushell.c: 
2571         * gtk/gtklist.c: 
2572         * gtk/gtkfixed.c:
2573         * gtk/gtkclist.c:
2574         * gtk/gtkbox.c: 
2575         * gtk/gtkbin.c: 
2576         * gtk/gtknotebook.c:
2577         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2578
2579         * gtk/gtknotebook.c:
2580         (gtk_notebook_real_switch_page): expose tabs.
2581         (gtk_notebook_page_num): new function to return the page number
2582         of a distinct child.
2583         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2584         under some circumstances.
2585
2586         * gtk/gtktreeitem.c:
2587         (gtk_real_tree_item_select):
2588         (gtk_real_tree_item_deselect): major fixes.
2589         some general fixups wrt queue_redraw, and tree items not being
2590         NO_WINDOW widgets.
2591
2592         * gtk/gtklistitem.c:
2593         (gtk_real_list_item_select): 
2594         (gtk_real_list_item_deselect): 
2595         (gtk_real_list_item_toggle): 
2596         removed unneccessary queue_redraw calls.
2597
2598 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2599
2600         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2601         automatically popup the menu on space bar.
2602
2603 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2604
2605         * gtk/gtkcontainer.h:
2606         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2607         method), which acts similar to gtk_container_foreach(), but iterates
2608         over internal children. the GtkContainer::foreach signal vanished in
2609         favour of a new class method ->forall() that optionally includes
2610         internal widgets.
2611
2612         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2613         but a _forall implementation, since all child widgets we have are
2614         internal ones.
2615         (column_button_create): set the parent window prior
2616         to gtk_widget_set_parent().
2617
2618         * gtk/gtkwidget.c:
2619         exchanged all calls to gtk_container_foreach() with
2620         gtk_container_forall().
2621
2622         * gtk/gtkwidget.h: 
2623         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
2624         the GtkWidget::composite_child argument. to have a widget created
2625         with the flag initially, two new functions got added to wrap a widgets
2626         creation:
2627         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
2628
2629 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
2630
2631         * gtk/gtktooltips.h:
2632         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
2633         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
2634         prior to the first tip being set.
2635         don't put an extra reference on the window, since it is a toplevel,
2636         it wont get destroyed from anywhere else.
2637
2638         * overall macro and GtkType fixups.
2639
2640 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2641
2642         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
2643         constructs by more forgiving ones.  (Does anyone else feel like
2644         the color selector need rewriting?).
2645
2646 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2647
2648         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2649         the adjustment.
2650
2651         * gtk/gtkmenu.c: Modified reference counting so
2652         that the reference count from the toplevel that
2653         the menu creates to the menu is invisible to the
2654         application.
2655
2656 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
2657
2658         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
2659         conversion selection logic, so Suns and other big-endian
2660         machines should get faster conv routines. This is also the
2661         point where 4bpp gray and 1bpp are checked in, although I
2662         wouldn't be surprised if 1bpp is a little buggy. This is
2663         synchronized with the 0.0.7 release of GdkRgb.
2664
2665         * gtk/Makefile.am: 
2666         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
2667         appropriate change to the Makefile.am
2668
2669 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
2670
2671         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
2672         which is good for images that scroll (makes the dither patterns
2673         align correctly)
2674
2675 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
2676
2677         * gdk/gdkcolor.c:
2678         (gdk_colormap_new) (gdk_colormap_get_system):
2679         quell some warnings with g_hash_table_new
2680
2681         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
2682         when we're done with it
2683
2684         * gtk/itemfactory.c:
2685         (gtk_item_factory_from_path):
2686         (gtk_item_factory_create_item): free some strings
2687
2688         * gtk/gtklabel.c:
2689         (gtk_label_finalize): free label->pattern when done
2690         (gtk_label_parse_uline): null terminate pattern string, delete
2691         some duplicated code
2692
2693         * gtk/testthreads.c: add #include <unistd.h> for sleep()
2694
2695 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
2696
2697         * gtk/gtktext.c (recompute_geometry): Make sure the
2698         mark we pass to line start is the beginning of a 
2699         real line, not a wrapped one.
2700
2701 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
2702
2703         * gtk/gtktext.c: Reference count the fonts used in
2704         the text widget.
2705
2706         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
2707         freeing functions to be more consistent, and more 
2708         convenient; leave the old names in for backwards compatibility.
2709
2710         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
2711         allocations in pseudo-color colormaps to greatly reduce
2712         calls to XAllocColor. Keep a per-colormap hashtable to
2713         speed up finding if there is an already-allocated matching
2714         color.
2715
2716         * gdk/gdkcolor.c: Don't just match read the system colormap
2717         when the colormap is created, but synchronize our copy
2718         with the system colormap periodically.
2719         
2720         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
2721         Change XIM constants names to match GDK conventions
2722
2723         * gtk/testinput.c: Allow the drawing area to get the focus.
2724
2725         * gtk/testgtk.c: Change around the Text test to demonstrates
2726         multiple fonts, use more colors.
2727
2728         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
2729         so they work after a widget is unrealized.
2730
2731         * gtk/gtktext.[ch]: Remove the requirement that the text
2732         widget be realized before adding text (!) Allocate colors
2733         ourself, instead of requiring the caller allocate them.
2734         Allow changing styles to work properly by keeping track
2735         of the values for a certain property are default or
2736         set explicitely.
2737
2738         * gtk/gtkmenu.h: Added some comments.
2739
2740         * gtk/gtkentry.c: Changes to match XIM constants.
2741
2742         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
2743         for adding keyed data to drawables. (Uses g_dataset
2744         internally)
2745
2746         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
2747         when creating an XPM - store them as user data for the GdkPixmap,
2748         so we don't leak colors when we create pixmaps from XPM's.
2749
2750         Allocate memory for color information in large blocks instead of 
2751         as many little pieces.
2752         
2753 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
2754
2755         * gdk/gdkrgb.c: removed some unused variables
2756
2757         * gtk/gtkclist.c
2758         * gtk/gtkmain.c: #if 0'd out some unused code
2759
2760         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
2761
2762 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
2763
2764         * gtk/gtkarg.h:
2765         * gtk/gtkarg.c:
2766         * gtk/gtkwidget.h: 
2767         * gtk/gtkwidget.c: 
2768         * gtk/gtkobject.h:
2769         * gtk/gtkobject.c:
2770         * gtk/gtkcontainer.h: 
2771         * gtk/gtkcontainer.c: 
2772         (gtk_object_new):
2773         (gtk_object_set):
2774         (gtk_widget_new):
2775         (gtk_widget_set): 
2776         (gtk_container_add_with_args):
2777         (gtk_container_child_set):
2778         begin the parameter elipsis (...) after the first argument name. this
2779         change is source compatible, since it was always required, even as NULL.
2780         (gtk_args_collect): 
2781         (gtk_object_args_collect): 
2782         (gtk_container_child_args_collect):
2783         changed prototypes to pass first_arg_name, also, pass va_list variable
2784         by value (portability concerns). callers changed.
2785
2786         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
2787         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
2788         can't pass va_list variables by reference for portability reasons.
2789
2790 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
2791
2792         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
2793         get_visual calls, so that it gets implicitly initialized.
2794
2795 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
2796         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
2797         such as GtkCTree function name changes
2798         
2799 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
2800
2801         * gtk/gtkmain.h:
2802         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
2803         binary version check, returning a static string for error descriptions,
2804         or NULL on success.
2805
2806 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
2807
2808         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
2809         computed our geometry yet, and if not, ignore the request.
2810
2811         * gtk/gtktext.c (correct_cache_insert): Fiddled around
2812         some more. All the bug-test codes seem to work at once
2813         now. (fingers crossed...)
2814
2815 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
2816
2817         * gdk/gdkrgb.c: silly visual fixes
2818
2819         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
2820         works
2821
2822 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2823
2824         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
2825         anything if the event's window is not the bin window.
2826         (gtk_handle_box_motion): Likewise.
2827
2828 1998-08-19  Raph Levien  <raph@gimp.org>
2829
2830         * gtk/testgtk.c (create_color_preview): pushed the colormap and
2831         visual so it would work better with GdkRgb.
2832
2833 1998-08-19  Raph Levien  <raph@gimp.org>
2834
2835         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
2836         4bpp static_color mode (for vga displays). Also fixed a '64' value
2837         in the dither matrix, which was causing one pixel out of 16k to be
2838         dithered wrong.
2839
2840         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
2841         most of the contents. This is an API change - any apps that relied
2842         on the internal structure of GtkPreview will need some change -
2843         most notably in the use of reserved colors. The Gimp needed
2844         changes in this regard.
2845
2846 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
2847
2848         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
2849         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
2850         --g-fatal-warnings), noticed by miguel.
2851
2852 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
2853
2854         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
2855         getcwd().
2856
2857         * gdk/gdkprivate.h:
2858         * gdk/gdkglobals.c:
2859         * gdk/gdkwindow.c:
2860         * gdk/gdk.c:
2861         * gtk/gtkwindow.c: 
2862         * gtk/gtkitemfactory.c: 
2863         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
2864
2865         * gtk/gtkselection.c:
2866         * gtk/gtkpreview.c:
2867         * gtk/gtkobject.c: 
2868         * gtk/gtkmain.c: 
2869         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
2870
2871         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
2872
2873 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
2874
2875         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
2876         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
2877         in case of show_tabs == NULL
2878
2879 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
2880
2881         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
2882         to --g-fatal-warnings again. this option now causes log levels of
2883         WARNING and CRITICAL to abort().
2884
2885         * gdk/gdk.c: 
2886         * gdk/gdkdnd.c: 
2887         * gdk/gdkcc.c: 
2888         * gdk/gdkfont.c: 
2889         * gdk/gdkwindow.c:
2890         * gdk/gdkvisual.c:
2891         * gtk/gtkwidget.c:
2892         * gtk/gtktypeutils.c:
2893         * gtk/gtktree.c:
2894         * gtk/gtkfontsel.c:
2895         * gtk/gtkmain.c:
2896         * gtk/gtkobject.c:
2897         * gtk/gtkpreview.c:
2898         * gtk/gtkselection.c:
2899         * gtk/gtktext.c:
2900         * gtk/gtktree.c:
2901         * gtk/gtktreeitem.c:
2902         did a global search&replace to substitute g_print() calls with
2903         g_message(). libraries shouldn't use printf(), g_print() or
2904         g_printerr() at all.
2905         a bunch of the replacements should probably be wrapped into the
2906         G{D|T}K_NOTE() macros, so they are special cased for debugging
2907         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
2908         things.
2909
2910         * gdk/gdkdnd.c: added copyright notice.
2911
2912 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
2913
2914         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
2915         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
2916         running a PII 233. It's synced with the 0.0.5 release of
2917         GdkRgb.
2918
2919 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
2920
2921         * gtk/gtkclist.h:
2922         (struct _GtkCListClass): new class methods:
2923         (sort_list) (insert_row) (remove_row) (set_cell_contents)
2924
2925         * gtk/gtkclist.c :
2926         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2927         removed and replaced by (set_cell_contents)
2928         (set_cell_contents): function for class method set_cell_contents
2929         (real_insert_row): function for class method insert_row
2930         (real_remoce_row): function for class method remove_row
2931         (real_sort_list): function for class method sort_list
2932         (default_compare): fix to avoid problems with cell types != CELL_TEXT
2933
2934         * gtk/gtkctree.h :
2935         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
2936         (gtk_ctree_node_is_visible): new function to return visibility state
2937         of a node
2938         (gtk_ctree_show_stub): new function to set visibility of root stub
2939
2940         renamed functions :
2941         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
2942         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
2943         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
2944         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
2945         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
2946         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
2947         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
2948         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
2949         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
2950         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
2951         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
2952         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
2953         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
2954         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
2955         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
2956         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
2957         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
2958         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
2959         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
2960
2961         * gtk/gtkctree.c :
2962         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2963         removed and replaced by (set_cell_contents)
2964         (set_cell_contents): function for class method set_cell_contents
2965         (real_insert_row): function for class method insert_row
2966         (real_remoce_row): function for class method remove_row
2967         (real_sort_list): function for class method sort_list
2968         (default_compare): removed. CTree now also compares two GtkCTreeRows
2969         instead of two GtkCTreeNodes.
2970         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
2971         unlinking the node
2972         (real_tree_expand) (real_tree_collapse): fix for refcounting of
2973         node pixmaps
2974         (set_node_info): call gtk_ctree_node_set_pixtext instead of
2975         manipulating the row itself
2976         
2977         * gtk/testgtk.c: use renamed functions of GtkCTree.
2978         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
2979         at work.
2980
2981 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
2982
2983         * gtk/gtkmain.c: removed gtk_input_add_interp.
2984
2985         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
2986         keyword.
2987         (gtk_editable_get_event_time): fix default: case.
2988
2989         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
2990
2991         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
2992
2993         * gdk/gdkcolor.c:
2994         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
2995         of our functions.
2996
2997         * various minor compilation cleanups, such as bogus commas in
2998         enums and similar things.
2999
3000 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
3001
3002         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
3003         (thanx raph).
3004
3005 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3006
3007         * NEWS: updated for 1.1.2
3008         * gtk+.spec: version = 1.1.2
3009
3010 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
3011
3012         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
3013         times. changed --gtk-with-module to --gtk-module at owen's request.
3014
3015 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
3016
3017         * gtk/gtkmain.c (gtk_init): feature a new commandline option
3018         --gtk-with-module=<module> that allows additional loading and
3019         initialization of modules (e.g. GLE).
3020
3021 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
3022
3023         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
3024         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
3025
3026         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
3027         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
3028         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
3029         different *-fatal-* arguments now. this needs to be revised and
3030         compressed to a reasonable amount of arguments.
3031
3032 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
3033
3034         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
3035         "--g-fatal-warnings" causes fatal warnings in GLib,
3036         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
3037         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
3038
3039         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
3040         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
3041
3042         * gtk/testgtk.c: 
3043         * gdk/gxid.c:
3044         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
3045         since automake doesn't support per target _CFLAGS yet.
3046
3047         * configure.in: require GLib 1.1.3.
3048
3049 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
3050
3051         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
3052         to set a callback to test if a node in drag can be dropped onto
3053         it's currrent location.
3054         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
3055         to change the pointer when a drag destination is not allowed.
3056
3057 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
3058
3059         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
3060         speeds up the 565_d case by about 25% total. Thanks Ray!
3061
3062 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
3063
3064         * Changed GtkSignalFunc back to () from (void). (again!)
3065
3066         * Added file README.cvs-commits
3067         
3068 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
3069
3070         * docs/gtk_tut.sgml:
3071           - Tidy up of the menufactory example from
3072             Andy Kahn <kahn@zk3.dec.com>
3073           - New section on Range Widgets from
3074             David Huggins-Daines <bn711@freenet.carleton.ca>
3075           - Started a new section on 'Advanced Event and Signal
3076             Handling' - used an email from Owen.
3077           - New appendix on Gdk Event Types
3078           - Added the tictactoe full example code to the
3079             'Code Examples' appendix
3080
3081 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
3082
3083         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
3084           to calculate all the metrics at once of a string, including
3085           things which weren't calculated before.
3086
3087         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
3088           MenuItem type, that when put as the first thing in a
3089           menu, makes the menu tearoff. Currently drawn as a
3090           dashed line.
3091
3092         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
3093           "hide_on_activate" to the MenuItem class structure to allow
3094           check and radio buttons to be changed with <Space> without
3095           hiding the menu.
3096
3097         * gtk/gtkitemfactory.c: 
3098           - Create a AccelGroup for each MenuShell we create.
3099           - If an '_' appears before a  character 'c' in the path,
3100             then make 'c' an accelerator in the menu's accel group,
3101             and if the menuitem is menubar <alt>C an accelerator 
3102             in the itemfactory's accel group. Double '__' inserts
3103             a literal '_'
3104
3105         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
3106           which is a string. If an '_' appears in this string,
3107           the corresponding position in the label is underlined.
3108
3109           Add gtk_label_parse_uline() convenience function which
3110           takes a string with embedded underlines, sets the
3111           pattern and label, and returns the accelerator keyval.
3112
3113         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
3114           Instead, they create a GtkWindow and add themselves
3115           to that. (When torn off, another new feature, they
3116           create another GtkWindow to hold the torn off menu)
3117
3118           New function gtk_menu_set_tearoff_state()
3119         
3120         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
3121           Added action signals  for keyboard navigation of menus.
3122
3123         * gtk/gtkmenushell.c: Key press handler which activates
3124           bindings for navigation, and accelerators, for handling
3125           underline accelerators. Exported functions to select 
3126           and activate menu items in a menushell.
3127
3128         * gtk/testgtk.c: Added a new "Item Factory" test which
3129           tests GtkItemFactory and the new keyboard navigation
3130           of menus.
3131
3132 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
3133
3134         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
3135         external functions have been called. also relookup nodes after
3136         this function has been invoked.
3137
3138 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
3139
3140         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
3141           beginning of Text when creating the Text widget.
3142
3143         * gtk/testgtk.c: Grab the focus on the text widget so
3144           as to test out the above.
3145
3146 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
3147
3148         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
3149           ::changed is a notification signal and should have no default
3150           handler. A complete redraw of the Text widget does _not_ need to
3151           be done on every text insertion.
3152
3153 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
3154         (gtk-abilleira-072198-patch)
3155
3156         * gtk/gtkwindow.[ch]: 
3157           Add gtk_window_set_modal() which sets a flag; when
3158           set the window does a gtk_grab_add() when the window
3159           is shown, and a gtk_grab_remove() when the window
3160           is hidden. 
3161
3162         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
3163           that case will run "Create Dir","Delete File" and "Rename File" 
3164           dialogs as modal too.
3165
3166         * gtk/testgtk.c: Added a button with an example of creating modal 
3167           dialog boxes. Including file selection and color selection standard
3168           dialogs.
3169         
3170 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3171
3172         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
3173           Removed CAN_FOCUS by default from scrollbars, button
3174           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
3175           (Scrollbar definitely good change, toolbar bit more questionable)
3176
3177 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
3178
3179         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
3180         Pettersen).
3181
3182 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
3183
3184         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
3185           added all logical operations to gc->function.
3186
3187 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
3188
3189         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
3190         gtk_widget_size_allocate instead of gtk_widget_queue_resize
3191         if the visibility state of a scrollbar changes.
3192
3193 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
3194
3195         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
3196
3197 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
3198
3199         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
3200         gtk_clist_merge and gtk_clist_mergesort. :)
3201
3202 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
3203
3204         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
3205         `mergesort' -> `my_mergesort'.
3206
3207 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
3208
3209         * gtk/gtkenums.h: new enum GtkSortType.
3210         
3211         * gtk/gtkclist.h:
3212         * gtk/gtkclist.c:
3213         Added sorting capabilities to GtkCList. New APIs :
3214         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
3215         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
3216         New internal functions : default_compare, merge, mergesort.
3217
3218         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
3219         
3220         (gtk_clist_insert): Modified to handle gtk_clist_append and the
3221         auto sort flag. Changed the return value from void to gint to
3222         return the row number where the element was actually inserted.
3223
3224         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
3225         
3226         * gtk/gtkctree.h:
3227         * gtk/gtkctree.c:
3228         Removed the auto_sort flag, replaced ctree->node_compare with
3229         clist->compare all over the place, modified default_compare to
3230         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
3231         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
3232
3233         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
3234         sorting. The lists can be sorted by a column by clicking the 
3235         corresponding title button.
3236         
3237 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3238
3239         * Released GTK+ 1.1.1
3240
3241 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
3242
3243         * gtk/gtkctree.h:
3244         * gtk/gtkctree.c:
3245         (gtk_ctree_find): changed to return a gboolean
3246         (gtk_ctree_insert_gnode): new function for recursive insertion of a
3247         GNode tree.
3248         (gtk_ctree_real_select_recursive): fix for extended selection
3249         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
3250         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
3251
3252 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
3253
3254         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
3255         GLib version 1.1.1 is now required at minimum.
3256
3257         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
3258         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
3259
3260 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
3261  
3262         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
3263           cursor before (possibly) deleting the cursor's text
3264           property.
3265  
3266         * gtk/gtktext.c (correct_cache_delete): More attempts
3267           to clean the line-start cache up after inserting
3268           a property. Among other things, make sure to
3269           fix up text->current_line, since it is used to 
3270           refetch the changed lines.
3271  
3272 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
3273
3274         * gtk/gtktable.[ch]: Empty rows/columns of the table
3275         should not have been marked as being able to shrink.
3276         (Fixes problem with shrinking scrollbarless GIMP canvases)
3277
3278 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3279
3280         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
3281         function to find a row by its data pointer using a custom
3282         comparison function.
3283
3284 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
3285
3286         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
3287           this fixes a bug when the whole widget is made non-sesitive
3288           the buttons weren't redrawn
3289
3290 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
3291
3292         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
3293         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
3294         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
3295
3296 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
3297
3298         * gdk/gdkwindow.c (gdk_window_reparent): Change 
3299           window_private->parent pointer when reparenting.
3300
3301 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
3302
3303         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
3304         with the standalone release.
3305
3306 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
3307
3308         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
3309         (gtk_clist_button_release) (new_column_width): Few fixes for
3310         column resize. Store resize column in clist->drag_pos.
3311
3312 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
3313
3314         * gtk/gtkctree.h 
3315         * gtk/gtkctree.c 
3316         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
3317         to GtkCTreeNode *node.
3318
3319         * gtk/gtklist.h : added extended selection mode and auto scrolling.
3320         (struct _GtkList): removed unneeded variables timer, button,
3321         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
3322         Added new variables undo_selection, undo_unselection, last_focus_child,
3323         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
3324         drag_selection, add_mode.
3325  
3326         New functions :
3327         (gtk_list_extend_selection), (gtk_list_start_selection),
3328         (gtk_list_end_selection), (gtk_list_select_all),
3329         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
3330         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
3331         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
3332         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
3333         
3334         * gtk/gtklist.c : 
3335         (gtk_list_enter_notify): removed, because auto scrolling now works
3336         with gtk_list_motion_notify
3337  
3338         New functions, needed for auto scrolling :
3339         (gtk_list_motion_notify) (gtk_list_move_focus_child)
3340  
3341         New functions for extended selection support :
3342         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
3343         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
3344         (gtk_list_focus_lost)
3345         
3346         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
3347         function to support auto scrolling, and avoid out-of-sync errors in
3348         case auf GTK_SELECTION_BROWSE
3349         (gtk_list_focus): modified gtk_container_focus function to avoid out
3350         off sync errors in case auf GTK_SELECTION_EXTENDED
3351
3352         * gtk/gtklistitem.h 
3353         * gtk/gtklistitem.c :
3354         New signal functions for key binding support :
3355         (toggle_focus_row), (select_all), (list_item), (unselect_all)
3356         (list_item), (undo_selection), (start_selection), (end_selection)
3357         (extend_selection), (scroll_horizontal), (scroll_vertical),
3358         (toggle_add_mode)
3359         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
3360         GDK_KEY_RELEASE_MASK
3361         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
3362  
3363         * gtk/gtkcombo.c :
3364         (gtk_combo_popup_button_press):  grab pointer for combo->list
3365         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
3366         (gtk_combo_list_key_press): take care of which child HAS_GRAB
3367         (gtk_comb_init): don't connect combo->button with button_release_event
3368
3369 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
3370
3371         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
3372
3373 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
3374
3375         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
3376         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
3377         with horizontal and vertical autoscrolling.
3378
3379 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3380
3381         * gtk/docs/man: new directory
3382         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
3383
3384 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
3385
3386         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
3387         bug
3388
3389 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3390
3391         * docs/gtk_tut.sgml: GtkTree section from
3392           David Huggins-Daines <bn711@freenet.carleton.ca>,
3393           add a GtkText widget example
3394         * examples/text/* example/tree/* : new examples for the
3395           GtkTree and GtkText widgets
3396         * docs/gtk_tut.sgml: added an appendix to hold complete code
3397           examples that aren't in a full form elsewhere in the
3398           tutorial (e.g. scribble)
3399
3400 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3401
3402         * Released GTK+ 1.1.0
3403
3404 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3405
3406         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3407         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3408
3409 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3410
3411         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3412         values are looked up.
3413
3414         * gtk/gtktypeutils.h:
3415         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3416         gtk_type_enums_find_value to lookup enum values.
3417
3418         * gtk/gtkctree.h: 
3419         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3420         GtkCTreeExpansionType. fixed signal creations to pass the enum
3421         types not just the base type GTK_TYPE_ENUM.
3422
3423         * gtk/gtkclist.h: 
3424         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3425         types not just the base type GTK_TYPE_ENUM.
3426
3427 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3428
3429         * gtk/testgtk.c : 
3430         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3431         gtk_widget_show's. Completely rewrote the button box sample
3432         (only one window now). Removed "miscellaneous" button.
3433
3434 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3435
3436         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3437         Fixed wrong allocation for GTK_BUTTONBOX_END.
3438         (allocation->x  =>  allocation->y)
3439
3440 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3441
3442         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3443         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3444         
3445         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3446         selected rows
3447         (gtk_ctree_button_press)
3448         (gtk_ctree_button_release): fix for pointer grab
3449
3450 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3451
3452         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3453         Fixed initialization problem - dirty memory could cause problems.
3454         Also checked that bitmapped fonts can be scaled when showing the
3455         available sizes.
3456
3457 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3458
3459         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3460         (gtk_ctree_sort_recursive): test for node != NULL
3461         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3462         (gtk_ctree_last) : added sanity checks
3463         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3464
3465 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3466
3467         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3468
3469 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3470
3471         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3472
3473 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3474
3475         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3476         to check out binding priorities. someone should really write
3477         gtkrc-mode for emacs.
3478
3479         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3480         * gtk/testgtk.c (main): and move it here ;). this test says something
3481         on release of C-9. (this works only if the mouse pointer is on a
3482         spinbutton and there is no focus widget).
3483
3484         * gtk/gtkrc.h:
3485         * gtk/gtkrc.c:
3486         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3487         gtk_rc_parse_priority to parse path priority types.
3488         export rc tokens.
3489         feature binding parsing.
3490
3491 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3492
3493         * gtk/gtkbindings.h: 
3494         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3495         feature binding parsing in rc files.
3496         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3497         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3498         order the bindings with lowest priority first.
3499
3500 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3501
3502         * gdk/gdkrgb.c: actually builds and runs properly on big
3503         endian machines now, because we #include config.h. Also
3504         fixed up a compile error in the WORDS_BIGENDIAN case in
3505         gdk_rgb_convert_565_gray. I made the fix by looking at
3506         patterns in the other code; Raph can you verify this?
3507
3508         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3509         warnings
3510
3511 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3512
3513         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3514         (tree_toggle_expansion) (real_select/unselect_row)
3515         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3516
3517 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3518
3519         * gtk/gtktext.c (new_text_property): We free things from
3520         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3521
3522         * Fix up line start cache when splitting a property
3523         during an insert.
3524
3525 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3526
3527         * gtk/gtkwidget.c: restauration => restoration
3528
3529 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3530
3531         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3532         hasn't been created yet, don't do the lookup.
3533
3534 1998-07-20  Raph Levien  <raph@acm.org>
3535
3536         * gdk/gdkrgb.c: More cleanups in the config process.
3537
3538 1998-07-20  Raph Levien  <raph@acm.org>
3539
3540         * gdkrgb.c: Fixed minor config bug preventing big-endian
3541         architectures from working.
3542
3543 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3544
3545         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3546         activity indicator. It is settable now as a fraction of the
3547         total width/height using gtk_progress_bar_set_activity_blocks.
3548         Renamed gtk_progress_bar_set_number_of_blocks to
3549         gtk_progress_bar_set_discrete_blocks.
3550
3551 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3552
3553         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3554         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3555         tree to specified depth
3556         (gtk_ctree_expand_to_depth): expand tree to specified depth
3557         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3558
3559 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3560
3561         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3562         of GTK_CLIST_ADD_MOD
3563         * gtk/testgtk.c (add1000_clist): changed pixmap
3564
3565 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3566
3567         * gtk/gtkmain.h: 
3568         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3569
3570         * gtk/gtktypeutils.h:
3571         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3572
3573 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3574
3575         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3576         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3577         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3578         CHILD_ARG_POSITION
3579         (gtk_notebook_reorder_child): new funktion to change position of a
3580         notebook page
3581         (gtk_notebook_draw_arrow): draw left/right arrow with
3582         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3583
3584         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3585         added GTK_SHADOW_ETCHED_IN/OUT
3586
3587 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3588
3589         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3590           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3591         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3592         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3593
3594 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3595
3596         * gtk/gtktypeutils.h
3597         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3598
3599 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3600
3601         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3602         of list
3603
3604 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3605
3606         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3607         sropped the approach of copying all signal specific data into a
3608         GtkHandlerInfo structure. we rather keep the signal data on the stack
3609         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3610         avoids multiple lookups of the signal pointer and works savely together
3611         with destroy notifiers of handlers.
3612
3613         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3614         someone destroys the entry on the ::activate signal.
3615
3616 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3617
3618         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3619         instead of ypad (typo).
3620         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3621         border around the allocation).
3622         (gtk_arrow_init): the static requisition needs to be setup in this
3623         function rather than gtk_widget_new(), so arrow creation works without
3624         the gtk_arrow_new() constructing.
3625         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
3626
3627         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
3628         implementation for GtkWidget::size_request, so size requisition for
3629         simple statically sized widgets like GtkArrow works.
3630
3631 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
3632
3633         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
3634         prepend -I@libdir@/glib/include anymore, since glib-config handles
3635         it; --libs strips out redundant -L<path>'s properly (there was
3636         code in there to do it before, but it didn't work)
3637
3638 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
3639
3640         * gtk/gtknotebook.h: 
3641         * gtk/gtknotebook.c: signdness corrections all ove the place.
3642         implementation of object arguments: GtkNotebook::enable_popup,
3643         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
3644         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
3645         begun implementation of child args, we have GtkNotebook::tab_label, but
3646         GtkNotebook::menu_label and GtkNotebook::position still lack the
3647         implementation.
3648         (gtk_notebook_remove_page):
3649         (gtk_notebook_current_page): allow negative indices (-1) as alias for
3650         the last page.
3651
3652         * gtk/gtkentry.h:
3653         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
3654         arguments GtkEntry::max_length and GtkEntry::visibility.
3655         (gtk_entry_adjust_scroll): queue a redraw.
3656
3657         * gtk/gtkeditable.h:
3658         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
3659         object arguments GtkEditable::text_position and GtkEditable::editable.
3660         new (action) signal GtkEditable::set_editable.
3661         provide a default handler for GtkEditable::changed that queues a redraw.
3662
3663         * gtk/gtktext.h: 
3664         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
3665         set_editable.
3666
3667 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
3668
3669         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
3670         case of drag_target == NULL
3671         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
3672         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
3673         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
3674         gtk_dir_selection_file_button): fix due to changes in clist's
3675         select_row signal.
3676
3677 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
3678
3679         * gtk/gtkwidget.h:
3680         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
3681         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
3682         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
3683         to be gint16s rather than guint16s, since that's what the code expected
3684         (for a long time actually).
3685
3686         * gtk/gtkviewport.c:
3687         added support for object arguments: GtkViewport::shadow_type,
3688         GtkViewport::vadjustment and GtkViewport::hadjustment.
3689         (gtk_viewport_add): chain gtk_bin_add.
3690
3691         * gtk/gtkscrolledwindow.c: 
3692         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
3693         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
3694
3695         * gtk/gtkadjustment.h: 
3696         * gtk/gtkadjustment.c: 
3697         * gtk/gtkctree.h: 
3698         * gtk/gtkclist.h: 
3699         * gtk/gtkctree.c: 
3700         * gtk/gtkclist.c:
3701         * gtk/gtkscrolledwindow.h:
3702         * gtk/gtkscrolledwindow.c:
3703         * gtk/gtkviewport.h:
3704         * gtk/gtkviewport.c:
3705         GtkType and macro fixups.
3706
3707 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
3708
3709         * gtk/gtkctree.h :
3710         * gtk/gtkctree.c :
3711         Added focus handling, horizontal and vertical autoscrolling,
3712         extended Selection Mode, key bindings
3713         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
3714         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
3715         Removed gtk_ctree_clear.
3716         
3717         * gtk/gtkclist.h :
3718         * gtk/gtkclist.c : 
3719         Added focus handling, horizontal and vertical autoscrolling,
3720         extended Selection Mode, key bindings
3721
3722 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
3723
3724         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
3725         source tree. For more information on GdkRgb, please see:
3726         http://www.levien.com/gdkrgb/
3727
3728         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
3729         bothers me slightly that the feature is in gdk, and this file is
3730         in gtk, but it's probably ok.
3731
3732         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
3733
3734         * gdk/gdkrgb.c:
3735         * gdk/gdkrgb.h: Added this module.
3736
3737         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
3738
3739         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
3740
3741 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
3742
3743         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
3744         to this function. it needs to relookup the signal multiple times.
3745         this fixes spurious segfaults that could show up with signal intensive
3746         code, when classes are created during a pending emission (which is
3747         normal case).
3748
3749 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
3750
3751         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
3752         child if it isn't a label.
3753
3754 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
3755
3756         * gtk/gtkdialog.h: 
3757         * gtk/gtkseparator.h: 
3758         * gtk/gtkhseparator.h: 
3759         * gtk/gtkvseparator.h: macro and GtkType fixups.
3760
3761 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
3762
3763         * gtk/testgtk.c (create_cursors): display the current cursor name.
3764
3765         * gtk/gtktypeutils.h: 
3766         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
3767         the fundamental type definition. the GtkArg union now only covers
3768         the required storage types for argument values. adapted the GTK_VALUE_*
3769         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
3770
3771         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
3772         code, fixed int/float collection. fixed a bug in the sanity checking
3773         code for GtkObjects.
3774
3775         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
3776         argument collection code.
3777
3778         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
3779         macros when distinguishing the return type.
3780
3781 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
3782
3783         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
3784           is not NULL before trying to g_list_remove the child. A patch
3785           from Michael Lausch.
3786
3787 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
3788
3789         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
3790         collection (always casted to doubles upon argument passing).
3791
3792 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
3793
3794         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
3795         object_init_func for derived objects with the object's ->klass field
3796         still pointing to the corresponding base class, otherwise overridden
3797         class functions could get called with partly-initialized objects.
3798         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
3799
3800 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
3801
3802         * gtk/gtkobject.h:
3803         * gtk/gtkobject.c:
3804         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
3805
3806         * gtk/gtkcontainer.h:
3807         * gtk/gtkcontainer.c:
3808         (gtk_container_child_arg_get_info): new function which wraps
3809         gtk_arg_get_info().
3810
3811 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
3812
3813         * gtk/gtkcontainer.c:
3814         (gtk_container_arg_get): 
3815         (gtk_container_arg_set): 
3816         * gtk/gtkobject.c:
3817         (gtk_object_arg_set): 
3818         (gtk_object_arg_get):
3819         strictly check for the associated get/set arg functions. if an
3820         arg is readable or writable, the associated class functions *must*
3821         be provided.
3822
3823 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
3824
3825         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
3826         padding into account if there is an accelerator.
3827
3828 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
3829
3830         * gtk/gtkcontainer.c:
3831         (gtk_container_add_with_args): collect the arguments with
3832         gtk_container_child_args_collect, not through gtk_object_args_collect.
3833         (gtk_container_child_set): likewise.
3834
3835 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
3836
3837         * gtk/gtktypeutils.h: 
3838         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
3839         which is derived from GTK_TYPE_STRING.
3840
3841         * gtk/gtkbindings.c: reworked the argument type handling.
3842
3843 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3844
3845         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
3846           so that it seems to allow normal operation in those modes,
3847           although you will only see black  (GIMP toolbar now pops up,
3848           just don't create a new image and GIMP now works in 4 bit.)
3849
3850 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3851
3852         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
3853           array, which was too low (?)
3854
3855 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
3856
3857         * gtk/gtkcontainer.h: 
3858         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
3859         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
3860         we now export a new function gtk_container_child_args_collect().
3861         for consistency with the object arguments, a few functions got renamed:
3862         gtk_container_child_arg_get -> gtk_container_child_get,
3863         gtk_container_child_arg_set -> gtk_container_child_set,
3864         gtk_container_child_arg_getv -> gtk_container_child_getv,
3865         gtk_container_child_arg_setv -> gtk_container_child_setv,
3866         gtk_container_add_with_argv -> gtk_container_addv.
3867         note, gtk_container_add_with_args() remained, because its equivalent
3868         would be gtk_container_add(,, ...) which would break all existing code.
3869         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
3870         we expect the `arg_name' argument to be a const static string now.
3871         (gtk_container_get_child_arg_type): function removed.
3872
3873 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
3874
3875         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
3876         this is a static inline function that collects command line arguments
3877         from a va_list. this file can just be included in all places that
3878         need this functionality.
3879
3880         * gtk/gtkarg.h: 
3881         * gtk/gtkarg.c: new files which implement most of the argument
3882         handling stuff from gtkobject.c. also collected a few more
3883         gtk_arg_* utility functions from else places.
3884
3885         * gtk/gtkobject.h: 
3886         * gtk/gtkobject.c: moved most of the argument handling code into
3887         gtkarg.c. we now export gtk_object_args_collect() as a non-public
3888         method with a blind va_list pointer.
3889         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
3890         const static string now.
3891         (gtk_object_get_arg_type): function got removed.
3892
3893         * gtk/gtkwidget.c: 
3894         (gtk_widget_set): 
3895         (gtk_widget_new): adaptions for gtk_object_args_collect().
3896
3897         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
3898         fundamental type name so as to have a valid prefix, e.g. "bool"->
3899         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
3900         though that should probably be something like GtkNone since the
3901         type itself is called GTK_TYPE_NONE.
3902         even the internal type names need to avoid name clashes and must live
3903         in their own namespace, several code portions rely on that.
3904         we should relly have typedefs such as typedef gchar* GtkString; so the
3905         fundamental type names can be used for code dumpers just like with all
3906         the Gtk/Gdk types.
3907
3908 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
3909
3910         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
3911         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
3912         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
3913         (GTK_RELIEF_HALF).
3914         (gtk_button_paint): set the background for prelighted buttons with
3915         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
3916         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
3917         the shadow type (otherwise we get strange shadows for coloured buttons).
3918         (gtk_button_set_relief): queue a redraw after changing
3919         the relief.
3920         (gtk_button_class_init): 
3921         (gtk_button_set_arg): 
3922         (gtk_button_get_arg): added object argument "GtkButton::relief".
3923
3924         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
3925
3926 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
3927
3928         * gtk/gtkbutton.h:
3929         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
3930         GTK_BIN (button)->child to button->child to keep source compatibility.
3931
3932         * gtk/gtkoptionmenu.c:
3933         * gtk/gtkclist.c:
3934         * gtkcheckbutton.c: don't refer to button->child, but
3935         GTK_BIN (button)->child instead.
3936
3937 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
3938
3939         * docs/gtkfaq.sgml: update anon CVS info
3940
3941 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
3942
3943         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
3944         functions.
3945
3946         * gdk/gdkwindow.c:
3947         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
3948         to XFree() calls.
3949
3950 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3951
3952         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
3953         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
3954
3955 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
3956
3957         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
3958
3959 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
3960
3961         * gtk/gtkwidget.h:
3962         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
3963
3964         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
3965         error that prevented signal to entry addition for signals with
3966         parameters.
3967
3968 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
3969
3970         * ltconfig: fix for properly detecting shared lib support on
3971         SunPro cc (taken from libtool 1.2.a)
3972
3973 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
3974
3975         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
3976
3977 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
3978
3979         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
3980         rc set pattern is favoured, this is needed for overriding of style
3981         patterns with subsequently parsed rc files.
3982
3983 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
3984
3985         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
3986         error messages.
3987
3988 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
3989
3990         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
3991         modifier as well.
3992         (gtk_accelerator_name): add "<Release>" to the accelerator name if
3993         neccessary.
3994
3995         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
3996         account.
3997
3998         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
3999         default handler for key-release events, which checks for activation
4000         of GDK_RELEASE_MASK key bindings.
4001
4002         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
4003
4004 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
4005
4006         * gtk/gtkarrow.h: GtkType and macro fixups.
4007         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
4008         "GtkArrow::shadow_type".
4009
4010 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
4011
4012         * gtk/gtkalignment.h:
4013         * gtk/gtkbin.h: GtkType and macro fixups.
4014         
4015         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
4016         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
4017         GtkAlignment::xscale, GtkAlignment::yscale.
4018
4019 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
4020
4021         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
4022         fucntions from all parent types upon class initialization.
4023
4024         * gtk/gtkcontainer.c:
4025         (gtk_container_get_type): announce gtk_container_base_class_init to
4026         the type system.
4027         (gtk_container_base_class_init): new function to feature base class
4028         initialization.
4029         (gtk_container_get_child_arg): 
4030         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
4031         and set_child_arg methods of the class indicated through the argument
4032         name.
4033
4034         * gtk/gtkobject.c:
4035         (gtk_object_base_class_init): new function to feature base class
4036         initialization.
4037         (gtk_object_init_type): announce gtk_object_base_class_init to the type
4038         system.
4039         (gtk_object_class_init): setup the get_arg and set_arg pointers for
4040         GtkObjectClass.
4041         (gtk_object_setv): 
4042         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
4043         instead of bothering the type system with this.
4044
4045         * gtk/gtkaccellabel.c: 
4046         * gtk/gtkbutton.c: 
4047         * gtk/gtkradiobutton.c: 
4048         * gtk/gtktable.c:
4049         * gtk/gtktogglebutton.c: 
4050         * gtk/gtktipsquery.c: 
4051         * gtk/gtkbox.c: 
4052         * gtk/gtkpacker.c: 
4053         * gtk/gtkwidget.c: 
4054         * gtk/gtkwindow.c: 
4055         * gtk/gtkframe.c: 
4056         * gtk/gtkmisc.c:
4057         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
4058         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
4059         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
4060         arg functions to take a GtkObject argument.
4061
4062         gtk/gtkadjustment.c:
4063         gtk/gtkalignment.c:
4064         gtk/gtkarrow.c:
4065         gtk/gtkaspectframe.c:
4066         gtk/gtkbbox.c:
4067         gtk/gtkbin.c:
4068         gtk/gtkcheckbutton.c:
4069         gtk/gtkcheckmenuitem.c:
4070         gtk/gtkclist.c:
4071         gtk/gtkcolorsel.c:
4072         gtk/gtkcombo.c:
4073         gtk/gtkctree.c:
4074         gtk/gtkcurve.c:
4075         gtk/gtkdata.c:
4076         gtk/gtkdialog.c:
4077         gtk/gtkdrawingarea.c:
4078         gtk/gtkeditable.c:
4079         gtk/gtkentry.c:
4080         gtk/gtkeventbox.c:
4081         gtk/gtkfilesel.c:
4082         gtk/gtkfixed.c:
4083         gtk/gtkfontsel.c:
4084         gtk/gtkgamma.c:
4085         gtk/gtkhandlebox.c:
4086         gtk/gtkhbbox.c:
4087         gtk/gtkhbox.c:
4088         gtk/gtkhpaned.c:
4089         gtk/gtkhruler.c:
4090         gtk/gtkhscale.c:
4091         gtk/gtkhscrollbar.c:
4092         gtk/gtkhseparator.c:
4093         gtk/gtkimage.c:
4094         gtk/gtkinputdialog.c:
4095         gtk/gtkitem.c:
4096         gtk/gtkitemfactory.c:
4097         gtk/gtklist.c:
4098         gtk/gtklistitem.c:
4099         gtk/gtkmenu.c:
4100         gtk/gtkmenubar.c:
4101         gtk/gtkmenuitem.c:
4102         gtk/gtkmenushell.c:
4103         gtk/gtknotebook.c:
4104         gtk/gtkoptionmenu.c:
4105         gtk/gtkpaned.c:
4106         gtk/gtkpixmap.c:
4107         gtk/gtkpreview.c:
4108         gtk/gtkprogressbar.c:
4109         gtk/gtkradiomenuitem.c:
4110         gtk/gtkrange.c:
4111         gtk/gtkruler.c:
4112         gtk/gtkscale.c:
4113         gtk/gtkscrollbar.c:
4114         gtk/gtkscrolledwindow.c:
4115         gtk/gtkseparator.c:
4116         gtk/gtkspinbutton.c:
4117         gtk/gtkstatusbar.c:
4118         gtk/gtktext.c:
4119         gtk/gtktoolbar.c:
4120         gtk/gtktooltips.c:
4121         gtk/gtktree.c:
4122         gtk/gtktreeitem.c:
4123         gtk/gtkvbbox.c:
4124         gtk/gtkvbox.c:
4125         gtk/gtkviewport.c:
4126         gtk/gtkvpaned.c:
4127         gtk/gtkvruler.c:
4128         gtk/gtkvscale.c:
4129         gtk/gtkvscrollbar.c:
4130         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
4131         match the modified GtkTypeInfo structure.
4132
4133 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
4134
4135         * gtk/testgtk.c: use rand() instead of random() for portability
4136
4137 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
4138
4139         * configure.in
4140         * acconfig.h
4141         * gdk/gdk.c: use native Xlib XConvertCase if it's available
4142
4143 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
4144
4145         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
4146         XConvertCase() functionality from X11R6 on X11R5 systems.
4147
4148 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
4149
4150         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
4151         gdk_string_height, gdk_char_height to retrieve the exact
4152         height of a text.
4153
4154 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
4155
4156         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
4157           by Stefan Mars <mars@lysator.liu.se>
4158         * examples/clist/clist.c examples/clist/Makefile: example code
4159           for GtkCList widget from the Tutorial
4160
4161 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
4162
4163         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
4164         if the container is not visible, we might be a toplevel! this holds
4165         for all other base container implementations as well, that are
4166         candidates to derive toplevels from. in general the resizing code will
4167         care about visibility itself.
4168         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
4169         * gtk/gtkbox.c (gtk_box_remove): likewise.
4170
4171         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
4172         gtk_window_set_hints(), since we haven't calculated the new position
4173         yet.
4174
4175         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
4176         *mask are alway initialized in a sane way, regardless of the return
4177         value.
4178
4179 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
4180
4181         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
4182         to gtk_container_child_arg_setv, but takes a variable argument list.
4183         new function gtk_container_get_child_arg_type, which is needed by
4184         gtk_object_collect_args.
4185
4186         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
4187         take a function pointer to figure the argument type.
4188         adapted callers to pass gtk_object_get_arg_type.
4189         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
4190         gtk_object_get_arg_type..
4191
4192         * gtk/gtkpacker.h: 
4193         * gtk/gtkpacker.c:
4194         (gtk_packer_reorder_child): new function to change the packing order
4195         of a child.
4196         (gtk_packer_size_request): 
4197         (gtk_packer_size_allocate): take container->border_width into acount.
4198
4199         * gtk/gtkpacker.c: implemented widget arguments:
4200         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
4201         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
4202         implemented child arguments:
4203         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
4204         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
4205         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
4206         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
4207
4208         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
4209         not the alignment.
4210
4211         * gtk/gtkeventbox.h:
4212         * gtk/gtkeventbox.c: GtkType and macro fixups.
4213
4214         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
4215         sensitivity of an entry.
4216
4217         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
4218         for insensitive base and text.
4219
4220         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
4221         widget state dependent.
4222         (gtk_entry_style_set): likewise.
4223         (gtk_entry_state_changed): set background color on state changes.
4224         (gtk_entry_draw_text): for non selected text, use state dependent
4225         colors.
4226
4227         * gtk/gtktogglebutton.c: support for widget arguments
4228         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
4229
4230 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
4231
4232         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
4233         code for 1.0.x-like parameters. Changed internal interface of
4234         gtk_spin_button_real_spin. Several fixes to avoid emission of
4235         "value_changed" where possible.
4236
4237 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
4238
4239         * gtk-boxed.defs: s/GkWidget/GtkWidget/
4240
4241 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
4242
4243         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
4244         to select the resize_mode for the idle-labels container.
4245
4246         * gtk/gtkframe.h: 
4247         * gtk/gtkframe.c: GtkType and macro corrections.
4248
4249         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
4250         support widget argument "GtkRadioButton::group".
4251
4252 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
4253
4254         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
4255         unconditionally if resize_mode has changed.
4256
4257         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
4258         GTK_RESIZE_QUEUE on the scrolled window.
4259         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
4260
4261 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
4262
4263         * gtk/gtkcontainer.h:
4264         * gtk/gtkcontainer.c:
4265         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
4266         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
4267         (gtk_container_queue_resize): new function to queue a container for
4268         a *size* reallocation (doesn't affect its position, and thus its
4269         parent is left untouched usually).
4270         (gtk_container_get_resize_container): new function to retrive the next
4271         most resize container which is not itself queued for a resize.
4272         (gtk_container_idle_sizer): new function to carefully process the
4273         container_resize_queue since it can change during invokation of
4274         gtk_container_check_resize().
4275         (gtk_container_resize_children): total rework of this function to
4276         properly handle resize containers. makes a lot of assumptions whitch
4277         are stated in the comments.
4278
4279         * gtk/gtkcontainer.c:
4280         (gtk_container_real_check_resize): only requeue ourselves if we are not
4281         a resize container.
4282         (gtk_container_clear_resize_widgets): care for automatic deletion of our
4283         resize_widgets list on size_allocate through a handler connection.
4284
4285         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
4286         focus and default widget of a window, so to take the burden from
4287         gtk_widget_unparent.
4288
4289         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
4290         to be clever, but actually messed up the resize_children logic and
4291         caused unneccessary allocations on its whole branch. besides this,
4292         it messed up the display by not invoking a redraw after the allocation.
4293
4294         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
4295         that it is the child again that is queued for a resize.
4296         (gtk_table_attach): likewise.
4297         (gtk_table_remove): likewise.
4298
4299 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4300
4301         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
4302         gtk_entry_adjust_scroll.  Required if you change the cursor
4303         position and want to sync it up with your code (Midnight Commander
4304         gtk front end needs this).
4305
4306         * gtk/gtktable.c: Deal with tables that have size 0, 0.
4307
4308 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
4309
4310         * examples/README.1ST: new file to explain how the
4311           code examples should be extracted from the tutorial.
4312
4313 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
4314
4315         * gtk/gtkctree.c (draw_row): added new "line style"
4316         GTK_CTREE_LINES_TABBED 
4317         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
4318         search the glist pointer of an GtkCTreeRow
4319
4320 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
4321  
4322         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
4323         from, and clean up, the dependencies.  Generate to intermediate
4324         files to prevent problems with Ctrl-C.
4325
4326         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
4327
4328 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
4329
4330         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
4331         - Bug fix for precision problem causing occasional double emission 
4332           of "value_changed" signal (hopefully works now).
4333         - API change (should be binary compatible) : 
4334           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
4335           Modified cursor example appropriately.
4336           To spin by something other than step_/page_increment, use
4337           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
4338         - Made GTK_SHADOW_NONE the default. ;)
4339         - Fixed casting of GtkAdjustment* to GtkWidget* in
4340           gtk_spin_button_value_changed.
4341
4342 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
4343
4344         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
4345         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
4346         resize widget list before queuing the container for a new reize.
4347         (gtk_container_need_resize): changed return value to FALSE, since this
4348         used to indicate that no further resizes are needed.
4349         (gtk_container_set_arg): 
4350         (gtk_container_get_arg): 
4351         (gtk_container_class_init): implemented GtkContainer::resize_mode
4352         argument.
4353
4354         (gtk_container_resize_children): when we walk up the tree of a resize
4355         widget we need to stop if we are the current parent.
4356
4357         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
4358         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
4359         (gtk_widget_hide_all): retrive the toplevel widget from via
4360         gtk_widget_get_resize_container().
4361
4362 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
4363
4364         * gtk/gtklist.c (gtk_list_button_press): Only respond
4365           to selection with button 1. This allows context-sensitive
4366           menus to work correctly.
4367
4368 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
4369
4370         * gtk/gtkaccelgroup.c: 
4371         * gtk/gtkbindings.c: 
4372         * gtk/gtkcontainer.c:
4373         * gtk/gtkitemfactory.c:
4374         * gtk/gtkobject.c: 
4375         * gtk/gtksignal.c:
4376         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
4377         g_quark_from_static_string calls to save memory.
4378
4379         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
4380         function _after_ the new data has been setup.
4381         minor changes to object data functions to feature the GQuark type.
4382
4383 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4384
4385         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
4386           from argv.
4387
4388 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4389
4390         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4391           to be more readable perl, to spit out stuff that looks
4392           more like readable C, and to pipe output through indent
4393           so output looks a lot like readable C. No functional
4394           changes.
4395
4396 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4397
4398         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4399           necessary when switching to a masked pixmap. (Based on a patch
4400           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4401
4402 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4403
4404         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4405           bindings. (move_cursor, kill_word, etc, etc, etc). 
4406
4407           removed the time argument from
4408           gtk_editable_cut/copy/paste_clipboard (source but not
4409           binary incompatible...) Instead get time from
4410           gtk_get_current_event ().
4411         
4412         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4413           signals.
4414
4415 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4416
4417         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4418
4419         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4420              parent class to GtkNotebookClass when splitting the widget in
4421              two.  Also updated some comments.
4422
4423         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4424                button without a font selected.
4425
4426              Fixed bug in set_font_name - I hadn't updated the code to
4427                search for the style in the font_style clist - it was
4428                still assuming the style row was equal to its index,
4429                but it isn't any more.
4430         
4431              Changed 'Reset' button on filter page to 'Clear Filter'.
4432              Deleted old code relating to the old 'Filter Fonts' toggle
4433              Updated some comments.
4434              Cleared 'Actual Fontname' if no font is set.
4435
4436         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4437              destroying the GtkFontSelection instead of the
4438              GtkFontSelectionDialog.
4439
4440 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4441
4442         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4443           flag to make all warnings fatal errors.
4444
4445         * gtk/testthreads.c: moved <pthreads.h> include inside 
4446           #ifdef USE_PTHREADS
4447
4448 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4449
4450         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4451           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4452
4453         - Added new function gtk_container_set_resize_mode() for
4454           fine-grained control of where resize-queueing is done.
4455
4456         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4457         - Added GtkContainer::check_resize to replace need_resize.
4458
4459         - Added function gtk_container_check_resize() to trigger
4460           queued resizes, and gtk_container_resize_children() to
4461           Figure which children need to be size-allocated. (logic
4462           moved from gtkwindow.c)
4463
4464         - Reorganized code in gtkwindow.c
4465         
4466         - Set the resize-mode for viewports so that resizes within
4467           a viewport don't propagate out of it. 
4468         
4469 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4470
4471         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4472
4473         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4474         g_return_val_if_fail, because the function *does* return a value.
4475
4476 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4477
4478         * gtk/gtkaccellabel.h:
4479         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4480         request the size of the accelerator portion of an accel label.
4481         (gtk_accel_label_size_request): don't request for the accelerators size.
4482         (gtk_accel_label_expose_event): only draw the accelerator if we got
4483         enough extra space.
4484
4485         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4486         width from children.
4487
4488         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4489         object (after removal has been requested) check if there is still an
4490         accelerator remaining to avoid adding two accelerators on an object.
4491         this can happen for locked accelerators (or accelerator-frozen widgets).
4492         (gtk_menu_size_request): feature childrens accelerator width in size
4493         requests.
4494
4495         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4496         gtk_widget_freeze_accelerators() for dynamically created menu items.
4497
4498         * gtk/gtksignal.h: 
4499         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4500         which will return a handler_id > 0 if the specified function is pending
4501         for `signal_id'.
4502
4503         * gtk/gtkwidget.h:
4504         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4505         a signal handler function to stop accelerator addition.
4506         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4507         which will prevent (undo) any accelerators from being added to or
4508         removed from a widget.
4509
4510 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4511
4512         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4513         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4514         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4515
4516 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4517
4518         * gdk/gdk.h:
4519         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4520         the current GdkWindow the pointer is on if there is any.
4521         
4522         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4523         and one column, so we don't construction logic at all. changed a few
4524         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4525         unsigned int wraps.
4526
4527         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4528         portion, added an additional check for parent != widget.
4529
4530         * more GtkType and macro fixups.
4531
4532 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4533
4534         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4535         "clip" parameter, which is the clipping rectangle to use.  This
4536         eliminates the extremely annoying flicker when exposing parts of
4537         the handlebox.
4538
4539 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4540
4541         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4542         resizing
4543
4544 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4545
4546         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4547         != 0 on the argument.
4548
4549         * gtk/gtktable.h: 
4550         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4551         shrinking and expanding of tables. implementation of widget arguments
4552         and child arguments. many signedness corrections.
4553
4554 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4555
4556         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4557         not only the child, otherwise we might end up taking away other
4558         childrens space after the resize.
4559
4560         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4561         an unknown menu path from any source, that path must always be flagged
4562         as "modified", since we don't really know whether it has its default
4563         value or not.
4564
4565         * gtk/gtktree.c:
4566         * gtk/gtkpacker.c:
4567         * gtk/gtknotebook.c:
4568         * gtk/gtkmenushell.c:
4569         * gtk/gtklist.c:
4570         * gtk/gtkpaned.c:
4571         * gtk/gtkfixed.c: 
4572         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4573
4574         * gtk/gtkbox.h: 
4575         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4576         arguments. implemented child arguments.
4577
4578         * more GtkType and macro fixups.
4579
4580 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4581
4582         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4583
4584         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4585         and gtk_clist_get_hadjustment.
4586
4587         * gtk/gtkcontainer.c:
4588         implementation of children arguments, new class member functions
4589         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4590         n_child_args.
4591         (gtk_container_child_type): new function which returns the type of a
4592         child that the container expects for its next addition.
4593         (gtk_container_add_child_arg_type): new function to introduce a new
4594         child argument at class creation time.
4595         (gtk_container_query_child_args): new function to query all child
4596         arguments that are supported by a container class.
4597         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4598         child argument.
4599         (gtk_container_child_arg_setv): new function to set a child argument for
4600         a certain container and child combination.
4601         (gtk_container_add_with_args):
4602         (gtk_container_add_with_argv): new functions to feature addition of a
4603         new child in combination with the setting of certain child arguments.
4604
4605         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4606         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4607         this should really be done through class cretion hooks some day.
4608
4609         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4610         guint : 16.
4611
4612         * gtk/gtkpacker.h:
4613         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4614         follow the gtk convention for lower case variable names (important
4615         for language wrappers and widget arguments), and made them guint : 16.
4616
4617         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4618         fields.
4619
4620 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4621
4622         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
4623         change the character pair for single line comments.
4624         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
4625         GtkItemFactoryClass.
4626         (gtk_item_factory_parse_rc_string): likewise.
4627
4628 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
4629
4630         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
4631         lists from the klass structure to a static structure
4632         in gtkfontsel.c; cleans up global the namespace.
4633
4634 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4635
4636         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
4637         bug with /*< skip >*/ and remove warning.
4638         
4639 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
4640
4641         * gtk/Makefile.am: Made the gtkmarshal.* generation
4642         rules maintainer-only.
4643
4644 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
4645
4646         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
4647           gtk/Makefile.am gtk/makenums.pl 
4648
4649         Removed out the G_ENUM/FLAGS mechanism in favor
4650         of a perl script that parses the standard headers
4651         (with occasional /*< nick=foo >*/ style overrides)
4652         and extracts the enumerations.
4653
4654           gtk/maketypes.awk: Small improvments to the
4655           translation of names. (Avoid splitting gc into
4656           g_c_.)
4657         
4658 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
4659
4660         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
4661         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
4662         
4663 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
4664
4665         * gtk/gtkentry.c:
4666         - Restored gtk_entry_adjust_scroll to static 
4667         - Changed text positioning code so that we always
4668           display as large a portion of the text as possible.
4669
4670 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
4671
4672         * gtk/gtktext.c (gtk_text_finalize): Free internal
4673         structures of text widget. Also, unreference pixmaps
4674         when unrealizing.
4675         
4676 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
4677
4678         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
4679         3.3.1 bug workaround to number keys starting at 1.
4680
4681 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
4682
4683         * docs/gtk_tut.sgml: Fixed urls for complete example
4684         source for scribble+widget-writing examples.
4685
4686 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
4687
4688         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
4689         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
4690         specs of the form c #abcdef [ more keys ] properly.
4691
4692 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
4693
4694         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
4695         (gtk_spin_button_set_shadow_type):
4696         New API to set the shadow type of the arrow panel.
4697
4698 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
4699
4700         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
4701         code for drawing the child in two places at once. Unfortunately,
4702         not only does it not work anymore (because reparenting has
4703         been fixed), but it also triggers reparent/expose loops
4704         in some cases.
4705
4706         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
4707         an unecessary unrealize.
4708
4709 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
4710
4711         * gdk/gdkwindow.c (gdk_window_reparent): Update the
4712           old and new parents' child window lists properly.
4713
4714 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
4715
4716         * gtk/gtkpacker.h:
4717         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
4718         and GtkSideType, to be consistent with the rest of Gtk's enum
4719         definitions. wrapped the enum definitions with the G_ eunm wrappers.
4720         spelled out the GTK_ANCHOR_* enum values, since single letters don't
4721         work out corectly as nick-names (left the old values as aliases).
4722         some signdness corrections (border-width, spacing), could stand more.
4723
4724 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4725
4726         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
4727           Added gtkpacker
4728
4729         * examples/packer/pack.c, examples/packer/Makefile: Added
4730           gtkpacker example
4731
4732 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
4733
4734         * gtk/gtktext.c (remove_cache_line): Fixed broken
4735         list-removal code.
4736
4737         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
4738         Check bounds before deleting.
4739
4740 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
4741
4742         * autogen.sh: Support ACLOCAL_FLAGS
4743
4744 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
4745
4746         * gtk-config.in: Added missing quotes.
4747
4748 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
4749
4750         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
4751
4752 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
4753
4754         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
4755         G_COMPILED_WITH_DEBUGGING.
4756
4757         * configure.in (fd_set): Explain check better.
4758
4759         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
4760         the version from which gtk+'s libtool forked.  Needed for people
4761         who use post-1.2 alphas of libtool.
4762
4763 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
4764
4765         * glib/* Moved to glib module
4766
4767         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
4768           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
4769
4770           configuration changes for the above:
4771          
4772           - Use AM_PATH_GLIB by default to find glib; also accept
4773             a --with-glib option for using an uninstalled glib.
4774          
4775           - Put --enable-debug information into config.h so
4776             that we rebuild when it changes. (was in glibconfig.h)
4777
4778 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
4779
4780         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
4781
4782         * gtk/gtknotebook.h (struct _GtkNotebookClass):
4783         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
4784         added missing argument (according to Joseph Coleman's bug report)
4785
4786         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
4787         function to fix notebook focus handling
4788         
4789 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
4790
4791         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
4792           glib/gutils.c glib/testglib.c glib/gdataset.c
4793           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
4794           gtk/gtktext.c gtk/gtkbindings.c:
4795
4796          renamed g_const_pointer => gconstpointer
4797
4798 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
4799
4800         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
4801         invoked with (NULL, NULL); (this worked sometime ago).
4802
4803         * gtk/gtktypeutils.h: 
4804         * gtk/gtktypeutils.c: enum and flags type creation can now be done
4805         through gtk_type_register_enum() and gtk_type_register_flags(),
4806         which allow to specify the enum value arrays directly.
4807         the NULL terminated value arrays can be retrived through
4808         gtk_type_enum_get_values() and gtk_type_flags_get_values();
4809         (gtk_type_children_types): new function to query derived types.
4810
4811 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
4812
4813         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
4814         environment to genmarshal.pl.
4815         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
4816         rule), and removed it where not needed (in the dependencies).
4817
4818         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
4819
4820 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
4821
4822         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
4823         was just g_direct_hash.
4824
4825 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
4826
4827         * configure.in: x_libs=, not $x_libs=. Enough said.
4828           (Case only hit for --disable-xshm)
4829         
4830 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
4831
4832         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
4833           when testing for X libraries, don't replace them. Because
4834           the user might have specified the path to the X libraries
4835           themself before running configure.
4836
4837         * examples/**.c: Changed all gpointer * to gpointer
4838         
4839 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4840
4841         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
4842         fleur_cursor field.  Now the cursor is created/destroyed on demand
4843         by the routines that need it.
4844
4845         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
4846         (gtk_handle_box_motion): The fleur cursor is created and destroyed
4847         only when needed.
4848
4849 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
4850
4851         * gtk/gtktypeutils.h: 
4852         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
4853         gtk_enum_set_values to gtk_type_enum_get_values and
4854         gtk_type_enum_set_values respectively, since they are actually type
4855         system features.
4856
4857         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
4858         my last commit. ;)
4859
4860 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
4861
4862         * gtk/gtkselection.h: 
4863         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
4864         gtk_selection_data_free.
4865
4866         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
4867         for "selection_received", which was completely bogus.
4868         * other fixups to gtk_signal_new() calls all over the place.
4869
4870         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
4871         * gtk/gtktypebuiltins_vars.c: type variable implementations.
4872         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
4873         declarations.
4874         * gtk/gtktypebuiltins_evals.c: enum value arrays.
4875         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
4876         gtk.defs.
4877         * gtk/gtk.defs: generated file with scheme syntax for type definitions
4878         of gtk and gdk structures and enums.
4879         * gtk/gtktypeutils.h: 
4880         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
4881         macros anymore (this fixes binary incompatibility with new enum
4882         definitions).
4883
4884         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
4885         key bindings for this widget.
4886         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
4887         handler.
4888
4889         * gtk/gtkobject.h:
4890         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
4891         again. new functions gtk_object_class_user_signal_new () and
4892         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
4893         flag on the signal creation.
4894
4895 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
4896
4897         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
4898
4899 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
4900
4901         * gdk/gdkprivate.h: 
4902         * gdk/gdktypes.h: 
4903         * gtk/gtkprivate.h: 
4904         * gtk/gtkwidget.h: 
4905         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
4906
4907         * reworked enum value array generation code. gtk.defs is a generated
4908         file now.
4909
4910 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
4911
4912         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
4913         check menu items in the compatibility code (this required me to remove
4914         the "<check>" part from the menu item name, grrr).
4915
4916 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
4917
4918         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
4919         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
4920         
4921 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
4922
4923         * gtk/gtkitemfactory.h: 
4924         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
4925         additions to the dumping code to feature GtkPatternSpec.
4926         even found a bug to fix in the original code ;)
4927         
4928 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
4929
4930         * gtk/gtkitemfactory.c: support different types of callbacks, to
4931         maintain existing code.
4932
4933 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
4934
4935         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
4936
4937         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
4938         this should eventually be done by gentypeinfo.el somewhen.
4939         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
4940
4941         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
4942         enum values of an enum type.
4943
4944         * gtk/gtk.defs:
4945         * gtk/gtkcurve.h: 
4946         * gtk/gtkobject.h: 
4947         * gtk/gtkprivate.h: 
4948         * gtk/gtkwidget.h:
4949         * gtk/gtkenums.h: 
4950         brought enum/flags definitions in sync, added a few more enum
4951         definitions for bindings and pattern matching.
4952
4953         * some more macro and GtkType fixups in various places.
4954
4955         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
4956         as a key-release modifier for the binding system.
4957
4958 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
4959
4960         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
4961         was a stale list pointer that is already present in GtkMenuShell.
4962
4963         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
4964         GtkMenuShell::selection_done which is emitted after the menu shell
4965         poped down again and all possible menu items have been activated.
4966
4967 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
4968
4969         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
4970         before activation of the menuitem, so the menu is actually taken off the
4971         screen prior to any menu item activation.
4972
4973         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
4974         for NULL nodes.
4975
4976         * gtk/gtkwidget.h:
4977         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
4978         the emission of the "add-accelerator" signal on a widget. this is
4979         usefull to prevent accelerator installation on certain widgets.
4980
4981         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
4982         labels left justified, by setting their alignment. stop accelerator
4983         installation for the menu items, since we use dynamic menus.
4984
4985 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
4986
4987         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
4988         should *really* use GtkItemFactory. this is only for preserving source
4989         compatibility where possible, use of GtkMenuFactory is deprecated as of
4990         now.
4991
4992         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
4993         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
4994         missed this possibility when i added gtk_object_class_add_user_signal
4995         in late january.
4996
4997         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
4998
4999 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
5000
5001         * gtk/gtkaccelgroup.h: 
5002         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
5003
5004         * gtk/gtkaccellabel.h: 
5005         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
5006         display of the accelerators associated with a certain widget.
5007
5008         * gtk/gtkitemfactory.h: 
5009         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
5010         parsing and accelerator handling.
5011
5012         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
5013         positioning a menu.
5014         (gtk_menu_map): removed the allocation code.
5015         (gtk_menu_size_allocate): care for redrawing of children and resize
5016         our widget->window correctly.
5017         (gtk_menu_key_press): feature the new accelerator groups.
5018
5019         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
5020         submenu if neccessary.
5021
5022         * gtk/gtkmenuitem.c:
5023         * gtk/gtkcheckmenuitem.c:
5024         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
5025         function variants.
5026
5027         * gdk/gdk.c:
5028         (gdk_keyval_from_name): 
5029         (gdk_keyval_name): new functions for keyval<->key-name associations.
5030         (gdk_keyval_to_upper): 
5031         (gdk_keyval_to_lower): 
5032         (gdk_keyval_is_upper): 
5033         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
5034         regards to their cases.
5035
5036 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
5037
5038         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
5039         widget's class path.
5040         (gtk_widget_path): new function to calculate a widget's name path.
5041
5042         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
5043         pattern matching, features reversed pattern matches.
5044
5045 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
5046
5047         * examples/extract.sh, examples/extract.awk:
5048           New files to automagically extract code examples from the
5049           tutorial.
5050
5051 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
5052
5053         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
5054         * gtk/gtkcontainer.c (gtk_container_focus_move):
5055         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
5056
5057 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
5058
5059         * docs/gtk_tut.sgml: minor changes to support auto
5060           extraction of example code
5061
5062 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
5063
5064         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
5065           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
5066
5067 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
5068
5069         * docs/gtk_tut.sgml:
5070           - new section on Events
5071           - change all delete_event callbacks to include
5072             a GdkEvent parameter
5073           - clean up the formatting
5074
5075         * examples - helloworld.c, helloworld2.c, notebook.c,
5076           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
5077           rulers.c, table.c, wheelbarrow.c: change all delete_event
5078            callbacks to include a GdkEvent parameter.
5079
5080 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5081
5082         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
5083         field of crossing events.
5084         (struct _GdkEventCrossing): Added the following fields: time, x,
5085         y, x_root, y_root, mode, focus, state.
5086
5087         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
5088         crossing event structure.
5089
5090         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
5091         changes to the crossing event structure.
5092
5093 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
5094
5095         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
5096
5097 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
5098
5099         * docs/gtk_tut.sgml:
5100            - GtkTooltips, update to current API
5101            - change all 'gpointer *data' to 'gpointer data'
5102            - other minor changes
5103
5104 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
5105
5106         * configure.in (LDFLAGS): Bomb out with a moderately
5107           helpful message if detection of X libraries fails.
5108
5109 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
5110
5111   [ Combination of:
5112      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
5113      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
5114
5115         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
5116           gtk/gtksignal.c gtk/gtktext.c: 
5117
5118           Fixups for warnings from adding const to type of GHashFunc,
5119           GCompareFunc
5120         
5121         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
5122           ansi-warnings fixups.
5123
5124 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
5125
5126         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
5127         Locate child at (border_width,border_width), not
5128         (2*border_width,2*border_width). [ The border is _outside_
5129         widget->window ]
5130         
5131         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
5132           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
5133
5134 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5135
5136         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
5137         used in gnome-libs
5138
5139 1998-05-22    <sopwith@redhat.com>
5140
5141         * gtk/gtkeventbox.c: Pass size_allocate on to the child
5142         regardless of whether it is visible or not. Also
5143         locate child at (border_width,border_width), not (0,0)
5144
5145 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
5146
5147         * gtk/gtkhandlebox.c: Added style_set handler.
5148
5149 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
5150  [ From: Chris Lahey  <clahey@umich.edu> ]
5151         
5152         * gtk/gtkeditable.c, gtk/gtkeditable.h,
5153           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
5154           and set_position functions to get and set the cursor position.
5155
5156         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
5157           signal status. Make GtkText do user-controlled insertion
5158           and deletion through the Editable widget so that these
5159           signals are properly emitted.
5160
5161         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
5162           display asterisks instead of empty space when visible = FALSE)
5163
5164 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
5165
5166         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
5167         signal.
5168
5169 1998-05-21    <sopwith@redhat.com>
5170
5171         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
5172         custom routine for loading images specified in gtkrc's.
5173
5174 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
5175
5176         * configure.in: Use pthread_attr_init() as a test function,
5177         since most of the rest of -lpthread is macros on DU4.
5178
5179 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
5180
5181         * gtk/gtkcombo.c: implemented completion in the entry.
5182
5183 1998-05-18    <sopwith@moebuis.labs.redhat.com>
5184
5185         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
5186
5187 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
5188
5189         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
5190         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
5191         to be of runtype GTK_RUN_LAST.
5192
5193         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
5194         "need-resize".
5195
5196         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
5197         "widget-selected".
5198
5199 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
5200
5201         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
5202         text retrived from GtkEntry. only intercept the Tab key if there
5203         was some text to complete.
5204
5205 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
5206
5207         Basic thread-awareness:
5208
5209         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
5210
5211         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
5212         gdk_threads_[init/enter/leave] for applications, plus
5213         gdk_threads_wake to wake the mainloop thread out of
5214         the select().
5215
5216         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
5217
5218 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
5219
5220         * gtk/testgtk.c (list_clear): Account for the fact
5221         that gtk_list_clear_items is not inclusive. (Clears
5222         [start, end))
5223
5224 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
5225
5226         * gdk/gdk.c: include gdkkeysyms.h always
5227         
5228
5229 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
5230
5231         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
5232         the visibility_notify_event method and changed method order.
5233
5234 1998-05-14    <sopwith@moebuis.labs.redhat.com>
5235
5236         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
5237
5238 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
5239
5240         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
5241         from Olli Helenius <ollhel@batman.jytol.fi>.
5242
5243         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
5244         freeing types.
5245         (gtk_type_set_chunk_alloc): new function to allow allocation of new
5246         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
5247         thorugh g_malloc).
5248
5249         * gtk/gtkobject.c (gtk_object_finalize): free an object through
5250         gtk_type_free().
5251
5252         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
5253         GtkButtons to 16.
5254         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
5255         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
5256
5257 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
5258
5259         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
5260           GPOINTER_TO_UINT fixes.
5261
5262         * gtk/gtksignal.c: Include <string.h> for memset.
5263
5264 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
5265         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
5266
5267         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
5268         Cleanups, comments and the ability to have rulers with 
5269         a reversed direction.
5270
5271 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
5272
5273         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
5274         that Sopwith missed when changing stat => lstat.
5275
5276 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
5277
5278         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
5279           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
5280         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
5281
5282         * gdk/gdk.c: Print sizeof() results
5283         as g_print("%ld", (glong)sizeof(foo)), to deal with
5284         sizeof() being long on Alpha's.
5285
5286         * gtk/testgtk.c: include <string.h> for strlen
5287
5288 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
5289         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
5290         
5291         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
5292         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
5293
5294         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
5295
5296 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5297         (From: Christopher James Lahey <clahey@umich.edu>)
5298         
5299         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
5300           gtk/testgtk.c:
5301
5302         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
5303         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
5304         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
5305         the default relief for the toolbars buttons. Added an
5306         toggle for the toolbar test in testgtk.c.
5307
5308 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
5309
5310         * docs/gtk-config.1: Rewritten and hopefully improved.
5311
5312 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
5313
5314         * docs/Makefile.am
5315         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
5316
5317 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5318
5319         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
5320         GtkPreview's visual and colormap, otherwise things can BadMatch.
5321
5322         * gtk/testgtk.c (create_color_preview): 
5323         (create_gray_preview): Removed pushing/popping of visual/colormap
5324         now that GtkPreview does things correctly.
5325
5326         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
5327         (gtk_color_selection_draw_wheel): Pick the style from the correct
5328         place (the colorsel->wheel_area widget) so that the GCs will match
5329         with where we are going to paint to.
5330
5331         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
5332         of visual/colormap now that GtkColorSelection does things the
5333         right way.
5334
5335 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
5336
5337         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
5338         previously unused window->need_resize flag to mark if a window's
5339         descendents changed size while the window was not visible. In this
5340         case, when the window becomes visible, we reallocate everything,
5341         since we didn't keep track of what actually changed.
5342
5343         (Fixes bug where changing the popdown strings of a
5344         combo to something of the same length caused them to
5345         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
5346
5347 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
5348
5349         [security audit by Alan Cox]
5350
5351         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
5352         exceed maximum assumed size.
5353
5354         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
5355         not exceed maximum assumed size.
5356         (gtk_menu_factory_remove): likewise.
5357         (gtk_menu_factory_find_recurse): likewise.
5358
5359 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
5360
5361         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
5362         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
5363         redrawn if that is still neccessary. don't allow queueing of already
5364         destructed objects.
5365         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
5366         widgets which are in the queue can be destroyed safely, handle
5367         requeueing properly.
5368         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
5369         widgets which are in the queue can be destroyed/unrealized safely.
5370
5371 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
5372
5373         * gtkfaq.sgml: add question on multi-threading,
5374           minor URL cleanups.
5375
5376 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
5377
5378         * configure.in (cflags_set): preserve automake CFLAGS.
5379
5380         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
5381         and libgdk-1.1.la. this means we need to change certain portions of
5382         the Makefile.am on major/minor version bumps.
5383
5384         * ltmain.sh: the -release option is not required anymore.
5385         
5386         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
5387         of the first argument to be of type GtkObject. unconditionally compile
5388         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5389         gtk_object_unref macro wrappers for this function.
5390
5391 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5392
5393         * gtk/gtkobject.h:
5394         * gtk/gtkobject.c:
5395         (gtk_object_data_try_key):
5396         (gtk_object_data_force_id): these are now macros substituting the old
5397         functions. we just use the corresponding g_dataset_* functions for
5398         key->id associations. (this is to assure unique key<->id associations).
5399
5400 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5401
5402         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5403         to gboolean.
5404
5405         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5406
5407 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5408
5409         * configure.in (LIBS): Try to figure out if this
5410         is Digital Unix and we need -std1 to get the
5411         right prototypes.
5412
5413 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5414
5415         * docs/gtk_tut_it.sgml: update of Italian tutorial
5416           translation from Daniele Canazza <dcanazz@tin.it>
5417
5418 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5419
5420         * gtk/gtkfeatures.h.in: new file used as template for
5421         * gtk/gtkfeatures.h: new file to define macros indicating newly
5422         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5423
5424         * gtk/gtksignal.c:
5425         (gtk_signal_emitv_by_name):
5426         (gtk_signal_emitv):
5427         new functions to emit signals with an already provided parameter set.
5428         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5429         (gtk_signal_real_emit): prototype changes, so this functions always
5430         gets its parameters and signal structure as arguments.
5431         (gtk_signal_emit): provide the signal structure and parameter list for
5432         gtk_signal_real_emit.
5433         (gtk_signal_emit_by_name): likewise.
5434
5435 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5436
5437         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5438         signal connections through unsetting GTK_CONNECTED.
5439         (gtk_signal_handler_insert): reflect the presence of signal connections
5440         through setting GTK_CONNECTED.
5441         (gtk_signal_real_emit): only check for handler emissions if the object
5442         has the GTK_CONNECTED flag set.
5443         (gtk_signal_handler_pending): don't check for pending handlers if the
5444         GTK_CONNECTED flag is not set for this object.
5445
5446         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5447         a GtkObject has signal handler connections.
5448
5449         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5450         set for this object call gtk_signal_handlers_destroy().
5451         
5452         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5453         multiple processing of macro args.
5454
5455         * gtk/gtktypeutils.c:
5456         * gtk/gtkobject.c:
5457         * gtk/gtkwidget.c:
5458         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5459
5460 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5461
5462         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5463         draw-queue when we are done. 
5464
5465         (gtk_widget_queue_draw/_queu_resize): Always return
5466         FALSE and avoid having two idles at the same time.
5467         
5468 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5469
5470         * gtk/gtktext.c: Various fixes to make sure cache
5471         lines are freed if line_start_cache doesn't point to the
5472         beginning of the cache.
5473
5474 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5475
5476         * style_set improvements for GtkText and GtkEntry
5477
5478 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5479
5480         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5481         been initialized.
5482
5483 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5484
5485         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5486         data chunks through a global object data structure list. unlink
5487         object data before invoking its destroy function.
5488         (gtk_object_finalize): slight modification to allow usage of object
5489         data during object finalization.
5490
5491 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5492
5493         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5494         signal names, e.g. "signal-name" is now an alias for "signal_name".
5495         (gtk_signal_handler_new): allocate handlers through a global handler
5496         structure list, that's faster than memchunks.
5497         (gtk_emission_new): allocate emissions through a global emission
5498         structure list, that's faster than memchunks.
5499
5500 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5501
5502         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5503
5504         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5505         but will immediately change the library name.
5506
5507         * gdk/Makefile.am:
5508         * gtk/Makefile.am: specify -postfix and -version-info
5509
5510         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5511         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5512
5513 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5514
5515         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5516         background (fg_set -> bg_set confusion).
5517
5518 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5519
5520         * gtk/testgtk.c (unselect_all): Removed code that caused an
5521         endless loop.
5522
5523 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5524
5525         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5526         linear array rather than a hash table.
5527         be carefull *not* to keep any GtkSignal pointers across invokations
5528         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5529         general code cleanups, made all allocations through memchunks.
5530         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5531         for the signal names to avoid multiple hashing of the signal name on
5532         lookups for the several hirarchy levels of an object.
5533
5534 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5535
5536         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5537         to speed things up and remove code duplication.
5538
5539         Reintegrated buffer overflow patches, and added
5540         some extra paranoia.
5541         
5542 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5543
5544         * gdk/gdk.c (gdk_event_translate): A guint * was
5545         being passed where X expected a Keysym *, and
5546         keysyms are long's on Alpha Linux. This was causing
5547         segfaults in Xlib, apparently because of alignment.
5548         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5549         
5550 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5551
5552         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5553         set GDK_EXPOSURE_MASK for DrawingAreas
5554
5555 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5556
5557         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5558         (superceded by RC file reparsing capabilities)
5559
5560         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5561         events. (Shouldn't be sent to the InputOnly leader, which
5562         it is now by gdk_event_send_clientmessage_toall
5563
5564         * gtk/testgtk.c: Added extra button to rcfiles test
5565         to send out _GDK_READ_RCFILES events.
5566         
5567 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5568
5569         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5570         reversed conditionals that caused segfault on some
5571         platforms.
5572
5573 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5574
5575         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5576         cast to GTK_OBJECT for gtk_object_ref.
5577
5578 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5579
5580         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5581         checking for signal initialization in gtksignal.c.
5582
5583         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5584         a long debugging period ;)
5585
5586 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5587
5588         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5589         New function to wrap XSetDashes; modified gtkctree.c to use it.
5590
5591 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5592
5593         * configure.in: Added $x_libs in the other_libraries field in the
5594         check for XShapeCombineMask.
5595
5596 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5597
5598         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5599         gtk_type_is_a().
5600         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5601         linear array rather than a hash table. it actually speeded up testgtk
5602         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5603         pointers across invokations of gtk_type_node_next_and_invalidate() and
5604         therefore gtk_type_unique()!
5605
5606         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5607         inheritance of a class pointer.
5608         (GTK_OBJECT): modifications for speedups.
5609         (GTK_IS_OBJECT): likewise.
5610         (GTK_OBJECT_CLASS): likewise.
5611         (suggested by owen).
5612
5613         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5614
5615         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5616
5617         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5618         since its derivation changed 4 month ago ;(. showed up with the unique
5619         type name checking code in gtk_type_unique().
5620
5621         * random guint->GtkType and macro fixups.
5622
5623 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
5624
5625         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
5626         Configure events that would result in a negative
5627         size.
5628
5629 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
5630
5631         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
5632         "glibconfig.h" and another about writing another IRC
5633         client.
5634
5635 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
5636
5637         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
5638         parameters to log are doubles. Digital Unix apparently
5639         is missing the argument in its prototype.
5640
5641 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
5642
5643         * gtk/gtklabel.c (gtk_label_state_changed): Don't
5644         force a clear until the widget is actually on
5645         screen.
5646
5647 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
5648
5649         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
5650         to make this consistent with the gtk-1-0 tree.
5651
5652 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
5653
5654         * configure.in acheader.h gdk/gdkwindow.c 
5655         Check for Shape extension both on the client and server
5656         side. (And, more importantly, check for the shape extension
5657         so we may include -lXext even when compiling with --disable-xshm)
5658
5659         Don't set override_redirect on all shaped windows. It isn't
5660         necessary.
5661
5662         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
5663         and foreign windows. Use this to check if we
5664         need to get the colormap from X.
5665
5666 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
5667
5668         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
5669         between the default and the button always in GTK_STATE_NORMAL.
5670
5671         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
5672         callback.
5673
5674 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
5675
5676         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
5677           Fix a buffer overflow on pixmaps that claim to have
5678           more than 31 characters per pixel.
5679
5680           (gdk_pixmap_read_string): Don't wrap around strings longer
5681           than half of address space ;-)
5682
5683         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
5684         that were used for printing integers.
5685
5686         * */* (almost):
5687
5688         Style: All 
5689           int foo () { ... }
5690         changed to
5691           int foo (void) { ... }
5692
5693         Even where there were proper prototypes elsewhere.
5694
5695         * gdk/gxid.c (handle_claim_device): Some extra checks.
5696         It isn't safe against being fed bad X id's, but at
5697         least it should be safe against deleting all your
5698         files.
5699
5700 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
5701
5702         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
5703         to set the adjustments value when there is no current emission.
5704         [ Removed by mutual agreement owt 5/3/1998 ]
5705
5706         * gtk/gtksignal.c: added new functions to retrive the number of
5707         existing emissions for a certain signal.
5708         (gtk_signal_n_emissions): new function.
5709         (gtk_signal_n_emissions_by_name): new function.
5710
5711 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
5712
5713         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
5714         set the current focus_child of a container, does proper referencing and
5715         adjusts the vadjustment/hadjustment associated with the focus widget.
5716
5717         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
5718         containers via gtk_container_set_focus_child.
5719
5720         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
5721         where appropriate.
5722
5723         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
5724         child since not every child removal goes through this function (this
5725         showed up after gtk_container_set_focus_child() started to reference the
5726         focus_child of a container).
5727
5728         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
5729         of a container from gtk_container_remove into this place.
5730
5731 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
5732
5733         * gtk/gtksignal.c: added new functions to operate on intermediate
5734         function pointers. implemented incremental blocking.
5735         (gtk_signal_disconnect_by_func): new function.
5736         (gtk_signal_handler_block_by_func): new function.
5737         (gtk_signal_handler_unblock_by_func): new function
5738
5739 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
5740
5741         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5742         Always show the scrollbars when the policy is
5743         GTK_POLICY_ALWAYS...
5744
5745 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
5746
5747         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
5748         "value_changed" if we really passed a new value.
5749         (gtk_adjustment_changed): new function to emit the "changed" signal.
5750         (gtk_adjustment_set_value): new function to emit the "value_changed"
5751         signal.
5752
5753 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
5754
5755         * gtk/gtkcombo.c: Further changes to the way the window
5756         is popped up so that it will be compatible with 
5757         auto-scrolling in the future.
5758
5759 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
5760
5761         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
5762         the combo-list is empty since that will cause the combo to operate
5763         on a non existing GtkList window.
5764         (gtk_combo_get_pos): provide the combo list with a usfull default
5765         height if empty.
5766         (gtk_combo_popup_button_press): grab the focus.
5767         (gtk_combo_activate): grab the focus.
5768
5769 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
5770
5771         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
5772         function to reset the RC styles for a heirarchy
5773
5774         Clear the window background if necessary in
5775         gtk_window_style_set.
5776
5777         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
5778         rereads all previously read RC files.
5779
5780         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
5781         (Should it just be called gdk_get_toplevels?)
5782
5783         * gtk/testgtk.c: New test to reload RC files.
5784
5785 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
5786
5787         * gtk/gtkclist.h:
5788         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
5789         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
5790         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
5791         the GTK_ prefix (this solution involved less changes in the
5792         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
5793         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
5794         from lars & stefan to support the derivation of GtkCtree.
5795
5796         * gtkctree.h:
5797         * gtkctree.c:
5798         initial import of a tree widget derived from gtkclist, courtesy
5799         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
5800         it just damn rocks!
5801
5802 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
5803
5804         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
5805         for us.
5806         (gtk_list_insert_items):
5807         (gtk_list_remove_items_internal): 
5808         (gtk_list_clear_items): 
5809         remove a possible pointer grab, we might get thrown into a loop
5810         otherwise.
5811         (gtk_list_button_press): grab the pointer *before* selecting the child,
5812         because selection of items may cause the lists children to change,
5813         resulting in a grab release.
5814         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
5815         children.
5816         (gtk_list_shutdown): remove all children from the list.
5817         (gtk_real_list_unselect_child): 
5818         (gtk_real_list_select_child): *always* put our internal structures into
5819         sane state *before* signal emisions (i.e. list->selection updates prior
5820         to gtk_list_item_[de]select() calls).
5821
5822         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
5823         focused child walks out of the window.
5824         removed CAN_FOCUS for the combo arrow's button since it doesn't react
5825         to keyboard events ("clicked" connection is missing).
5826
5827 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
5828
5829         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
5830         getting colormap for FOREIGN windows to go along with
5831         Raster's fix for visuals.
5832
5833 Merges from gtk-1-0
5834 ===================
5835         
5836 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
5837
5838         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5839         Check to catch the case when the viewport fits in either
5840         direction or both, instead of flip-flopping infinitely.
5841
5842         Only show/hide the scrollbars once at the end.
5843
5844 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
5845
5846         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
5847         Include the scrollbars in the foreach call.
5848         (gtk-fortier-980405-0.patch; 
5849          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
5850
5851         The notebook widget
5852         really should also include its tabs, but that might cause
5853         problems for programs if they
5854
5855 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
5856
5857         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
5858         resize if the size actually changed. 
5859         (gtk-johannes-980414-0.patch ;  
5860          johannes@nada.kth.se (Johannes Keukelaar) )
5861
5862 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5863
5864         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5865           ltmain.sh ltconfig config.sub config.guess:
5866
5867         Reverted back to libtool-1.2 (plus minor patches) so as not to
5868         force the issue for everyone else.
5869
5870 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5871
5872         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5873         Updated to libtool 1.2a.
5874
5875         * gtk/gtkclist.c: Draw the in-between lines with style->base
5876         instead of style->white.
5877         
5878 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5879
5880         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
5881         Cache the colormap and children of a window locally
5882         instead of fetching them from the server when needed.
5883         Huge performance difference for creating/destroying
5884         windows.
5885
5886         * gtk/gtkstyle.c: Find the depth from the cached
5887         visual, instead of asking the server.
5888
5889         * gtk.m4: Distribute the new version which tries to
5890         figure out what went wrong and give helpful error
5891         messages.
5892
5893         * ltmain.sh ltconfig config.sub config.sh: 
5894         Updated to libtool 1.2a
5895
5896         * gtk/gtktext.c: Fixed a bug where the drawn level
5897         was being messed up when the text was scrolled
5898         during a deletion.
5899         
5900 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
5901
5902         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
5903         the filesystem under you (fix from Josh)
5904
5905 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
5906
5907         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
5908         if the viewport already exists before iterating over it, maybe we
5909         haven't been constructed yet.
5910
5911 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
5912
5913         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
5914         the GtkBin widget already has a child.
5915
5916         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
5917         check that child->parent == NULL;
5918
5919 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
5920
5921         * gtk/gtkselection.c (gtk_selection_clear): Only return
5922         FALSE when the clear event is been rejected, not when
5923         widget has already lost the selection. (Which should
5924         only happen when we are setting the selection to another
5925         widget ourself.)
5926         
5927 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
5928
5929         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
5930
5931         Removed the "check visibility after gtk_widget_unparent" bug 
5932         in hopefully the last three places.
5933
5934 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
5935
5936         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
5937         rc-files.
5938
5939 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
5940
5941         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
5942         for CAN_FOCUS widgets.
5943
5944         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
5945         adjustments for the table.
5946         (create_list): feature automatic adjustment of the scrolled window to
5947         always contain the focused child.
5948         (create_main_window): keep the focussed button always inside of the
5949         scrolled windoww.
5950
5951         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
5952         adjustments, to contain the allocation of the currently focused child.
5953         (gtk_container_set_focus_hadjustment): new functin to set the
5954         horizontal focus adjustment.
5955         (gtk_container_set_focus_vadjustment): new functin to set the vertical
5956         focus adjustment.
5957
5958         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
5959         clamp the currents adjustment page into a specific range.
5960
5961         * random GtkType fixups for gtk_*_get_type() functions.
5962
5963 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
5964
5965         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
5966         Account for the fact that gtk_tree_item_remove_subtree
5967         will be called recursively. 
5968
5969         Handle removing a collapsed subtree.
5970
5971         (From Andy Dustman <adustman@comstar.net>)
5972         
5973         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
5974         root tree when removing items from a non-previously
5975         mapped tree.
5976
5977         * gtk/testgtk.c: Added a remove_subtree button.
5978         
5979 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
5980
5981         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
5982         before object removing data. This change fixes a bug where 
5983         removing the last weak references would cause it to be 
5984         triggered.
5985
5986 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
5987
5988         * gdk/Makefile.am: Removed mostly useless dependency that
5989         was causing problems for SGI's make, when used with
5990         the 'make dist' form of GTK+. (Dependency caused dependencies
5991         to be redone when BUILT_SOURCES changed)
5992
5993 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
5994
5995         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
5996         like a menu.
5997         
5998         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
5999         to gtkitem.c so dragging can also work in lists.
6000
6001         * gtk/gtklist.[ch]: Track child enter events and use
6002         those to allow dragging the selection. 
6003
6004 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
6005
6006         * gtk/gtktext.c: Try enabling background pixmaps for editable text
6007         widgets.  There is a bit of flashing, but not too bad. If you
6008         don't want the flashing, you can always not set a background
6009         pixmap.
6010
6011 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6012
6013         * gtk/gtktext.c: Fixed a bug where the drawn level
6014         was being messed up when the text was scrolled
6015         during a deletion.
6016         
6017 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6018
6019         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
6020         bug:  There is no need to set the ExposureMask in the XGrabPointer
6021         (this caused DnD programs to crash).
6022
6023 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
6024
6025         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
6026         field to be of type guint.
6027         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
6028         ref_count>0;
6029         (gtk_accelerator_table_install): keep a per object list of accelerator
6030         tables that refer to this object.
6031         (gtk_accelerator_table_remove): remove the accelerator table from the
6032         per object list.
6033         (gtk_accelerator_table_clean): warn if there are any object references
6034         left in an accelerator table upon destruction.
6035         (gtk_accelerator_tables_delete): new function to delete object
6036         references from the accelerator tables associated with this object.
6037
6038         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
6039         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
6040         of an accelerator can be prevented by gtk_signal_emit_stop().
6041         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
6042         so there are no stale pointers in accelerator tables left.
6043
6044 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6045
6046         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
6047         visible before we unparent it.
6048
6049 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
6050
6051         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
6052         running_timeouts list with the tmp_list link itself, not with a new
6053         GList structure pointing to our link. that would fill up memory and
6054         causes the GList.data fields of the running_timeouts list to point to
6055         GList structures and not GtkTimeoutFunction structures which is a
6056         *really* bad thing.
6057         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
6058         the above entry ;).
6059
6060 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
6061
6062         * gtk/gtkradiomenuitem.h: 
6063         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
6064         ala gtk_radio_button_set_group.
6065         (gtk_radio_menu_item_init): assure that we always have at least a group
6066         that points to self.
6067
6068         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
6069         added g_return_if_fail() statements.
6070         (gtk_radio_button_init): assure that we always have at least a group
6071         that points to self.
6072
6073 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
6074
6075         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
6076
6077 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
6078
6079         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
6080         (Damon Chaplin), which i got wrong when applying Damon's patch the last
6081         time.
6082
6083 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6084
6085         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
6086         that when we are running with a non-installed colormap,
6087         in 8-bit pseudo-color, we actually are using the system
6088         visual. (Fixes *Bad Match* errors on Digital Unix machines
6089         with multiple 8-bit pseudo-color visuals)
6090
6091 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6092
6093         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
6094         by whoever thought that randomly changing ints to unsigned int
6095         without reviewing the code was a good idea.  It is, btw not
6096         mentioned in the ChangeLog as usual, but I know it was not Elliot
6097         the culprit this time. 
6098
6099 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
6100
6101         * Released GTK+ 1.0.0