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