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