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