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