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