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