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