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