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