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