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