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