]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
removed xor_gc, use clists xor_gc instead removed
[~andy/gtk] / ChangeLog.pre-2-2
1 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
2
3         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
4         xor_gc instead
5         * gtk/gtkctree.c (create_xor_gc): removed
6         (gtk_ctree_button_press): set correct line_attributes for
7         clist->xor_gc on drag start
8         (gtk_ctree_button_release): reset clist->xor_gc
9
10 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
11
12         * gtk/gtk*.h:
13         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
14         which were in place to fixup emacs' cc-mode indentation.
15         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
16         proper way to achive this and doesn't produce problems for
17         stupid pragma-related compiler bugs. ;)
18
19 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
20
21         * gtk/gtkclist.h: new signal GtkCList::resize_column.
22         * gtk/gtkclist.c (draw_row): don't draw invisible columns
23         (size_allocate_title_buttons) (size_allocate_columns):
24         skip invisible columns
25         (new_column_width): take min/max_width into account 
26         (gtk_clist_button_release) (gtk_clist_motion):
27         changes due to changed new_column_width function
28         (LIST_WIDTH): changed define to inline function.
29         (real_resize_column): class function for resize_column signal
30         (gtk_clist_motion): fixed autoscrolling for column resizes
31         (gtk_clist_set_column_visibility): don't hide last visible column,
32         changed visible arg to gboolean
33         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
34         new functions : set min/max width of a column
35         (gtk_clist_set_column_resizeable): new function : enable/disable
36         column resize operations by mouse
37
38         * gtk/gtkctree.c (draw_row): don't draw invisible columns
39         (ctree_is_hot_spot): return FALSE if tree_column is invisible
40         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
41         tree_column is invisible
42         (gtk_ctree_find_all_by_row_data)
43         (gtk_ctree_find_all_by_row_data_custom):  new function from
44         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
45         GtkCTreeNodes with row->data == data.
46
47 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
48
49         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
50         memory (Martin Pool <mbp@wistful.humbug.org.au>).
51
52 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
53
54         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
55         should have been guint32. Thanks to Tristan Colgate for finding it.
56
57 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
58
59         * gtk/gtkcalendar.h:
60           gtk/gtkcalendar.c: More changes:
61           - The day with focus is now seperated from the day selected
62           - The day with focus has the xor's line around it
63           - The selected day is now standard selected style
64           - The week names and week numbers are now also drawn
65             with selected style
66           - Space now selects the day which has focus
67
68 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
69
70         * gtk/gtkcalendar.h:
71           gtk/gtkcalendar.c: Some significant changes, including:
72           - No longer draw focus around entire widget, only around
73             the day which has focus
74           - Draw relief around entire widget like originally planned
75           - Show header and day names by default 
76           - Move data private to the widget out of GtkCalendar struct
77             and only point to it with a gpointer
78           - Remove some old unused variables from GtkCalendar struct
79
80 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
81
82         * docs/gtk_tut.sgml: update I've had sat around:
83           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
84           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
85           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
86
87 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
88
89         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
90         
91         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
92         Makes it possible to individually show and hide columns.
93         (size_allocate_columns): Adapted to keep track of hidden columns.
94         (size_allocate_title_buttons): Likewise.
95
96 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
97
98         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
99         fundamental types, collect an argument of the type returned from
100         gtk_type_get_varargs_type(). removed the first macro argument which
101         was just the same as the fundamental type of the *arg passed to
102         the macro.
103         * gtk/gtkarg.c (gtk_args_collect): 
104         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
105
106         * gtk/gtktypeutils.h: 
107         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
108         gtk_type_get_varargs_type() to set and query the varargs collect
109         type used for a fundamental type, registered outside of Gtk.
110
111         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
112         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
113         GTK_TYPE_FLOAT.
114
115         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
116         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
117         to GTK_TYPE_FLOAT.
118
119 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
120
121         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
122         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
123         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
124
125         (real_tree_expand) (real_tree_collapse):
126         don't expand/collapse a leaf
127
128 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
129
130         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
131         segfault when looking up a non-existant value name (reported by
132         Pablo <pcj+gtk@primenet.com>).
133
134 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
135
136         * gtk/gtkclist.h (gtk_clist_prepend):
137         * gtk/gtkclist.c (gtk_clist_prepend): new function.
138         (gtk_clist_insert): added g_return_val_if_fail()
139         statements. accept a row parameter < 0 or > clist->rows to indicate
140         append mode.
141         (real_clear): first clean up all internal pointers and lists (e.g.
142         clist->row_list or clist->rows), then delete the distinct rows. this
143         is required because of destroy notifiers, we need to have all internal
144         structures updated and be reentrant.
145
146         * gtk/gtkcalendar.h: 
147         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
148         GtkCalendarClass signal methods.
149         GtkType and macro fixups, put `void' into () prototypes, avoid C++
150         style comments, indentation fixes, fixed some g_return_if_fail()
151         statements.
152         (gtk_calendar_paint_header):
153         (gtk_calendar_paint_day_names): 
154         (gtk_calendar_paint_week_numbers): 
155         (gtk_calendar_paint_main): made these static functions.
156         (gtk_calendar_select_month):
157         (gtk_calendar_select_day):
158         (gtk_calendar_mark_day):
159         (gtk_calendar_unmark_day):
160         (gtk_calendar_get_date): signedness corrections, use guints
161         rather than gints.
162         (gtk_calendar_size_request): removed unused variables.
163
164 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
165
166         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
167         widgets in the ->widgets_by_action list that have a callback
168         defined (not only those with a callback_action!=0).
169
170 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
171
172         * gtk/gtkcalendar.h:
173           gtk/gtkcalendar.c:
174           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
175
176 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
177
178         * gtk/gtkcalendar.h:
179           gtk/gtkcalendar.c:
180           examples/calendar: Added gtkcalendar widget and demo
181
182 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
183
184         * gtk/gtkclist.c (gtk_clist_sort): 
185         (gtk_clist_clear): 
186         (gtk_clist_unselect_all): 
187         (gtk_clist_select_all): adde g_return_if_fail() statements.
188
189 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
190
191         * configure.in: set binary age and interface age to 0.
192
193         * gtk/gtkspinbutton.h: 
194         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
195         gtk_spin_button_configure. gtk_spin_button_construct is still defined
196         as an alias for gtk_spin_button_configure for source compatibility,
197         but actuall use is deprecated.
198         typeness corrections, i.e. gint->gboolean and gint->guint.
199         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
200         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
201         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
202         GtkSpinButton::adjustment, GtkSpinButton::digits and
203         GtkSpinButton::climb_rate.
204         GtkType and macro fixups.
205
206 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
207
208         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
209         the *real* geometry position of a window, taken possible window
210         manager offsets into account.
211         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
212         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
213         it does fail though for amiwm which adds windows to a pseudo root
214         window, and for icewm by a small offset because it defines the
215         geometry position whithin its border.
216
217         * gtk/testgtk.c: added "saved position" test to figure how
218         gdk_window_get_root_origin() interacts with window managers (repopup
219         this window to figure ;).
220
221 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
222
223         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
224         interface age 1.
225
226         * gtk/gtkobject.c
227         (gtk_object_ref): 
228         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
229         existing code was buggy in letting ->ref_count==0 pass through and
230         then failing the living_objs_ht assertion).
231
232         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
233         pixtext fields (Roman Pozlevich <roma@botik.ru>).
234
235 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
236
237         * Released GTK+ 1.1.2
238
239 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
240
241         * gtk/Makefile.am: use $(PERL) instead of perl
242         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
243         also much faster to render.
244
245 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
246
247         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
248         the required memory block, rather than allocating it newly from
249         scratch and doing a full-blown block copy on it.
250
251 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
252
253         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
254         binary age 0, interface age 0.
255
256         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
257
258 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
259
260         * ltconfig.sh: Patch to libtool-1.2b to make --disable-static
261         work.
262
263 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
264
265         * HACKING: indent other than GNU indent should be OK
266           now.
267
268         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
269           instead of piping through indent. If indent wasn't
270           found in ./configure don't bother indenting at 
271           all.
272
273 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
274
275         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
276
277 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
278
279         * gtk/Makefile.am: use $(AWK) instead of awk
280
281 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
282
283         * gtk/Makefile.am (gdk_headers): 
284         Remove references to $(top_srcdir). 
285         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
286         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
287
288 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
289
290         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
291         GData*object_data to cure compiler warnings.
292
293 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
294
295         * install-sh
296         * missing
297         * mkinstalldirs: updated to latest automake version
298
299 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
300
301         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
302         (gtkinclude_HEADERS): ... here.
303         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
304
305 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
306
307         * HACKING: added GNU indent, as it is now required to successfully
308         build gtk+. Should this be detected in autoconf, possibly?
309
310 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
311
312         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
313         change library versioning scheme to drop LT_RELEASE
314         from the -l line, while keeping it in the soname.
315
316 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
317
318         * configure.in Makefile.in: define a MAINT-like variable REBUILD
319         which is set if Perl and awk are found, and autogenerated sources
320         can be rebuilt. Remove the auto-generated sources from
321         CVS. 
322
323         Add dependencies so that the autogenerated sources are 
324         rebuilt if the files they depend on change. 
325         (This unfortunately currently results in the entire
326         gtk/ directory being rebuilt when any header changes.
327         Moving all enums to gtkenums.h would fix this.)
328
329 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
330
331         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
332         gtk_object_set_data_destroy_by_id functions to set the destroy
333         function pointer for an existing data portion.
334
335         * gtk/gtkobject.c: removed the GtkObjectData implementation and
336         made all gtk_object_*data* functions use the GLib equivalents.
337
338 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
339
340         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
341         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
342         (widget != NULL), otherwise radio button insertion will not work
343         -- the widget argument is NULL for the first radio button in the
344         group.
345
346 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
347
348         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
349         of g_new to malloc(), added back in the one place where
350         it actually mattered. #include <stdlib.h>.
351
352         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
353
354 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
355
356         * gtk/gtkfilesel.c: Keep a list of directories in which we never
357         want to stat the entries (like /afs), and assume everything in
358         those directories is a subdirectory.
359
360         - When following a path, try to open components even when
361         we don't find them in their parent's directory to
362         support automounters.
363
364 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
365
366         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
367         a new size from the WM if we asked for the same size
368         before and our request was rejected.
369
370         * gtk/gtkwindow.c (gtk_window_configure_event): If
371         in response to a request, we get a configure event
372         with unchanged dimensions, send a synthetic expose
373         since ForgetGravity won't expose our window.
374
375 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
376
377         * gtk/gtktext.c (adjust_adj): Change the way we
378         set the adjustments on resize so that it tries to
379         keep the beginning of the text in approximately
380         the same place. 
381
382         Removed assertion that the above change made invalid.
383
384 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
385
386         * gtk/gtktext.c: - Save first_cut_pixels when switching
387         sizes, so that if we switch to the _same_ size,
388         we don't move lines around.
389
390         - Make sure that the text area always has a size of at
391         least 1x1, then do all computations when realized.
392
393         - When fetching lines in recompute_geometry, make
394         sure we fetch enough lines to cover the screen.
395         
396 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
397
398         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
399           g_free()s to free()s to avoid mixing g_new()s with 
400           free()s.  X itself uses free() on some of the 
401           malloced memory.
402
403 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
404
405         * gtkfilesel.c: Maintain a list of directories like
406         /afs we know contain only directories, and avoid
407         stat'ing files in those directories. (Because
408         stat'ing all files in /afs is extremely expensive)
409
410         To support automounters, try to open directories,
411         even if we couldn't find them when reading their
412         parent directory.
413
414 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
415
416         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
417         to allow the same gtk.m4 to work for 1.0.x and
418         1.1.x.
419
420 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
421
422         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
423         to set/unset the selectable flag of a single row.
424         (gtk_clist_get_selectable): new function 
425         to get the state of the selectable flag
426
427         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
428         (gtk_ctree_node_get_selectable): clist analogons
429         
430 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
431
432         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
433         pattern.
434
435         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
436         bugs in the 4bit gray cases.
437
438 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
439
440         * configure.in: added -posix check for NeXTStep
441
442         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
443         a unique buffer for each thread.
444
445         * docs/gtk-config.1: clarified copyright
446
447 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
448
449         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
450
451         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
452
453         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
454         ATEXIT.
455         
456         * ltconfig: use GLib's ltconfig which honours lcc.
457
458 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
459
460         * configure.in: comment the -std1 check and save LIBS properly
461
462 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
463
464         * gtk/testrgb.c: #include <stdlib.h>
465
466 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
467
468         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
469         When the pointer is grabbed on an input window,
470         either explicitely, or through press-grab, and
471         then grabbed on a non-input window, ungrab the
472         devices.
473
474 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
475
476         * gtk/gtktypeutils.h: don't include any gdk headers.
477         added structure definitions for GtkTypeObject and GtkTypeClass,
478         which cover the very basic fields of GtkObject and GtkObjectClass,
479         which are actually used by the type system.
480         
481         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
482         we only refer to our own structures. improved class inheritance
483         sanity checking a bit.
484
485         * gtk/gtkobject.h: placed appropriate comments at the beginnings
486         of the GtkObject and GtkObjectClass structures, which explain
487         their relationship to GtkTypeObject and GtkTypeClass.
488
489         * gtk/gtktypeutils.h:
490         * gtk/gtkobject.h:
491         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
492         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
493         gtkobject.h to gtktypeutils.h.
494
495         * gtk/gtkobject.h:
496         * gtk/gtkobject.c:
497         removed gtk_object_check_cast() and gtk_object_check_class_cast()
498         functions. to keep source compatibility, we can provide macro aliases
499         for the corresponding gtk_type_* functions. but then again, people
500         shouldn't have been using these functions anyways since they were part
501         of Gtk's internal API.
502
503         * gtk/gtktypeutils.h:
504         * gtk/gtktypeutils.c:
505         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
506         functions to check GtkTypeObject and GtkTypeClass types.
507
508 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
509
510         * gtk/gtkctree.h:
511         * gtk/gtkctree.c: `const' fixups.
512
513         * gtk/gtkclist.h:
514         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
515
516         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
517         if it is passed as NULL.
518
519 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
520
521         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
522         big-endian cases. Added a 4bpp packed gray mode (somewhat
523         incorrectly hardwired to MSB), which should take care of
524         Stric's hardware.
525
526 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
527
528         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
529         GtkSIgnalQuery leak.
530
531 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
532
533         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
534         GTK_MENU_DIR_CHILD: check for the existance of
535         menu_shell->active_menu_item before accessing its child.
536         GTK_MENU_DIR_PREV:
537         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
538         don't, make a default selection.
539
540 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
541
542         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
543         the children with _forall for sensitivity changes and with
544         _foreach on pure state changes. this fixes a lot of the
545         old inclusions of internal widgets into _foreach calls.
546
547         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
548         do the work. don't walk the subtrees of first level children.
549
550         * gtk/gtktreeitem.c: provide a _forall implementation,
551         which walks the subtrees as well for include_internals.
552
553         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
554         the submenus as well for include_internals.
555
556         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
557         implemented gtk_scrolled_window_forall, which will iterate over
558         the viewport and the scrollbars for gtk_container_forall or
559         iterate over the viewports children for gtk_container_foreach.
560
561         * gtk/gtktoolbar.c: 
562         * gtk/gtktable.c: 
563         * gtk/gtkpaned.c:
564         * gtk/gtkpacker.c:
565         * gtk/gtkmenushell.c: 
566         * gtk/gtklist.c: 
567         * gtk/gtkfixed.c:
568         * gtk/gtkclist.c:
569         * gtk/gtkbox.c: 
570         * gtk/gtkbin.c: 
571         * gtk/gtknotebook.c:
572         removed the old gtk_*_foreach functions and provided gtk_*_forall.
573
574         * gtk/gtknotebook.c:
575         (gtk_notebook_real_switch_page): expose tabs.
576         (gtk_notebook_page_num): new function to return the page number
577         of a distinct child.
578         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
579         under some circumstances.
580
581         * gtk/gtktreeitem.c:
582         (gtk_real_tree_item_select):
583         (gtk_real_tree_item_deselect): major fixes.
584         some general fixups wrt queue_redraw, and tree items not being
585         NO_WINDOW widgets.
586
587         * gtk/gtklistitem.c:
588         (gtk_real_list_item_select): 
589         (gtk_real_list_item_deselect): 
590         (gtk_real_list_item_toggle): 
591         removed unneccessary queue_redraw calls.
592
593 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
594
595         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
596         automatically popup the menu on space bar.
597
598 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
599
600         * gtk/gtkcontainer.h:
601         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
602         method), which acts similar to gtk_container_foreach(), but iterates
603         over internal children. the GtkContainer::foreach signal vanished in
604         favour of a new class method ->forall() that optionally includes
605         internal widgets.
606
607         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
608         but a _forall implementation, since all child widgets we have are
609         internal ones.
610         (column_button_create): set the parent window prior
611         to gtk_widget_set_parent().
612
613         * gtk/gtkwidget.c:
614         exchanged all calls to gtk_container_foreach() with
615         gtk_container_forall().
616
617         * gtk/gtkwidget.h: 
618         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
619         the GtkWidget::composite_child argument. to have a widget created
620         with the flag initially, two new functions got added to wrap a widgets
621         creation:
622         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
623
624 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
625
626         * gtk/gtktooltips.h:
627         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
628         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
629         prior to the first tip being set.
630         don't put an extra reference on the window, since it is a toplevel,
631         it wont get destroyed from anywhere else.
632
633         * overall macro and GtkType fixups.
634
635 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
636
637         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
638         constructs by more forgiving ones.  (Does anyone else feel like
639         the color selector need rewriting?).
640
641 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
642
643         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
644         the adjustment.
645
646         * gtk/gtkmenu.c: Modified reference counting so
647         that the reference count from the toplevel that
648         the menu creates to the menu is invisible to the
649         application.
650
651 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
652
653         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
654         conversion selection logic, so Suns and other big-endian
655         machines should get faster conv routines. This is also the
656         point where 4bpp gray and 1bpp are checked in, although I
657         wouldn't be surprised if 1bpp is a little buggy. This is
658         synchronized with the 0.0.7 release of GdkRgb.
659
660         * gtk/Makefile.am: 
661         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
662         appropriate change to the Makefile.am
663
664 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
665
666         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
667         which is good for images that scroll (makes the dither patterns
668         align correctly)
669
670 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
671
672         * gdk/gdkcolor.c:
673         (gdk_colormap_new) (gdk_colormap_get_system):
674         quell some warnings with g_hash_table_new
675
676         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
677         when we're done with it
678
679         * gtk/itemfactory.c:
680         (gtk_item_factory_from_path):
681         (gtk_item_factory_create_item): free some strings
682
683         * gtk/gtklabel.c:
684         (gtk_label_finalize): free label->pattern when done
685         (gtk_label_parse_uline): null terminate pattern string, delete
686         some duplicated code
687
688         * gtk/testthreads.c: add #include <unistd.h> for sleep()
689
690 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
691
692         * gtk/gtktext.c (recompute_geometry): Make sure the
693         mark we pass to line start is the beginning of a 
694         real line, not a wrapped one.
695
696 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
697
698         * gtk/gtktext.c: Reference count the fonts used in
699         the text widget.
700
701         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
702         freeing functions to be more consistent, and more 
703         convenient; leave the old names in for backwards compatibility.
704
705         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
706         allocations in pseudo-color colormaps to greatly reduce
707         calls to XAllocColor. Keep a per-colormap hashtable to
708         speed up finding if there is an already-allocated matching
709         color.
710
711         * gdk/gdkcolor.c: Don't just match read the system colormap
712         when the colormap is created, but synchronize our copy
713         with the system colormap periodically.
714         
715         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
716         Change XIM constants names to match GDK conventions
717
718         * gtk/testinput.c: Allow the drawing area to get the focus.
719
720         * gtk/testgtk.c: Change around the Text test to demonstrates
721         multiple fonts, use more colors.
722
723         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
724         so they work after a widget is unrealized.
725
726         * gtk/gtktext.[ch]: Remove the requirement that the text
727         widget be realized before adding text (!) Allocate colors
728         ourself, instead of requiring the caller allocate them.
729         Allow changing styles to work properly by keeping track
730         of the values for a certain property are default or
731         set explicitely.
732
733         * gtk/gtkmenu.h: Added some comments.
734
735         * gtk/gtkentry.c: Changes to match XIM constants.
736
737         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
738         for adding keyed data to drawables. (Uses g_dataset
739         internally)
740
741         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
742         when creating an XPM - store them as user data for the GdkPixmap,
743         so we don't leak colors when we create pixmaps from XPM's.
744
745         Allocate memory for color information in large blocks instead of 
746         as many little pieces.
747         
748 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
749
750         * gdk/gdkrgb.c: removed some unused variables
751
752         * gtk/gtkclist.c
753         * gtk/gtkmain.c: #if 0'd out some unused code
754
755         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
756
757 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
758
759         * gtk/gtkarg.h:
760         * gtk/gtkarg.c:
761         * gtk/gtkwidget.h: 
762         * gtk/gtkwidget.c: 
763         * gtk/gtkobject.h:
764         * gtk/gtkobject.c:
765         * gtk/gtkcontainer.h: 
766         * gtk/gtkcontainer.c: 
767         (gtk_object_new):
768         (gtk_object_set):
769         (gtk_widget_new):
770         (gtk_widget_set): 
771         (gtk_container_add_with_args):
772         (gtk_container_child_set):
773         begin the parameter elipsis (...) after the first argument name. this
774         change is source compatible, since it was always required, even as NULL.
775         (gtk_args_collect): 
776         (gtk_object_args_collect): 
777         (gtk_container_child_args_collect):
778         changed prototypes to pass first_arg_name, also, pass va_list variable
779         by value (portability concerns). callers changed.
780
781         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
782         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
783         can't pass va_list variables by reference for portability reasons.
784
785 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
786
787         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
788         get_visual calls, so that it gets implicitly initialized.
789
790 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
791         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
792         such as GtkCTree function name changes
793         
794 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
795
796         * gtk/gtkmain.h:
797         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
798         binary version check, returning a static string for error descriptions,
799         or NULL on success.
800
801 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
802
803         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
804         computed our geometry yet, and if not, ignore the request.
805
806         * gtk/gtktext.c (correct_cache_insert): Fiddled around
807         some more. All the bug-test codes seem to work at once
808         now. (fingers crossed...)
809
810 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
811
812         * gdk/gdkrgb.c: silly visual fixes
813
814         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
815         works
816
817 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
818
819         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
820         anything if the event's window is not the bin window.
821         (gtk_handle_box_motion): Likewise.
822
823 1998-08-19  Raph Levien  <raph@gimp.org>
824
825         * gtk/testgtk.c (create_color_preview): pushed the colormap and
826         visual so it would work better with GdkRgb.
827
828 1998-08-19  Raph Levien  <raph@gimp.org>
829
830         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
831         4bpp static_color mode (for vga displays). Also fixed a '64' value
832         in the dither matrix, which was causing one pixel out of 16k to be
833         dithered wrong.
834
835         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
836         most of the contents. This is an API change - any apps that relied
837         on the internal structure of GtkPreview will need some change -
838         most notably in the use of reserved colors. The Gimp needed
839         changes in this regard.
840
841 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
842
843         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
844         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
845         --g-fatal-warnings), noticed by miguel.
846
847 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
848
849         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
850         getcwd().
851
852         * gdk/gdkprivate.h:
853         * gdk/gdkglobals.c:
854         * gdk/gdkwindow.c:
855         * gdk/gdk.c:
856         * gtk/gtkwindow.c: 
857         * gtk/gtkitemfactory.c: 
858         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
859
860         * gtk/gtkselection.c:
861         * gtk/gtkpreview.c:
862         * gtk/gtkobject.c: 
863         * gtk/gtkmain.c: 
864         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
865
866         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
867
868 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
869
870         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
871         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
872         in case of show_tabs == NULL
873
874 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
875
876         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
877         to --g-fatal-warnings again. this option now causes log levels of
878         WARNING and CRITICAL to abort().
879
880         * gdk/gdk.c: 
881         * gdk/gdkdnd.c: 
882         * gdk/gdkcc.c: 
883         * gdk/gdkfont.c: 
884         * gdk/gdkwindow.c:
885         * gdk/gdkvisual.c:
886         * gtk/gtkwidget.c:
887         * gtk/gtktypeutils.c:
888         * gtk/gtktree.c:
889         * gtk/gtkfontsel.c:
890         * gtk/gtkmain.c:
891         * gtk/gtkobject.c:
892         * gtk/gtkpreview.c:
893         * gtk/gtkselection.c:
894         * gtk/gtktext.c:
895         * gtk/gtktree.c:
896         * gtk/gtktreeitem.c:
897         did a global search&replace to substitute g_print() calls with
898         g_message(). libraries shouldn't use printf(), g_print() or
899         g_printerr() at all.
900         a bunch of the replacements should probably be wrapped into the
901         G{D|T}K_NOTE() macros, so they are special cased for debugging
902         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
903         things.
904
905         * gdk/gdkdnd.c: added copyright notice.
906
907 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
908
909         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
910         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
911         running a PII 233. It's synced with the 0.0.5 release of
912         GdkRgb.
913
914 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
915
916         * gtk/gtkclist.h:
917         (struct _GtkCListClass): new class methods:
918         (sort_list) (insert_row) (remove_row) (set_cell_contents)
919
920         * gtk/gtkclist.c :
921         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
922         removed and replaced by (set_cell_contents)
923         (set_cell_contents): function for class method set_cell_contents
924         (real_insert_row): function for class method insert_row
925         (real_remoce_row): function for class method remove_row
926         (real_sort_list): function for class method sort_list
927         (default_compare): fix to avoid problems with cell types != CELL_TEXT
928
929         * gtk/gtkctree.h :
930         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
931         (gtk_ctree_node_is_visible): new function to return visibility state
932         of a node
933         (gtk_ctree_show_stub): new function to set visibility of root stub
934
935         renamed functions :
936         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
937         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
938         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
939         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
940         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
941         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
942         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
943         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
944         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
945         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
946         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
947         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
948         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
949         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
950         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
951         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
952         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
953         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
954         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
955
956         * gtk/gtkctree.c :
957         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
958         removed and replaced by (set_cell_contents)
959         (set_cell_contents): function for class method set_cell_contents
960         (real_insert_row): function for class method insert_row
961         (real_remoce_row): function for class method remove_row
962         (real_sort_list): function for class method sort_list
963         (default_compare): removed. CTree now also compares two GtkCTreeRows
964         instead of two GtkCTreeNodes.
965         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
966         unlinking the node
967         (real_tree_expand) (real_tree_collapse): fix for refcounting of
968         node pixmaps
969         (set_node_info): call gtk_ctree_node_set_pixtext instead of
970         manipulating the row itself
971         
972         * gtk/testgtk.c: use renamed functions of GtkCTree.
973         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
974         at work.
975
976 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
977
978         * gtk/gtkmain.c: removed gtk_input_add_interp.
979
980         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
981         keyword.
982         (gtk_editable_get_event_time): fix default: case.
983
984         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
985
986         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
987
988         * gdk/gdkcolor.c:
989         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
990         of our functions.
991
992         * various minor compilation cleanups, such as bogus commas in
993         enums and similar things.
994
995 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
996
997         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
998         (thanx raph).
999
1000 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1001
1002         * NEWS: updated for 1.1.2
1003         * gtk+.spec: version = 1.1.2
1004
1005 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
1006
1007         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
1008         times. changed --gtk-with-module to --gtk-module at owen's request.
1009
1010 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
1011
1012         * gtk/gtkmain.c (gtk_init): feature a new commandline option
1013         --gtk-with-module=<module> that allows additional loading and
1014         initialization of modules (e.g. GLE).
1015
1016 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
1017
1018         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
1019         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
1020
1021         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
1022         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
1023         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
1024         different *-fatal-* arguments now. this needs to be revised and
1025         compressed to a reasonable amount of arguments.
1026
1027 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
1028
1029         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
1030         "--g-fatal-warnings" causes fatal warnings in GLib,
1031         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
1032         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
1033
1034         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
1035         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
1036
1037         * gtk/testgtk.c: 
1038         * gdk/gxid.c:
1039         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
1040         since automake doesn't support per target _CFLAGS yet.
1041
1042         * configure.in: require GLib 1.1.3.
1043
1044 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
1045
1046         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
1047         to set a callback to test if a node in drag can be dropped onto
1048         it's currrent location.
1049         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
1050         to change the pointer when a drag destination is not allowed.
1051
1052 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
1053
1054         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
1055         speeds up the 565_d case by about 25% total. Thanks Ray!
1056
1057 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
1058
1059         * Changed GtkSignalFunc back to () from (void). (again!)
1060
1061         * Added file README.cvs-commits
1062         
1063 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
1064
1065         * docs/gtk_tut.sgml:
1066           - Tidy up of the menufactory example from
1067             Andy Kahn <kahn@zk3.dec.com>
1068           - New section on Range Widgets from
1069             David Huggins-Daines <bn711@freenet.carleton.ca>
1070           - Started a new section on 'Advanced Event and Signal
1071             Handling' - used an email from Owen.
1072           - New appendix on Gdk Event Types
1073           - Added the tictactoe full example code to the
1074             'Code Examples' appendix
1075
1076 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
1077
1078         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
1079           to calculate all the metrics at once of a string, including
1080           things which weren't calculated before.
1081
1082         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
1083           MenuItem type, that when put as the first thing in a
1084           menu, makes the menu tearoff. Currently drawn as a
1085           dashed line.
1086
1087         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
1088           "hide_on_activate" to the MenuItem class structure to allow
1089           check and radio buttons to be changed with <Space> without
1090           hiding the menu.
1091
1092         * gtk/gtkitemfactory.c: 
1093           - Create a AccelGroup for each MenuShell we create.
1094           - If an '_' appears before a  character 'c' in the path,
1095             then make 'c' an accelerator in the menu's accel group,
1096             and if the menuitem is menubar <alt>C an accelerator 
1097             in the itemfactory's accel group. Double '__' inserts
1098             a literal '_'
1099
1100         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
1101           which is a string. If an '_' appears in this string,
1102           the corresponding position in the label is underlined.
1103
1104           Add gtk_label_parse_uline() convenience function which
1105           takes a string with embedded underlines, sets the
1106           pattern and label, and returns the accelerator keyval.
1107
1108         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
1109           Instead, they create a GtkWindow and add themselves
1110           to that. (When torn off, another new feature, they
1111           create another GtkWindow to hold the torn off menu)
1112
1113           New function gtk_menu_set_tearoff_state()
1114         
1115         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
1116           Added action signals  for keyboard navigation of menus.
1117
1118         * gtk/gtkmenushell.c: Key press handler which activates
1119           bindings for navigation, and accelerators, for handling
1120           underline accelerators. Exported functions to select 
1121           and activate menu items in a menushell.
1122
1123         * gtk/testgtk.c: Added a new "Item Factory" test which
1124           tests GtkItemFactory and the new keyboard navigation
1125           of menus.
1126
1127 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
1128
1129         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
1130         external functions have been called. also relookup nodes after
1131         this function has been invoked.
1132
1133 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
1134
1135         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
1136           beginning of Text when creating the Text widget.
1137
1138         * gtk/testgtk.c: Grab the focus on the text widget so
1139           as to test out the above.
1140
1141 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
1142
1143         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
1144           ::changed is a notification signal and should have no default
1145           handler. A complete redraw of the Text widget does _not_ need to
1146           be done on every text insertion.
1147
1148 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
1149         (gtk-abilleira-072198-patch)
1150
1151         * gtk/gtkwindow.[ch]: 
1152           Add gtk_window_set_modal() which sets a flag; when
1153           set the window does a gtk_grab_add() when the window
1154           is shown, and a gtk_grab_remove() when the window
1155           is hidden. 
1156
1157         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
1158           that case will run "Create Dir","Delete File" and "Rename File" 
1159           dialogs as modal too.
1160
1161         * gtk/testgtk.c: Added a button with an example of creating modal 
1162           dialog boxes. Including file selection and color selection standard
1163           dialogs.
1164         
1165 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1166
1167         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
1168           Removed CAN_FOCUS by default from scrollbars, button
1169           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
1170           (Scrollbar definitely good change, toolbar bit more questionable)
1171
1172 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
1173
1174         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
1175         Pettersen).
1176
1177 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
1178
1179         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
1180           added all logical operations to gc->function.
1181
1182 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
1183
1184         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
1185         gtk_widget_size_allocate instead of gtk_widget_queue_resize
1186         if the visibility state of a scrollbar changes.
1187
1188 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
1189
1190         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
1191
1192 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
1193
1194         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
1195         gtk_clist_merge and gtk_clist_mergesort. :)
1196
1197 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
1198
1199         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
1200         `mergesort' -> `my_mergesort'.
1201
1202 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
1203
1204         * gtk/gtkenums.h: new enum GtkSortType.
1205         
1206         * gtk/gtkclist.h:
1207         * gtk/gtkclist.c:
1208         Added sorting capabilities to GtkCList. New APIs :
1209         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
1210         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
1211         New internal functions : default_compare, merge, mergesort.
1212
1213         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
1214         
1215         (gtk_clist_insert): Modified to handle gtk_clist_append and the
1216         auto sort flag. Changed the return value from void to gint to
1217         return the row number where the element was actually inserted.
1218
1219         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
1220         
1221         * gtk/gtkctree.h:
1222         * gtk/gtkctree.c:
1223         Removed the auto_sort flag, replaced ctree->node_compare with
1224         clist->compare all over the place, modified default_compare to
1225         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
1226         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
1227
1228         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
1229         sorting. The lists can be sorted by a column by clicking the 
1230         corresponding title button.
1231         
1232 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1233
1234         * Released GTK+ 1.1.1
1235
1236 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
1237
1238         * gtk/gtkctree.h:
1239         * gtk/gtkctree.c:
1240         (gtk_ctree_find): changed to return a gboolean
1241         (gtk_ctree_insert_gnode): new function for recursive insertion of a
1242         GNode tree.
1243         (gtk_ctree_real_select_recursive): fix for extended selection
1244         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
1245         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
1246
1247 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
1248
1249         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
1250         GLib version 1.1.1 is now required at minimum.
1251
1252         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
1253         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
1254
1255 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
1256  
1257         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
1258           cursor before (possibly) deleting the cursor's text
1259           property.
1260  
1261         * gtk/gtktext.c (correct_cache_delete): More attempts
1262           to clean the line-start cache up after inserting
1263           a property. Among other things, make sure to
1264           fix up text->current_line, since it is used to 
1265           refetch the changed lines.
1266  
1267 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
1268
1269         * gtk/gtktable.[ch]: Empty rows/columns of the table
1270         should not have been marked as being able to shrink.
1271         (Fixes problem with shrinking scrollbarless GIMP canvases)
1272
1273 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1274
1275         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
1276         function to find a row by its data pointer using a custom
1277         comparison function.
1278
1279 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
1280
1281         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
1282           this fixes a bug when the whole widget is made non-sesitive
1283           the buttons weren't redrawn
1284
1285 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
1286
1287         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
1288         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
1289         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
1290
1291 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
1292
1293         * gdk/gdkwindow.c (gdk_window_reparent): Change 
1294           window_private->parent pointer when reparenting.
1295
1296 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
1297
1298         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
1299         with the standalone release.
1300
1301 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
1302
1303         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
1304         (gtk_clist_button_release) (new_column_width): Few fixes for
1305         column resize. Store resize column in clist->drag_pos.
1306
1307 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
1308
1309         * gtk/gtkctree.h 
1310         * gtk/gtkctree.c 
1311         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
1312         to GtkCTreeNode *node.
1313
1314         * gtk/gtklist.h : added extended selection mode and auto scrolling.
1315         (struct _GtkList): removed unneeded variables timer, button,
1316         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
1317         Added new variables undo_selection, undo_unselection, last_focus_child,
1318         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
1319         drag_selection, add_mode.
1320  
1321         New functions :
1322         (gtk_list_extend_selection), (gtk_list_start_selection),
1323         (gtk_list_end_selection), (gtk_list_select_all),
1324         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
1325         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
1326         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
1327         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
1328         
1329         * gtk/gtklist.c : 
1330         (gtk_list_enter_notify): removed, because auto scrolling now works
1331         with gtk_list_motion_notify
1332  
1333         New functions, needed for auto scrolling :
1334         (gtk_list_motion_notify) (gtk_list_move_focus_child)
1335  
1336         New functions for extended selection support :
1337         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
1338         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
1339         (gtk_list_focus_lost)
1340         
1341         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
1342         function to support auto scrolling, and avoid out-of-sync errors in
1343         case auf GTK_SELECTION_BROWSE
1344         (gtk_list_focus): modified gtk_container_focus function to avoid out
1345         off sync errors in case auf GTK_SELECTION_EXTENDED
1346
1347         * gtk/gtklistitem.h 
1348         * gtk/gtklistitem.c :
1349         New signal functions for key binding support :
1350         (toggle_focus_row), (select_all), (list_item), (unselect_all)
1351         (list_item), (undo_selection), (start_selection), (end_selection)
1352         (extend_selection), (scroll_horizontal), (scroll_vertical),
1353         (toggle_add_mode)
1354         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
1355         GDK_KEY_RELEASE_MASK
1356         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
1357  
1358         * gtk/gtkcombo.c :
1359         (gtk_combo_popup_button_press):  grab pointer for combo->list
1360         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
1361         (gtk_combo_list_key_press): take care of which child HAS_GRAB
1362         (gtk_comb_init): don't connect combo->button with button_release_event
1363
1364 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
1365
1366         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1367
1368 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
1369
1370         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
1371         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
1372         with horizontal and vertical autoscrolling.
1373
1374 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1375
1376         * gtk/docs/man: new directory
1377         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1378
1379 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
1380
1381         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
1382         bug
1383
1384 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
1385
1386         * docs/gtk_tut.sgml: GtkTree section from
1387           David Huggins-Daines <bn711@freenet.carleton.ca>,
1388           add a GtkText widget example
1389         * examples/text/* example/tree/* : new examples for the
1390           GtkTree and GtkText widgets
1391         * docs/gtk_tut.sgml: added an appendix to hold complete code
1392           examples that aren't in a full form elsewhere in the
1393           tutorial (e.g. scribble)
1394
1395 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1396
1397         * Released GTK+ 1.1.0
1398
1399 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
1400
1401         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
1402         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
1403
1404 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
1405
1406         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
1407         values are looked up.
1408
1409         * gtk/gtktypeutils.h:
1410         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
1411         gtk_type_enums_find_value to lookup enum values.
1412
1413         * gtk/gtkctree.h: 
1414         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
1415         GtkCTreeExpansionType. fixed signal creations to pass the enum
1416         types not just the base type GTK_TYPE_ENUM.
1417
1418         * gtk/gtkclist.h: 
1419         * gtk/gtkclist.c: fixed signal creations to pass the real enum
1420         types not just the base type GTK_TYPE_ENUM.
1421
1422 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
1423
1424         * gtk/testgtk.c : 
1425         Began cleanup, e.g. use gtk_widget_show_all instead of many 
1426         gtk_widget_show's. Completely rewrote the button box sample
1427         (only one window now). Removed "miscellaneous" button.
1428
1429 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
1430
1431         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
1432         Fixed wrong allocation for GTK_BUTTONBOX_END.
1433         (allocation->x  =>  allocation->y)
1434
1435 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
1436
1437         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
1438         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
1439         
1440         * gtk/gtkctree.c (real_tree_select): added check to avoid double
1441         selected rows
1442         (gtk_ctree_button_press)
1443         (gtk_ctree_button_release): fix for pointer grab
1444
1445 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
1446
1447         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
1448         Fixed initialization problem - dirty memory could cause problems.
1449         Also checked that bitmapped fonts can be scaled when showing the
1450         available sizes.
1451
1452 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
1453
1454         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
1455         (gtk_ctree_sort_recursive): test for node != NULL
1456         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
1457         (gtk_ctree_last) : added sanity checks
1458         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
1459
1460 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
1461
1462         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
1463
1464 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
1465
1466         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
1467
1468 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
1469
1470         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
1471         to check out binding priorities. someone should really write
1472         gtkrc-mode for emacs.
1473
1474         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
1475         * gtk/testgtk.c (main): and move it here ;). this test says something
1476         on release of C-9. (this works only if the mouse pointer is on a
1477         spinbutton and there is no focus widget).
1478
1479         * gtk/gtkrc.h:
1480         * gtk/gtkrc.c:
1481         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
1482         gtk_rc_parse_priority to parse path priority types.
1483         export rc tokens.
1484         feature binding parsing.
1485
1486 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
1487
1488         * gtk/gtkbindings.h: 
1489         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
1490         feature binding parsing in rc files.
1491         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
1492         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
1493         order the bindings with lowest priority first.
1494
1495 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
1496
1497         * gdk/gdkrgb.c: actually builds and runs properly on big
1498         endian machines now, because we #include config.h. Also
1499         fixed up a compile error in the WORDS_BIGENDIAN case in
1500         gdk_rgb_convert_565_gray. I made the fix by looking at
1501         patterns in the other code; Raph can you verify this?
1502
1503         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
1504         warnings
1505
1506 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
1507
1508         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
1509         (tree_toggle_expansion) (real_select/unselect_row)
1510         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
1511
1512 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1513
1514         * gtk/gtktext.c (new_text_property): We free things from
1515         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
1516
1517         * Fix up line start cache when splitting a property
1518         during an insert.
1519
1520 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
1521
1522         * gtk/gtkwidget.c: restauration => restoration
1523
1524 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
1525
1526         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
1527         hasn't been created yet, don't do the lookup.
1528
1529 1998-07-20  Raph Levien  <raph@acm.org>
1530
1531         * gdk/gdkrgb.c: More cleanups in the config process.
1532
1533 1998-07-20  Raph Levien  <raph@acm.org>
1534
1535         * gdkrgb.c: Fixed minor config bug preventing big-endian
1536         architectures from working.
1537
1538 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
1539
1540         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
1541         activity indicator. It is settable now as a fraction of the
1542         total width/height using gtk_progress_bar_set_activity_blocks.
1543         Renamed gtk_progress_bar_set_number_of_blocks to
1544         gtk_progress_bar_set_discrete_blocks.
1545
1546 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
1547
1548         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
1549         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
1550         tree to specified depth
1551         (gtk_ctree_expand_to_depth): expand tree to specified depth
1552         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
1553
1554 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
1555
1556         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
1557         of GTK_CLIST_ADD_MOD
1558         * gtk/testgtk.c (add1000_clist): changed pixmap
1559
1560 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
1561
1562         * gtk/gtkmain.h: 
1563         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
1564
1565         * gtk/gtktypeutils.h:
1566         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
1567
1568 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
1569
1570         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
1571         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
1572         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
1573         CHILD_ARG_POSITION
1574         (gtk_notebook_reorder_child): new funktion to change position of a
1575         notebook page
1576         (gtk_notebook_draw_arrow): draw left/right arrow with
1577         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
1578
1579         * gtk/gtkstyle.c (gtk_default_draw_arrow):
1580         added GTK_SHADOW_ETCHED_IN/OUT
1581
1582 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
1583
1584         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
1585           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
1586         Introduced generic GtkProgress widget. Derived GtkProgressBar from
1587         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
1588
1589 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
1590
1591         * gtk/gtktypeutils.h
1592         * gtk/gtkitemfactory.h: explicitly specify void in prototype
1593
1594 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
1595
1596         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
1597         of list
1598
1599 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
1600
1601         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
1602         sropped the approach of copying all signal specific data into a
1603         GtkHandlerInfo structure. we rather keep the signal data on the stack
1604         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
1605         avoids multiple lookups of the signal pointer and works savely together
1606         with destroy notifiers of handlers.
1607
1608         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
1609         someone destroys the entry on the ::activate signal.
1610
1611 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
1612
1613         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
1614         instead of ypad (typo).
1615         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
1616         border around the allocation).
1617         (gtk_arrow_init): the static requisition needs to be setup in this
1618         function rather than gtk_widget_new(), so arrow creation works without
1619         the gtk_arrow_new() constructing.
1620         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
1621
1622         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
1623         implementation for GtkWidget::size_request, so size requisition for
1624         simple statically sized widgets like GtkArrow works.
1625
1626 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
1627
1628         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
1629         prepend -I@libdir@/glib/include anymore, since glib-config handles
1630         it; --libs strips out redundant -L<path>'s properly (there was
1631         code in there to do it before, but it didn't work)
1632
1633 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
1634
1635         * gtk/gtknotebook.h: 
1636         * gtk/gtknotebook.c: signdness corrections all ove the place.
1637         implementation of object arguments: GtkNotebook::enable_popup,
1638         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
1639         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
1640         begun implementation of child args, we have GtkNotebook::tab_label, but
1641         GtkNotebook::menu_label and GtkNotebook::position still lack the
1642         implementation.
1643         (gtk_notebook_remove_page):
1644         (gtk_notebook_current_page): allow negative indices (-1) as alias for
1645         the last page.
1646
1647         * gtk/gtkentry.h:
1648         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
1649         arguments GtkEntry::max_length and GtkEntry::visibility.
1650         (gtk_entry_adjust_scroll): queue a redraw.
1651
1652         * gtk/gtkeditable.h:
1653         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
1654         object arguments GtkEditable::text_position and GtkEditable::editable.
1655         new (action) signal GtkEditable::set_editable.
1656         provide a default handler for GtkEditable::changed that queues a redraw.
1657
1658         * gtk/gtktext.h: 
1659         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
1660         set_editable.
1661
1662 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
1663
1664         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
1665         case of drag_target == NULL
1666         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
1667         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
1668         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
1669         gtk_dir_selection_file_button): fix due to changes in clist's
1670         select_row signal.
1671
1672 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
1673
1674         * gtk/gtkwidget.h:
1675         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
1676         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
1677         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
1678         to be gint16s rather than guint16s, since that's what the code expected
1679         (for a long time actually).
1680
1681         * gtk/gtkviewport.c:
1682         added support for object arguments: GtkViewport::shadow_type,
1683         GtkViewport::vadjustment and GtkViewport::hadjustment.
1684         (gtk_viewport_add): chain gtk_bin_add.
1685
1686         * gtk/gtkscrolledwindow.c: 
1687         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
1688         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
1689
1690         * gtk/gtkadjustment.h: 
1691         * gtk/gtkadjustment.c: 
1692         * gtk/gtkctree.h: 
1693         * gtk/gtkclist.h: 
1694         * gtk/gtkctree.c: 
1695         * gtk/gtkclist.c:
1696         * gtk/gtkscrolledwindow.h:
1697         * gtk/gtkscrolledwindow.c:
1698         * gtk/gtkviewport.h:
1699         * gtk/gtkviewport.c:
1700         GtkType and macro fixups.
1701
1702 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
1703
1704         * gtk/gtkctree.h :
1705         * gtk/gtkctree.c :
1706         Added focus handling, horizontal and vertical autoscrolling,
1707         extended Selection Mode, key bindings
1708         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
1709         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
1710         Removed gtk_ctree_clear.
1711         
1712         * gtk/gtkclist.h :
1713         * gtk/gtkclist.c : 
1714         Added focus handling, horizontal and vertical autoscrolling,
1715         extended Selection Mode, key bindings
1716
1717 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
1718
1719         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
1720         source tree. For more information on GdkRgb, please see:
1721         http://www.levien.com/gdkrgb/
1722
1723         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
1724         bothers me slightly that the feature is in gdk, and this file is
1725         in gtk, but it's probably ok.
1726
1727         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
1728
1729         * gdk/gdkrgb.c:
1730         * gdk/gdkrgb.h: Added this module.
1731
1732         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
1733
1734         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
1735
1736 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
1737
1738         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
1739         to this function. it needs to relookup the signal multiple times.
1740         this fixes spurious segfaults that could show up with signal intensive
1741         code, when classes are created during a pending emission (which is
1742         normal case).
1743
1744 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
1745
1746         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
1747         child if it isn't a label.
1748
1749 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
1750
1751         * gtk/gtkdialog.h: 
1752         * gtk/gtkseparator.h: 
1753         * gtk/gtkhseparator.h: 
1754         * gtk/gtkvseparator.h: macro and GtkType fixups.
1755
1756 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
1757
1758         * gtk/testgtk.c (create_cursors): display the current cursor name.
1759
1760         * gtk/gtktypeutils.h: 
1761         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
1762         the fundamental type definition. the GtkArg union now only covers
1763         the required storage types for argument values. adapted the GTK_VALUE_*
1764         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
1765
1766         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
1767         code, fixed int/float collection. fixed a bug in the sanity checking
1768         code for GtkObjects.
1769
1770         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
1771         argument collection code.
1772
1773         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
1774         macros when distinguishing the return type.
1775
1776 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
1777
1778         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
1779           is not NULL before trying to g_list_remove the child. A patch
1780           from Michael Lausch.
1781
1782 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
1783
1784         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
1785         collection (always casted to doubles upon argument passing).
1786
1787 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
1788
1789         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
1790         object_init_func for derived objects with the object's ->klass field
1791         still pointing to the corresponding base class, otherwise overridden
1792         class functions could get called with partly-initialized objects.
1793         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
1794
1795 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
1796
1797         * gtk/gtkobject.h:
1798         * gtk/gtkobject.c:
1799         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
1800
1801         * gtk/gtkcontainer.h:
1802         * gtk/gtkcontainer.c:
1803         (gtk_container_child_arg_get_info): new function which wraps
1804         gtk_arg_get_info().
1805
1806 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
1807
1808         * gtk/gtkcontainer.c:
1809         (gtk_container_arg_get): 
1810         (gtk_container_arg_set): 
1811         * gtk/gtkobject.c:
1812         (gtk_object_arg_set): 
1813         (gtk_object_arg_get):
1814         strictly check for the associated get/set arg functions. if an
1815         arg is readable or writable, the associated class functions *must*
1816         be provided.
1817
1818 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
1819
1820         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
1821         padding into account if there is an accelerator.
1822
1823 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
1824
1825         * gtk/gtkcontainer.c:
1826         (gtk_container_add_with_args): collect the arguments with
1827         gtk_container_child_args_collect, not through gtk_object_args_collect.
1828         (gtk_container_child_set): likewise.
1829
1830 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
1831
1832         * gtk/gtktypeutils.h: 
1833         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
1834         which is derived from GTK_TYPE_STRING.
1835
1836         * gtk/gtkbindings.c: reworked the argument type handling.
1837
1838 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1839
1840         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
1841           so that it seems to allow normal operation in those modes,
1842           although you will only see black  (GIMP toolbar now pops up,
1843           just don't create a new image and GIMP now works in 4 bit.)
1844
1845 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1846
1847         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
1848           array, which was too low (?)
1849
1850 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
1851
1852         * gtk/gtkcontainer.h: 
1853         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
1854         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
1855         we now export a new function gtk_container_child_args_collect().
1856         for consistency with the object arguments, a few functions got renamed:
1857         gtk_container_child_arg_get -> gtk_container_child_get,
1858         gtk_container_child_arg_set -> gtk_container_child_set,
1859         gtk_container_child_arg_getv -> gtk_container_child_getv,
1860         gtk_container_child_arg_setv -> gtk_container_child_setv,
1861         gtk_container_add_with_argv -> gtk_container_addv.
1862         note, gtk_container_add_with_args() remained, because its equivalent
1863         would be gtk_container_add(,, ...) which would break all existing code.
1864         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
1865         we expect the `arg_name' argument to be a const static string now.
1866         (gtk_container_get_child_arg_type): function removed.
1867
1868 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
1869
1870         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
1871         this is a static inline function that collects command line arguments
1872         from a va_list. this file can just be included in all places that
1873         need this functionality.
1874
1875         * gtk/gtkarg.h: 
1876         * gtk/gtkarg.c: new files which implement most of the argument
1877         handling stuff from gtkobject.c. also collected a few more
1878         gtk_arg_* utility functions from else places.
1879
1880         * gtk/gtkobject.h: 
1881         * gtk/gtkobject.c: moved most of the argument handling code into
1882         gtkarg.c. we now export gtk_object_args_collect() as a non-public
1883         method with a blind va_list pointer.
1884         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
1885         const static string now.
1886         (gtk_object_get_arg_type): function got removed.
1887
1888         * gtk/gtkwidget.c: 
1889         (gtk_widget_set): 
1890         (gtk_widget_new): adaptions for gtk_object_args_collect().
1891
1892         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
1893         fundamental type name so as to have a valid prefix, e.g. "bool"->
1894         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
1895         though that should probably be something like GtkNone since the
1896         type itself is called GTK_TYPE_NONE.
1897         even the internal type names need to avoid name clashes and must live
1898         in their own namespace, several code portions rely on that.
1899         we should relly have typedefs such as typedef gchar* GtkString; so the
1900         fundamental type names can be used for code dumpers just like with all
1901         the Gtk/Gdk types.
1902
1903 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
1904
1905         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
1906         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
1907         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
1908         (GTK_RELIEF_HALF).
1909         (gtk_button_paint): set the background for prelighted buttons with
1910         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
1911         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
1912         the shadow type (otherwise we get strange shadows for coloured buttons).
1913         (gtk_button_set_relief): queue a redraw after changing
1914         the relief.
1915         (gtk_button_class_init): 
1916         (gtk_button_set_arg): 
1917         (gtk_button_get_arg): added object argument "GtkButton::relief".
1918
1919         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
1920
1921 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
1922
1923         * gtk/gtkbutton.h:
1924         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
1925         GTK_BIN (button)->child to button->child to keep source compatibility.
1926
1927         * gtk/gtkoptionmenu.c:
1928         * gtk/gtkclist.c:
1929         * gtkcheckbutton.c: don't refer to button->child, but
1930         GTK_BIN (button)->child instead.
1931
1932 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
1933
1934         * docs/gtkfaq.sgml: update anon CVS info
1935
1936 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
1937
1938         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
1939         functions.
1940
1941         * gdk/gdkwindow.c:
1942         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
1943         to XFree() calls.
1944
1945 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1946
1947         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
1948         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
1949
1950 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
1951
1952         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
1953
1954 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
1955
1956         * gtk/gtkwidget.h:
1957         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
1958
1959         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
1960         error that prevented signal to entry addition for signals with
1961         parameters.
1962
1963 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
1964
1965         * ltconfig: fix for properly detecting shared lib support on
1966         SunPro cc (taken from libtool 1.2.a)
1967
1968 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
1969
1970         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
1971
1972 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
1973
1974         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
1975         rc set pattern is favoured, this is needed for overriding of style
1976         patterns with subsequently parsed rc files.
1977
1978 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
1979
1980         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
1981         error messages.
1982
1983 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
1984
1985         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
1986         modifier as well.
1987         (gtk_accelerator_name): add "<Release>" to the accelerator name if
1988         neccessary.
1989
1990         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
1991         account.
1992
1993         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
1994         default handler for key-release events, which checks for activation
1995         of GDK_RELEASE_MASK key bindings.
1996
1997         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
1998
1999 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
2000
2001         * gtk/gtkarrow.h: GtkType and macro fixups.
2002         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
2003         "GtkArrow::shadow_type".
2004
2005 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
2006
2007         * gtk/gtkalignment.h:
2008         * gtk/gtkbin.h: GtkType and macro fixups.
2009         
2010         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
2011         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
2012         GtkAlignment::xscale, GtkAlignment::yscale.
2013
2014 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
2015
2016         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
2017         fucntions from all parent types upon class initialization.
2018
2019         * gtk/gtkcontainer.c:
2020         (gtk_container_get_type): announce gtk_container_base_class_init to
2021         the type system.
2022         (gtk_container_base_class_init): new function to feature base class
2023         initialization.
2024         (gtk_container_get_child_arg): 
2025         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
2026         and set_child_arg methods of the class indicated through the argument
2027         name.
2028
2029         * gtk/gtkobject.c:
2030         (gtk_object_base_class_init): new function to feature base class
2031         initialization.
2032         (gtk_object_init_type): announce gtk_object_base_class_init to the type
2033         system.
2034         (gtk_object_class_init): setup the get_arg and set_arg pointers for
2035         GtkObjectClass.
2036         (gtk_object_setv): 
2037         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
2038         instead of bothering the type system with this.
2039
2040         * gtk/gtkaccellabel.c: 
2041         * gtk/gtkbutton.c: 
2042         * gtk/gtkradiobutton.c: 
2043         * gtk/gtktable.c:
2044         * gtk/gtktogglebutton.c: 
2045         * gtk/gtktipsquery.c: 
2046         * gtk/gtkbox.c: 
2047         * gtk/gtkpacker.c: 
2048         * gtk/gtkwidget.c: 
2049         * gtk/gtkwindow.c: 
2050         * gtk/gtkframe.c: 
2051         * gtk/gtkmisc.c:
2052         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
2053         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
2054         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
2055         arg functions to take a GtkObject argument.
2056
2057         gtk/gtkadjustment.c:
2058         gtk/gtkalignment.c:
2059         gtk/gtkarrow.c:
2060         gtk/gtkaspectframe.c:
2061         gtk/gtkbbox.c:
2062         gtk/gtkbin.c:
2063         gtk/gtkcheckbutton.c:
2064         gtk/gtkcheckmenuitem.c:
2065         gtk/gtkclist.c:
2066         gtk/gtkcolorsel.c:
2067         gtk/gtkcombo.c:
2068         gtk/gtkctree.c:
2069         gtk/gtkcurve.c:
2070         gtk/gtkdata.c:
2071         gtk/gtkdialog.c:
2072         gtk/gtkdrawingarea.c:
2073         gtk/gtkeditable.c:
2074         gtk/gtkentry.c:
2075         gtk/gtkeventbox.c:
2076         gtk/gtkfilesel.c:
2077         gtk/gtkfixed.c:
2078         gtk/gtkfontsel.c:
2079         gtk/gtkgamma.c:
2080         gtk/gtkhandlebox.c:
2081         gtk/gtkhbbox.c:
2082         gtk/gtkhbox.c:
2083         gtk/gtkhpaned.c:
2084         gtk/gtkhruler.c:
2085         gtk/gtkhscale.c:
2086         gtk/gtkhscrollbar.c:
2087         gtk/gtkhseparator.c:
2088         gtk/gtkimage.c:
2089         gtk/gtkinputdialog.c:
2090         gtk/gtkitem.c:
2091         gtk/gtkitemfactory.c:
2092         gtk/gtklist.c:
2093         gtk/gtklistitem.c:
2094         gtk/gtkmenu.c:
2095         gtk/gtkmenubar.c:
2096         gtk/gtkmenuitem.c:
2097         gtk/gtkmenushell.c:
2098         gtk/gtknotebook.c:
2099         gtk/gtkoptionmenu.c:
2100         gtk/gtkpaned.c:
2101         gtk/gtkpixmap.c:
2102         gtk/gtkpreview.c:
2103         gtk/gtkprogressbar.c:
2104         gtk/gtkradiomenuitem.c:
2105         gtk/gtkrange.c:
2106         gtk/gtkruler.c:
2107         gtk/gtkscale.c:
2108         gtk/gtkscrollbar.c:
2109         gtk/gtkscrolledwindow.c:
2110         gtk/gtkseparator.c:
2111         gtk/gtkspinbutton.c:
2112         gtk/gtkstatusbar.c:
2113         gtk/gtktext.c:
2114         gtk/gtktoolbar.c:
2115         gtk/gtktooltips.c:
2116         gtk/gtktree.c:
2117         gtk/gtktreeitem.c:
2118         gtk/gtkvbbox.c:
2119         gtk/gtkvbox.c:
2120         gtk/gtkviewport.c:
2121         gtk/gtkvpaned.c:
2122         gtk/gtkvruler.c:
2123         gtk/gtkvscale.c:
2124         gtk/gtkvscrollbar.c:
2125         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
2126         match the modified GtkTypeInfo structure.
2127
2128 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
2129
2130         * gtk/testgtk.c: use rand() instead of random() for portability
2131
2132 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
2133
2134         * configure.in
2135         * acconfig.h
2136         * gdk/gdk.c: use native Xlib XConvertCase if it's available
2137
2138 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
2139
2140         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
2141         XConvertCase() functionality from X11R6 on X11R5 systems.
2142
2143 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
2144
2145         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
2146         gdk_string_height, gdk_char_height to retrieve the exact
2147         height of a text.
2148
2149 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
2150
2151         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
2152           by Stefan Mars <mars@lysator.liu.se>
2153         * examples/clist/clist.c examples/clist/Makefile: example code
2154           for GtkCList widget from the Tutorial
2155
2156 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
2157
2158         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
2159         if the container is not visible, we might be a toplevel! this holds
2160         for all other base container implementations as well, that are
2161         candidates to derive toplevels from. in general the resizing code will
2162         care about visibility itself.
2163         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
2164         * gtk/gtkbox.c (gtk_box_remove): likewise.
2165
2166         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
2167         gtk_window_set_hints(), since we haven't calculated the new position
2168         yet.
2169
2170         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
2171         *mask are alway initialized in a sane way, regardless of the return
2172         value.
2173
2174 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
2175
2176         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
2177         to gtk_container_child_arg_setv, but takes a variable argument list.
2178         new function gtk_container_get_child_arg_type, which is needed by
2179         gtk_object_collect_args.
2180
2181         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
2182         take a function pointer to figure the argument type.
2183         adapted callers to pass gtk_object_get_arg_type.
2184         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
2185         gtk_object_get_arg_type..
2186
2187         * gtk/gtkpacker.h: 
2188         * gtk/gtkpacker.c:
2189         (gtk_packer_reorder_child): new function to change the packing order
2190         of a child.
2191         (gtk_packer_size_request): 
2192         (gtk_packer_size_allocate): take container->border_width into acount.
2193
2194         * gtk/gtkpacker.c: implemented widget arguments:
2195         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
2196         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
2197         implemented child arguments:
2198         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
2199         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
2200         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
2201         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
2202
2203         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
2204         not the alignment.
2205
2206         * gtk/gtkeventbox.h:
2207         * gtk/gtkeventbox.c: GtkType and macro fixups.
2208
2209         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
2210         sensitivity of an entry.
2211
2212         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
2213         for insensitive base and text.
2214
2215         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
2216         widget state dependent.
2217         (gtk_entry_style_set): likewise.
2218         (gtk_entry_state_changed): set background color on state changes.
2219         (gtk_entry_draw_text): for non selected text, use state dependent
2220         colors.
2221
2222         * gtk/gtktogglebutton.c: support for widget arguments
2223         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
2224
2225 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
2226
2227         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
2228         code for 1.0.x-like parameters. Changed internal interface of
2229         gtk_spin_button_real_spin. Several fixes to avoid emission of
2230         "value_changed" where possible.
2231
2232 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
2233
2234         * gtk-boxed.defs: s/GkWidget/GtkWidget/
2235
2236 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
2237
2238         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
2239         to select the resize_mode for the idle-labels container.
2240
2241         * gtk/gtkframe.h: 
2242         * gtk/gtkframe.c: GtkType and macro corrections.
2243
2244         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
2245         support widget argument "GtkRadioButton::group".
2246
2247 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
2248
2249         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
2250         unconditionally if resize_mode has changed.
2251
2252         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
2253         GTK_RESIZE_QUEUE on the scrolled window.
2254         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
2255
2256 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
2257
2258         * gtk/gtkcontainer.h:
2259         * gtk/gtkcontainer.c:
2260         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
2261         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
2262         (gtk_container_queue_resize): new function to queue a container for
2263         a *size* reallocation (doesn't affect its position, and thus its
2264         parent is left untouched usually).
2265         (gtk_container_get_resize_container): new function to retrive the next
2266         most resize container which is not itself queued for a resize.
2267         (gtk_container_idle_sizer): new function to carefully process the
2268         container_resize_queue since it can change during invokation of
2269         gtk_container_check_resize().
2270         (gtk_container_resize_children): total rework of this function to
2271         properly handle resize containers. makes a lot of assumptions whitch
2272         are stated in the comments.
2273
2274         * gtk/gtkcontainer.c:
2275         (gtk_container_real_check_resize): only requeue ourselves if we are not
2276         a resize container.
2277         (gtk_container_clear_resize_widgets): care for automatic deletion of our
2278         resize_widgets list on size_allocate through a handler connection.
2279
2280         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
2281         focus and default widget of a window, so to take the burden from
2282         gtk_widget_unparent.
2283
2284         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
2285         to be clever, but actually messed up the resize_children logic and
2286         caused unneccessary allocations on its whole branch. besides this,
2287         it messed up the display by not invoking a redraw after the allocation.
2288
2289         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
2290         that it is the child again that is queued for a resize.
2291         (gtk_table_attach): likewise.
2292         (gtk_table_remove): likewise.
2293
2294 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2295
2296         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
2297         gtk_entry_adjust_scroll.  Required if you change the cursor
2298         position and want to sync it up with your code (Midnight Commander
2299         gtk front end needs this).
2300
2301         * gtk/gtktable.c: Deal with tables that have size 0, 0.
2302
2303 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
2304
2305         * examples/README.1ST: new file to explain how the
2306           code examples should be extracted from the tutorial.
2307
2308 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
2309
2310         * gtk/gtkctree.c (draw_row): added new "line style"
2311         GTK_CTREE_LINES_TABBED 
2312         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
2313         search the glist pointer of an GtkCTreeRow
2314
2315 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
2316  
2317         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
2318         from, and clean up, the dependencies.  Generate to intermediate
2319         files to prevent problems with Ctrl-C.
2320
2321         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
2322
2323 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
2324
2325         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
2326         - Bug fix for precision problem causing occasional double emission 
2327           of "value_changed" signal (hopefully works now).
2328         - API change (should be binary compatible) : 
2329           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
2330           Modified cursor example appropriately.
2331           To spin by something other than step_/page_increment, use
2332           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
2333         - Made GTK_SHADOW_NONE the default. ;)
2334         - Fixed casting of GtkAdjustment* to GtkWidget* in
2335           gtk_spin_button_value_changed.
2336
2337 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
2338
2339         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
2340         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
2341         resize widget list before queuing the container for a new reize.
2342         (gtk_container_need_resize): changed return value to FALSE, since this
2343         used to indicate that no further resizes are needed.
2344         (gtk_container_set_arg): 
2345         (gtk_container_get_arg): 
2346         (gtk_container_class_init): implemented GtkContainer::resize_mode
2347         argument.
2348
2349         (gtk_container_resize_children): when we walk up the tree of a resize
2350         widget we need to stop if we are the current parent.
2351
2352         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
2353         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
2354         (gtk_widget_hide_all): retrive the toplevel widget from via
2355         gtk_widget_get_resize_container().
2356
2357 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
2358
2359         * gtk/gtklist.c (gtk_list_button_press): Only respond
2360           to selection with button 1. This allows context-sensitive
2361           menus to work correctly.
2362
2363 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
2364
2365         * gtk/gtkaccelgroup.c: 
2366         * gtk/gtkbindings.c: 
2367         * gtk/gtkcontainer.c:
2368         * gtk/gtkitemfactory.c:
2369         * gtk/gtkobject.c: 
2370         * gtk/gtksignal.c:
2371         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
2372         g_quark_from_static_string calls to save memory.
2373
2374         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
2375         function _after_ the new data has been setup.
2376         minor changes to object data functions to feature the GQuark type.
2377
2378 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2379
2380         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
2381           from argv.
2382
2383 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
2384
2385         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
2386           to be more readable perl, to spit out stuff that looks
2387           more like readable C, and to pipe output through indent
2388           so output looks a lot like readable C. No functional
2389           changes.
2390
2391 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
2392
2393         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
2394           necessary when switching to a masked pixmap. (Based on a patch
2395           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
2396
2397 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
2398
2399         * gtk/gtkeditable.[ch]: Added action signals for keyboard
2400           bindings. (move_cursor, kill_word, etc, etc, etc). 
2401
2402           removed the time argument from
2403           gtk_editable_cut/copy/paste_clipboard (source but not
2404           binary incompatible...) Instead get time from
2405           gtk_get_current_event ().
2406         
2407         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
2408           signals.
2409
2410 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
2411
2412         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
2413
2414         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
2415              parent class to GtkNotebookClass when splitting the widget in
2416              two.  Also updated some comments.
2417
2418         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
2419                button without a font selected.
2420
2421              Fixed bug in set_font_name - I hadn't updated the code to
2422                search for the style in the font_style clist - it was
2423                still assuming the style row was equal to its index,
2424                but it isn't any more.
2425         
2426              Changed 'Reset' button on filter page to 'Clear Filter'.
2427              Deleted old code relating to the old 'Filter Fonts' toggle
2428              Updated some comments.
2429              Cleared 'Actual Fontname' if no font is set.
2430
2431         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
2432              destroying the GtkFontSelection instead of the
2433              GtkFontSelectionDialog.
2434
2435 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
2436
2437         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
2438           flag to make all warnings fatal errors.
2439
2440         * gtk/testthreads.c: moved <pthreads.h> include inside 
2441           #ifdef USE_PTHREADS
2442
2443 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
2444
2445         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
2446           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
2447
2448         - Added new function gtk_container_set_resize_mode() for
2449           fine-grained control of where resize-queueing is done.
2450
2451         - Removed GtkContainer::need_resize and GtkWindow::move_resize
2452         - Added GtkContainer::check_resize to replace need_resize.
2453
2454         - Added function gtk_container_check_resize() to trigger
2455           queued resizes, and gtk_container_resize_children() to
2456           Figure which children need to be size-allocated. (logic
2457           moved from gtkwindow.c)
2458
2459         - Reorganized code in gtkwindow.c
2460         
2461         - Set the resize-mode for viewports so that resizes within
2462           a viewport don't propagate out of it. 
2463         
2464 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2465
2466         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
2467
2468         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
2469         g_return_val_if_fail, because the function *does* return a value.
2470
2471 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
2472
2473         * gtk/gtkaccellabel.h:
2474         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
2475         request the size of the accelerator portion of an accel label.
2476         (gtk_accel_label_size_request): don't request for the accelerators size.
2477         (gtk_accel_label_expose_event): only draw the accelerator if we got
2478         enough extra space.
2479
2480         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
2481         width from children.
2482
2483         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
2484         object (after removal has been requested) check if there is still an
2485         accelerator remaining to avoid adding two accelerators on an object.
2486         this can happen for locked accelerators (or accelerator-frozen widgets).
2487         (gtk_menu_size_request): feature childrens accelerator width in size
2488         requests.
2489
2490         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
2491         gtk_widget_freeze_accelerators() for dynamically created menu items.
2492
2493         * gtk/gtksignal.h: 
2494         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
2495         which will return a handler_id > 0 if the specified function is pending
2496         for `signal_id'.
2497
2498         * gtk/gtkwidget.h:
2499         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
2500         a signal handler function to stop accelerator addition.
2501         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
2502         which will prevent (undo) any accelerators from being added to or
2503         removed from a widget.
2504
2505 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
2506
2507         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
2508         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
2509         acceleration, new API gtk_spin_button_set_snap_to_ticks.
2510
2511 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
2512
2513         * gdk/gdk.h:
2514         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
2515         the current GdkWindow the pointer is on if there is any.
2516         
2517         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
2518         and one column, so we don't construction logic at all. changed a few
2519         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
2520         unsigned int wraps.
2521
2522         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
2523         portion, added an additional check for parent != widget.
2524
2525         * more GtkType and macro fixups.
2526
2527 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2528
2529         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
2530         "clip" parameter, which is the clipping rectangle to use.  This
2531         eliminates the extremely annoying flicker when exposing parts of
2532         the handlebox.
2533
2534 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
2535
2536         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
2537         resizing
2538
2539 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
2540
2541         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
2542         != 0 on the argument.
2543
2544         * gtk/gtktable.h: 
2545         * gtk/gtktable.c: new function gtk_table_resize() which allowes
2546         shrinking and expanding of tables. implementation of widget arguments
2547         and child arguments. many signedness corrections.
2548
2549 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
2550
2551         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
2552         not only the child, otherwise we might end up taking away other
2553         childrens space after the resize.
2554
2555         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
2556         an unknown menu path from any source, that path must always be flagged
2557         as "modified", since we don't really know whether it has its default
2558         value or not.
2559
2560         * gtk/gtktree.c:
2561         * gtk/gtkpacker.c:
2562         * gtk/gtknotebook.c:
2563         * gtk/gtkmenushell.c:
2564         * gtk/gtklist.c:
2565         * gtk/gtkpaned.c:
2566         * gtk/gtkfixed.c: 
2567         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
2568
2569         * gtk/gtkbox.h: 
2570         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
2571         arguments. implemented child arguments.
2572
2573         * more GtkType and macro fixups.
2574
2575 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
2576
2577         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
2578
2579         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
2580         and gtk_clist_get_hadjustment.
2581
2582         * gtk/gtkcontainer.c:
2583         implementation of children arguments, new class member functions
2584         (child_type), (get_child_arg) and (set_child_arg) plus a new field
2585         n_child_args.
2586         (gtk_container_child_type): new function which returns the type of a
2587         child that the container expects for its next addition.
2588         (gtk_container_add_child_arg_type): new function to introduce a new
2589         child argument at class creation time.
2590         (gtk_container_query_child_args): new function to query all child
2591         arguments that are supported by a container class.
2592         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
2593         child argument.
2594         (gtk_container_child_arg_setv): new function to set a child argument for
2595         a certain container and child combination.
2596         (gtk_container_add_with_args):
2597         (gtk_container_add_with_argv): new functions to feature addition of a
2598         new child in combination with the setting of certain child arguments.
2599
2600         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
2601         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
2602         this should really be done through class cretion hooks some day.
2603
2604         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
2605         guint : 16.
2606
2607         * gtk/gtkpacker.h:
2608         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
2609         follow the gtk convention for lower case variable names (important
2610         for language wrappers and widget arguments), and made them guint : 16.
2611
2612         * examples/packer/pack.c: adaptions for the case converted GtkPacker
2613         fields.
2614
2615 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
2616
2617         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
2618         change the character pair for single line comments.
2619         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
2620         GtkItemFactoryClass.
2621         (gtk_item_factory_parse_rc_string): likewise.
2622
2623 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
2624
2625         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
2626         lists from the klass structure to a static structure
2627         in gtkfontsel.c; cleans up global the namespace.
2628
2629 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
2630
2631         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
2632         bug with /*< skip >*/ and remove warning.
2633         
2634 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
2635
2636         * gtk/Makefile.am: Made the gtkmarshal.* generation
2637         rules maintainer-only.
2638
2639 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
2640
2641         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
2642           gtk/Makefile.am gtk/makenums.pl 
2643
2644         Removed out the G_ENUM/FLAGS mechanism in favor
2645         of a perl script that parses the standard headers
2646         (with occasional /*< nick=foo >*/ style overrides)
2647         and extracts the enumerations.
2648
2649           gtk/maketypes.awk: Small improvments to the
2650           translation of names. (Avoid splitting gc into
2651           g_c_.)
2652         
2653 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
2654
2655         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
2656         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
2657         
2658 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
2659
2660         * gtk/gtkentry.c:
2661         - Restored gtk_entry_adjust_scroll to static 
2662         - Changed text positioning code so that we always
2663           display as large a portion of the text as possible.
2664
2665 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
2666
2667         * gtk/gtktext.c (gtk_text_finalize): Free internal
2668         structures of text widget. Also, unreference pixmaps
2669         when unrealizing.
2670         
2671 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
2672
2673         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
2674         3.3.1 bug workaround to number keys starting at 1.
2675
2676 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
2677
2678         * docs/gtk_tut.sgml: Fixed urls for complete example
2679         source for scribble+widget-writing examples.
2680
2681 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
2682
2683         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
2684         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
2685         specs of the form c #abcdef [ more keys ] properly.
2686
2687 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
2688
2689         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
2690         (gtk_spin_button_set_shadow_type):
2691         New API to set the shadow type of the arrow panel.
2692
2693 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
2694
2695         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
2696         code for drawing the child in two places at once. Unfortunately,
2697         not only does it not work anymore (because reparenting has
2698         been fixed), but it also triggers reparent/expose loops
2699         in some cases.
2700
2701         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
2702         an unecessary unrealize.
2703
2704 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
2705
2706         * gdk/gdkwindow.c (gdk_window_reparent): Update the
2707           old and new parents' child window lists properly.
2708
2709 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
2710
2711         * gtk/gtkpacker.h:
2712         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
2713         and GtkSideType, to be consistent with the rest of Gtk's enum
2714         definitions. wrapped the enum definitions with the G_ eunm wrappers.
2715         spelled out the GTK_ANCHOR_* enum values, since single letters don't
2716         work out corectly as nick-names (left the old values as aliases).
2717         some signdness corrections (border-width, spacing), could stand more.
2718
2719 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2720
2721         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
2722           Added gtkpacker
2723
2724         * examples/packer/pack.c, examples/packer/Makefile: Added
2725           gtkpacker example
2726
2727 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
2728
2729         * gtk/gtktext.c (remove_cache_line): Fixed broken
2730         list-removal code.
2731
2732         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
2733         Check bounds before deleting.
2734
2735 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
2736
2737         * autogen.sh: Support ACLOCAL_FLAGS
2738
2739 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
2740
2741         * gtk-config.in: Added missing quotes.
2742
2743 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
2744
2745         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
2746
2747 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
2748
2749         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
2750         G_COMPILED_WITH_DEBUGGING.
2751
2752         * configure.in (fd_set): Explain check better.
2753
2754         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
2755         the version from which gtk+'s libtool forked.  Needed for people
2756         who use post-1.2 alphas of libtool.
2757
2758 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
2759
2760         * glib/* Moved to glib module
2761
2762         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
2763           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
2764
2765           configuration changes for the above:
2766          
2767           - Use AM_PATH_GLIB by default to find glib; also accept
2768             a --with-glib option for using an uninstalled glib.
2769          
2770           - Put --enable-debug information into config.h so
2771             that we rebuild when it changes. (was in glibconfig.h)
2772
2773 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
2774
2775         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
2776
2777         * gtk/gtknotebook.h (struct _GtkNotebookClass):
2778         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
2779         added missing argument (according to Joseph Coleman's bug report)
2780
2781         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
2782         function to fix notebook focus handling
2783         
2784 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
2785
2786         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
2787           glib/gutils.c glib/testglib.c glib/gdataset.c
2788           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
2789           gtk/gtktext.c gtk/gtkbindings.c:
2790
2791          renamed g_const_pointer => gconstpointer
2792
2793 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
2794
2795         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
2796         invoked with (NULL, NULL); (this worked sometime ago).
2797
2798         * gtk/gtktypeutils.h: 
2799         * gtk/gtktypeutils.c: enum and flags type creation can now be done
2800         through gtk_type_register_enum() and gtk_type_register_flags(),
2801         which allow to specify the enum value arrays directly.
2802         the NULL terminated value arrays can be retrived through
2803         gtk_type_enum_get_values() and gtk_type_flags_get_values();
2804         (gtk_type_children_types): new function to query derived types.
2805
2806 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
2807
2808         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
2809         environment to genmarshal.pl.
2810         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
2811         rule), and removed it where not needed (in the dependencies).
2812
2813         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
2814
2815 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
2816
2817         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
2818         was just g_direct_hash.
2819
2820 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
2821
2822         * configure.in: x_libs=, not $x_libs=. Enough said.
2823           (Case only hit for --disable-xshm)
2824         
2825 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
2826
2827         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
2828           when testing for X libraries, don't replace them. Because
2829           the user might have specified the path to the X libraries
2830           themself before running configure.
2831
2832         * examples/**.c: Changed all gpointer * to gpointer
2833         
2834 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2835
2836         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
2837         fleur_cursor field.  Now the cursor is created/destroyed on demand
2838         by the routines that need it.
2839
2840         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
2841         (gtk_handle_box_motion): The fleur cursor is created and destroyed
2842         only when needed.
2843
2844 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
2845
2846         * gtk/gtktypeutils.h: 
2847         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
2848         gtk_enum_set_values to gtk_type_enum_get_values and
2849         gtk_type_enum_set_values respectively, since they are actually type
2850         system features.
2851
2852         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
2853         my last commit. ;)
2854
2855 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
2856
2857         * gtk/gtkselection.h: 
2858         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
2859         gtk_selection_data_free.
2860
2861         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
2862         for "selection_received", which was completely bogus.
2863         * other fixups to gtk_signal_new() calls all over the place.
2864
2865         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
2866         * gtk/gtktypebuiltins_vars.c: type variable implementations.
2867         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
2868         declarations.
2869         * gtk/gtktypebuiltins_evals.c: enum value arrays.
2870         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
2871         gtk.defs.
2872         * gtk/gtk.defs: generated file with scheme syntax for type definitions
2873         of gtk and gdk structures and enums.
2874         * gtk/gtktypeutils.h: 
2875         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
2876         macros anymore (this fixes binary incompatibility with new enum
2877         definitions).
2878
2879         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
2880         key bindings for this widget.
2881         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
2882         handler.
2883
2884         * gtk/gtkobject.h:
2885         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
2886         again. new functions gtk_object_class_user_signal_new () and
2887         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
2888         flag on the signal creation.
2889
2890 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
2891
2892         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
2893
2894 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
2895
2896         * gdk/gdkprivate.h: 
2897         * gdk/gdktypes.h: 
2898         * gtk/gtkprivate.h: 
2899         * gtk/gtkwidget.h: 
2900         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
2901
2902         * reworked enum value array generation code. gtk.defs is a generated
2903         file now.
2904
2905 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
2906
2907         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
2908         check menu items in the compatibility code (this required me to remove
2909         the "<check>" part from the menu item name, grrr).
2910
2911 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
2912
2913         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
2914         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
2915         
2916 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
2917
2918         * gtk/gtkitemfactory.h: 
2919         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
2920         additions to the dumping code to feature GtkPatternSpec.
2921         even found a bug to fix in the original code ;)
2922         
2923 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
2924
2925         * gtk/gtkitemfactory.c: support different types of callbacks, to
2926         maintain existing code.
2927
2928 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
2929
2930         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
2931
2932         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
2933         this should eventually be done by gentypeinfo.el somewhen.
2934         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
2935
2936         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
2937         enum values of an enum type.
2938
2939         * gtk/gtk.defs:
2940         * gtk/gtkcurve.h: 
2941         * gtk/gtkobject.h: 
2942         * gtk/gtkprivate.h: 
2943         * gtk/gtkwidget.h:
2944         * gtk/gtkenums.h: 
2945         brought enum/flags definitions in sync, added a few more enum
2946         definitions for bindings and pattern matching.
2947
2948         * some more macro and GtkType fixups in various places.
2949
2950         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
2951         as a key-release modifier for the binding system.
2952
2953 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
2954
2955         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
2956         was a stale list pointer that is already present in GtkMenuShell.
2957
2958         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
2959         GtkMenuShell::selection_done which is emitted after the menu shell
2960         poped down again and all possible menu items have been activated.
2961
2962 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
2963
2964         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
2965         before activation of the menuitem, so the menu is actually taken off the
2966         screen prior to any menu item activation.
2967
2968         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
2969         for NULL nodes.
2970
2971         * gtk/gtkwidget.h:
2972         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
2973         the emission of the "add-accelerator" signal on a widget. this is
2974         usefull to prevent accelerator installation on certain widgets.
2975
2976         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
2977         labels left justified, by setting their alignment. stop accelerator
2978         installation for the menu items, since we use dynamic menus.
2979
2980 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
2981
2982         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
2983         should *really* use GtkItemFactory. this is only for preserving source
2984         compatibility where possible, use of GtkMenuFactory is deprecated as of
2985         now.
2986
2987         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
2988         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
2989         missed this possibility when i added gtk_object_class_add_user_signal
2990         in late january.
2991
2992         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
2993
2994 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
2995
2996         * gtk/gtkaccelgroup.h: 
2997         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
2998
2999         * gtk/gtkaccellabel.h: 
3000         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
3001         display of the accelerators associated with a certain widget.
3002
3003         * gtk/gtkitemfactory.h: 
3004         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
3005         parsing and accelerator handling.
3006
3007         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
3008         positioning a menu.
3009         (gtk_menu_map): removed the allocation code.
3010         (gtk_menu_size_allocate): care for redrawing of children and resize
3011         our widget->window correctly.
3012         (gtk_menu_key_press): feature the new accelerator groups.
3013
3014         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
3015         submenu if neccessary.
3016
3017         * gtk/gtkmenuitem.c:
3018         * gtk/gtkcheckmenuitem.c:
3019         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
3020         function variants.
3021
3022         * gdk/gdk.c:
3023         (gdk_keyval_from_name): 
3024         (gdk_keyval_name): new functions for keyval<->key-name associations.
3025         (gdk_keyval_to_upper): 
3026         (gdk_keyval_to_lower): 
3027         (gdk_keyval_is_upper): 
3028         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
3029         regards to their cases.
3030
3031 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
3032
3033         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
3034         widget's class path.
3035         (gtk_widget_path): new function to calculate a widget's name path.
3036
3037         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
3038         pattern matching, features reversed pattern matches.
3039
3040 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
3041
3042         * examples/extract.sh, examples/extract.awk:
3043           New files to automagically extract code examples from the
3044           tutorial.
3045
3046 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
3047
3048         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
3049         * gtk/gtkcontainer.c (gtk_container_focus_move):
3050         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
3051
3052 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
3053
3054         * docs/gtk_tut.sgml: minor changes to support auto
3055           extraction of example code
3056
3057 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
3058
3059         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
3060           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
3061
3062 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
3063
3064         * docs/gtk_tut.sgml:
3065           - new section on Events
3066           - change all delete_event callbacks to include
3067             a GdkEvent parameter
3068           - clean up the formatting
3069
3070         * examples - helloworld.c, helloworld2.c, notebook.c,
3071           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
3072           rulers.c, table.c, wheelbarrow.c: change all delete_event
3073            callbacks to include a GdkEvent parameter.
3074
3075 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3076
3077         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
3078         field of crossing events.
3079         (struct _GdkEventCrossing): Added the following fields: time, x,
3080         y, x_root, y_root, mode, focus, state.
3081
3082         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
3083         crossing event structure.
3084
3085         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
3086         changes to the crossing event structure.
3087
3088 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
3089
3090         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
3091
3092 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
3093
3094         * docs/gtk_tut.sgml:
3095            - GtkTooltips, update to current API
3096            - change all 'gpointer *data' to 'gpointer data'
3097            - other minor changes
3098
3099 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
3100
3101         * configure.in (LDFLAGS): Bomb out with a moderately
3102           helpful message if detection of X libraries fails.
3103
3104 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
3105
3106   [ Combination of:
3107      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
3108      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
3109
3110         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
3111           gtk/gtksignal.c gtk/gtktext.c: 
3112
3113           Fixups for warnings from adding const to type of GHashFunc,
3114           GCompareFunc
3115         
3116         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
3117           ansi-warnings fixups.
3118
3119 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
3120
3121         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
3122         Locate child at (border_width,border_width), not
3123         (2*border_width,2*border_width). [ The border is _outside_
3124         widget->window ]
3125         
3126         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
3127           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
3128
3129 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3130
3131         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
3132         used in gnome-libs
3133
3134 1998-05-22    <sopwith@redhat.com>
3135
3136         * gtk/gtkeventbox.c: Pass size_allocate on to the child
3137         regardless of whether it is visible or not. Also
3138         locate child at (border_width,border_width), not (0,0)
3139
3140 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
3141
3142         * gtk/gtkhandlebox.c: Added style_set handler.
3143
3144 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
3145  [ From: Chris Lahey  <clahey@umich.edu> ]
3146         
3147         * gtk/gtkeditable.c, gtk/gtkeditable.h,
3148           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
3149           and set_position functions to get and set the cursor position.
3150
3151         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
3152           signal status. Make GtkText do user-controlled insertion
3153           and deletion through the Editable widget so that these
3154           signals are properly emitted.
3155
3156         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
3157           display asterisks instead of empty space when visible = FALSE)
3158
3159 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
3160
3161         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
3162         signal.
3163
3164 1998-05-21    <sopwith@redhat.com>
3165
3166         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
3167         custom routine for loading images specified in gtkrc's.
3168
3169 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
3170
3171         * configure.in: Use pthread_attr_init() as a test function,
3172         since most of the rest of -lpthread is macros on DU4.
3173
3174 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
3175
3176         * gtk/gtkcombo.c: implemented completion in the entry.
3177
3178 1998-05-18    <sopwith@moebuis.labs.redhat.com>
3179
3180         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
3181
3182 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
3183
3184         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
3185         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
3186         to be of runtype GTK_RUN_LAST.
3187
3188         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
3189         "need-resize".
3190
3191         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
3192         "widget-selected".
3193
3194 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
3195
3196         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
3197         text retrived from GtkEntry. only intercept the Tab key if there
3198         was some text to complete.
3199
3200 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
3201
3202         Basic thread-awareness:
3203
3204         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
3205
3206         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
3207         gdk_threads_[init/enter/leave] for applications, plus
3208         gdk_threads_wake to wake the mainloop thread out of
3209         the select().
3210
3211         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
3212
3213 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
3214
3215         * gtk/testgtk.c (list_clear): Account for the fact
3216         that gtk_list_clear_items is not inclusive. (Clears
3217         [start, end))
3218
3219 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
3220
3221         * gdk/gdk.c: include gdkkeysyms.h always
3222         
3223
3224 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
3225
3226         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
3227         the visibility_notify_event method and changed method order.
3228
3229 1998-05-14    <sopwith@moebuis.labs.redhat.com>
3230
3231         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
3232
3233 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
3234
3235         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
3236         from Olli Helenius <ollhel@batman.jytol.fi>.
3237
3238         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
3239         freeing types.
3240         (gtk_type_set_chunk_alloc): new function to allow allocation of new
3241         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
3242         thorugh g_malloc).
3243
3244         * gtk/gtkobject.c (gtk_object_finalize): free an object through
3245         gtk_type_free().
3246
3247         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
3248         GtkButtons to 16.
3249         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
3250         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
3251
3252 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
3253
3254         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
3255           GPOINTER_TO_UINT fixes.
3256
3257         * gtk/gtksignal.c: Include <string.h> for memset.
3258
3259 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
3260         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
3261
3262         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
3263         Cleanups, comments and the ability to have rulers with 
3264         a reversed direction.
3265
3266 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
3267
3268         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
3269         that Sopwith missed when changing stat => lstat.
3270
3271 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
3272
3273         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
3274           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
3275         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
3276
3277         * gdk/gdk.c: Print sizeof() results
3278         as g_print("%ld", (glong)sizeof(foo)), to deal with
3279         sizeof() being long on Alpha's.
3280
3281         * gtk/testgtk.c: include <string.h> for strlen
3282
3283 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
3284         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
3285         
3286         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
3287         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
3288
3289         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
3290
3291 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3292         (From: Christopher James Lahey <clahey@umich.edu>)
3293         
3294         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
3295           gtk/testgtk.c:
3296
3297         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
3298         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
3299         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
3300         the default relief for the toolbars buttons. Added an
3301         toggle for the toolbar test in testgtk.c.
3302
3303 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
3304
3305         * docs/gtk-config.1: Rewritten and hopefully improved.
3306
3307 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
3308
3309         * docs/Makefile.am
3310         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
3311
3312 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3313
3314         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
3315         GtkPreview's visual and colormap, otherwise things can BadMatch.
3316
3317         * gtk/testgtk.c (create_color_preview): 
3318         (create_gray_preview): Removed pushing/popping of visual/colormap
3319         now that GtkPreview does things correctly.
3320
3321         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
3322         (gtk_color_selection_draw_wheel): Pick the style from the correct
3323         place (the colorsel->wheel_area widget) so that the GCs will match
3324         with where we are going to paint to.
3325
3326         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
3327         of visual/colormap now that GtkColorSelection does things the
3328         right way.
3329
3330 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
3331
3332         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
3333         previously unused window->need_resize flag to mark if a window's
3334         descendents changed size while the window was not visible. In this
3335         case, when the window becomes visible, we reallocate everything,
3336         since we didn't keep track of what actually changed.
3337
3338         (Fixes bug where changing the popdown strings of a
3339         combo to something of the same length caused them to
3340         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
3341
3342 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
3343
3344         [security audit by Alan Cox]
3345
3346         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
3347         exceed maximum assumed size.
3348
3349         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
3350         not exceed maximum assumed size.
3351         (gtk_menu_factory_remove): likewise.
3352         (gtk_menu_factory_find_recurse): likewise.
3353
3354 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
3355
3356         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
3357         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
3358         redrawn if that is still neccessary. don't allow queueing of already
3359         destructed objects.
3360         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
3361         widgets which are in the queue can be destroyed safely, handle
3362         requeueing properly.
3363         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
3364         widgets which are in the queue can be destroyed/unrealized safely.
3365
3366 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
3367
3368         * gtkfaq.sgml: add question on multi-threading,
3369           minor URL cleanups.
3370
3371 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
3372
3373         * configure.in (cflags_set): preserve automake CFLAGS.
3374
3375         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
3376         and libgdk-1.1.la. this means we need to change certain portions of
3377         the Makefile.am on major/minor version bumps.
3378
3379         * ltmain.sh: the -release option is not required anymore.
3380         
3381         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
3382         of the first argument to be of type GtkObject. unconditionally compile
3383         this function. removed __GNUC__ dependancy of the gtk_object_ref and
3384         gtk_object_unref macro wrappers for this function.
3385
3386 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
3387
3388         * gtk/gtkobject.h:
3389         * gtk/gtkobject.c:
3390         (gtk_object_data_try_key):
3391         (gtk_object_data_force_id): these are now macros substituting the old
3392         functions. we just use the corresponding g_dataset_* functions for
3393         key->id associations. (this is to assure unique key<->id associations).
3394
3395 1998-05-10  Stefan Jeske  <stefan@gtk.org>
3396
3397         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
3398         to gboolean.
3399
3400         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
3401
3402 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
3403
3404         * configure.in (LIBS): Try to figure out if this
3405         is Digital Unix and we need -std1 to get the
3406         right prototypes.
3407
3408 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
3409
3410         * docs/gtk_tut_it.sgml: update of Italian tutorial
3411           translation from Daniele Canazza <dcanazz@tin.it>
3412
3413 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
3414
3415         * gtk/gtkfeatures.h.in: new file used as template for
3416         * gtk/gtkfeatures.h: new file to define macros indicating newly
3417         introduced features, such as GTK_HAVE_SIGNAL_INIT.
3418
3419         * gtk/gtksignal.c:
3420         (gtk_signal_emitv_by_name):
3421         (gtk_signal_emitv):
3422         new functions to emit signals with an already provided parameter set.
3423         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
3424         (gtk_signal_real_emit): prototype changes, so this functions always
3425         gets its parameters and signal structure as arguments.
3426         (gtk_signal_emit): provide the signal structure and parameter list for
3427         gtk_signal_real_emit.
3428         (gtk_signal_emit_by_name): likewise.
3429
3430 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
3431
3432         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
3433         signal connections through unsetting GTK_CONNECTED.
3434         (gtk_signal_handler_insert): reflect the presence of signal connections
3435         through setting GTK_CONNECTED.
3436         (gtk_signal_real_emit): only check for handler emissions if the object
3437         has the GTK_CONNECTED flag set.
3438         (gtk_signal_handler_pending): don't check for pending handlers if the
3439         GTK_CONNECTED flag is not set for this object.
3440
3441         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
3442         a GtkObject has signal handler connections.
3443
3444         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
3445         set for this object call gtk_signal_handlers_destroy().
3446         
3447         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
3448         multiple processing of macro args.
3449
3450         * gtk/gtktypeutils.c:
3451         * gtk/gtkobject.c:
3452         * gtk/gtkwidget.c:
3453         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
3454
3455 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
3456
3457         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
3458         draw-queue when we are done. 
3459
3460         (gtk_widget_queue_draw/_queu_resize): Always return
3461         FALSE and avoid having two idles at the same time.
3462         
3463 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
3464
3465         * gtk/gtktext.c: Various fixes to make sure cache
3466         lines are freed if line_start_cache doesn't point to the
3467         beginning of the cache.
3468
3469 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
3470
3471         * style_set improvements for GtkText and GtkEntry
3472
3473 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
3474
3475         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
3476         been initialized.
3477
3478 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
3479
3480         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
3481         data chunks through a global object data structure list. unlink
3482         object data before invoking its destroy function.
3483         (gtk_object_finalize): slight modification to allow usage of object
3484         data during object finalization.
3485
3486 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
3487
3488         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
3489         signal names, e.g. "signal-name" is now an alias for "signal_name".
3490         (gtk_signal_handler_new): allocate handlers through a global handler
3491         structure list, that's faster than memchunks.
3492         (gtk_emission_new): allocate emissions through a global emission
3493         structure list, that's faster than memchunks.
3494
3495 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3496
3497         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
3498
3499         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3500         but will immediately change the library name.
3501
3502         * gdk/Makefile.am:
3503         * gtk/Makefile.am: specify -postfix and -version-info
3504
3505         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
3506         GTK_BINARY_AGE. calculate LT_* variables for libtool.
3507
3508 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3509
3510         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
3511         background (fg_set -> bg_set confusion).
3512
3513 1998-05-06  Stefan Jeske  <stefan@gtk.org>
3514
3515         * gtk/testgtk.c (unselect_all): Removed code that caused an
3516         endless loop.
3517
3518 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
3519
3520         * gtk/gtksignal.c: reimplemented the signal storage system to use a
3521         linear array rather than a hash table.
3522         be carefull *not* to keep any GtkSignal pointers across invokations
3523         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
3524         general code cleanups, made all allocations through memchunks.
3525         (gtk_signal_lookup): we now do the lookup of signals through a key_id
3526         for the signal names to avoid multiple hashing of the signal name on
3527         lookups for the several hirarchy levels of an object.
3528
3529 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
3530
3531         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
3532         to speed things up and remove code duplication.
3533
3534         Reintegrated buffer overflow patches, and added
3535         some extra paranoia.
3536         
3537 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
3538
3539         * gdk/gdk.c (gdk_event_translate): A guint * was
3540         being passed where X expected a Keysym *, and
3541         keysyms are long's on Alpha Linux. This was causing
3542         segfaults in Xlib, apparently because of alignment.
3543         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
3544         
3545 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
3546
3547         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
3548         set GDK_EXPOSURE_MASK for DrawingAreas
3549
3550 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
3551
3552         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
3553         (superceded by RC file reparsing capabilities)
3554
3555         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
3556         events. (Shouldn't be sent to the InputOnly leader, which
3557         it is now by gdk_event_send_clientmessage_toall
3558
3559         * gtk/testgtk.c: Added extra button to rcfiles test
3560         to send out _GDK_READ_RCFILES events.
3561         
3562 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
3563
3564         * gtk/gtkselection.c (gtk_selection_clear): Fixed
3565         reversed conditionals that caused segfault on some
3566         platforms.
3567
3568 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
3569
3570         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
3571         cast to GTK_OBJECT for gtk_object_ref.
3572
3573 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
3574
3575         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
3576         checking for signal initialization in gtksignal.c.
3577
3578         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
3579         a long debugging period ;)
3580
3581 1998-05-05  Stefan Jeske  <stefan@gtk.org>
3582
3583         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
3584         New function to wrap XSetDashes; modified gtkctree.c to use it.
3585
3586 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3587
3588         * configure.in: Added $x_libs in the other_libraries field in the
3589         check for XShapeCombineMask.
3590
3591 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
3592
3593         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
3594         gtk_type_is_a().
3595         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
3596         linear array rather than a hash table. it actually speeded up testgtk
3597         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
3598         pointers across invokations of gtk_type_node_next_and_invalidate() and
3599         therefore gtk_type_unique()!
3600
3601         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
3602         inheritance of a class pointer.
3603         (GTK_OBJECT): modifications for speedups.
3604         (GTK_IS_OBJECT): likewise.
3605         (GTK_OBJECT_CLASS): likewise.
3606         (suggested by owen).
3607
3608         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
3609
3610         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
3611
3612         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
3613         since its derivation changed 4 month ago ;(. showed up with the unique
3614         type name checking code in gtk_type_unique().
3615
3616         * random guint->GtkType and macro fixups.
3617
3618 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
3619
3620         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
3621         Configure events that would result in a negative
3622         size.
3623
3624 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
3625
3626         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
3627         "glibconfig.h" and another about writing another IRC
3628         client.
3629
3630 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
3631
3632         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
3633         parameters to log are doubles. Digital Unix apparently
3634         is missing the argument in its prototype.
3635
3636 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
3637
3638         * gtk/gtklabel.c (gtk_label_state_changed): Don't
3639         force a clear until the widget is actually on
3640         screen.
3641
3642 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
3643
3644         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
3645         to make this consistent with the gtk-1-0 tree.
3646
3647 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
3648
3649         * configure.in acheader.h gdk/gdkwindow.c 
3650         Check for Shape extension both on the client and server
3651         side. (And, more importantly, check for the shape extension
3652         so we may include -lXext even when compiling with --disable-xshm)
3653
3654         Don't set override_redirect on all shaped windows. It isn't
3655         necessary.
3656
3657         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
3658         and foreign windows. Use this to check if we
3659         need to get the colormap from X.
3660
3661 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
3662
3663         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
3664         between the default and the button always in GTK_STATE_NORMAL.
3665
3666         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
3667         callback.
3668
3669 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
3670
3671         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
3672           Fix a buffer overflow on pixmaps that claim to have
3673           more than 31 characters per pixel.
3674
3675           (gdk_pixmap_read_string): Don't wrap around strings longer
3676           than half of address space ;-)
3677
3678         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
3679         that were used for printing integers.
3680
3681         * */* (almost):
3682
3683         Style: All 
3684           int foo () { ... }
3685         changed to
3686           int foo (void) { ... }
3687
3688         Even where there were proper prototypes elsewhere.
3689
3690         * gdk/gxid.c (handle_claim_device): Some extra checks.
3691         It isn't safe against being fed bad X id's, but at
3692         least it should be safe against deleting all your
3693         files.
3694
3695 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
3696
3697         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
3698         to set the adjustments value when there is no current emission.
3699         [ Removed by mutual agreement owt 5/3/1998 ]
3700
3701         * gtk/gtksignal.c: added new functions to retrive the number of
3702         existing emissions for a certain signal.
3703         (gtk_signal_n_emissions): new function.
3704         (gtk_signal_n_emissions_by_name): new function.
3705
3706 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
3707
3708         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
3709         set the current focus_child of a container, does proper referencing and
3710         adjusts the vadjustment/hadjustment associated with the focus widget.
3711
3712         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
3713         containers via gtk_container_set_focus_child.
3714
3715         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
3716         where appropriate.
3717
3718         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
3719         child since not every child removal goes through this function (this
3720         showed up after gtk_container_set_focus_child() started to reference the
3721         focus_child of a container).
3722
3723         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
3724         of a container from gtk_container_remove into this place.
3725
3726 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
3727
3728         * gtk/gtksignal.c: added new functions to operate on intermediate
3729         function pointers. implemented incremental blocking.
3730         (gtk_signal_disconnect_by_func): new function.
3731         (gtk_signal_handler_block_by_func): new function.
3732         (gtk_signal_handler_unblock_by_func): new function
3733
3734 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
3735
3736         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3737         Always show the scrollbars when the policy is
3738         GTK_POLICY_ALWAYS...
3739
3740 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
3741
3742         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
3743         "value_changed" if we really passed a new value.
3744         (gtk_adjustment_changed): new function to emit the "changed" signal.
3745         (gtk_adjustment_set_value): new function to emit the "value_changed"
3746         signal.
3747
3748 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
3749
3750         * gtk/gtkcombo.c: Further changes to the way the window
3751         is popped up so that it will be compatible with 
3752         auto-scrolling in the future.
3753
3754 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
3755
3756         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
3757         the combo-list is empty since that will cause the combo to operate
3758         on a non existing GtkList window.
3759         (gtk_combo_get_pos): provide the combo list with a usfull default
3760         height if empty.
3761         (gtk_combo_popup_button_press): grab the focus.
3762         (gtk_combo_activate): grab the focus.
3763
3764 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
3765
3766         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
3767         function to reset the RC styles for a heirarchy
3768
3769         Clear the window background if necessary in
3770         gtk_window_style_set.
3771
3772         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
3773         rereads all previously read RC files.
3774
3775         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
3776         (Should it just be called gdk_get_toplevels?)
3777
3778         * gtk/testgtk.c: New test to reload RC files.
3779
3780 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
3781
3782         * gtk/gtkclist.h:
3783         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
3784         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
3785         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
3786         the GTK_ prefix (this solution involved less changes in the
3787         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
3788         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
3789         from lars & stefan to support the derivation of GtkCtree.
3790
3791         * gtkctree.h:
3792         * gtkctree.c:
3793         initial import of a tree widget derived from gtkclist, courtesy
3794         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
3795         it just damn rocks!
3796
3797 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
3798
3799         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
3800         for us.
3801         (gtk_list_insert_items):
3802         (gtk_list_remove_items_internal): 
3803         (gtk_list_clear_items): 
3804         remove a possible pointer grab, we might get thrown into a loop
3805         otherwise.
3806         (gtk_list_button_press): grab the pointer *before* selecting the child,
3807         because selection of items may cause the lists children to change,
3808         resulting in a grab release.
3809         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
3810         children.
3811         (gtk_list_shutdown): remove all children from the list.
3812         (gtk_real_list_unselect_child): 
3813         (gtk_real_list_select_child): *always* put our internal structures into
3814         sane state *before* signal emisions (i.e. list->selection updates prior
3815         to gtk_list_item_[de]select() calls).
3816
3817         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
3818         focused child walks out of the window.
3819         removed CAN_FOCUS for the combo arrow's button since it doesn't react
3820         to keyboard events ("clicked" connection is missing).
3821
3822 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
3823
3824         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
3825         getting colormap for FOREIGN windows to go along with
3826         Raster's fix for visuals.
3827
3828 Merges from gtk-1-0
3829 ===================
3830         
3831 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
3832
3833         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3834         Check to catch the case when the viewport fits in either
3835         direction or both, instead of flip-flopping infinitely.
3836
3837         Only show/hide the scrollbars once at the end.
3838
3839 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
3840
3841         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
3842         Include the scrollbars in the foreach call.
3843         (gtk-fortier-980405-0.patch; 
3844          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
3845
3846         The notebook widget
3847         really should also include its tabs, but that might cause
3848         problems for programs if they
3849
3850 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
3851
3852         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
3853         resize if the size actually changed. 
3854         (gtk-johannes-980414-0.patch ;  
3855          johannes@nada.kth.se (Johannes Keukelaar) )
3856
3857 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3858
3859         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3860           ltmain.sh ltconfig config.sub config.guess:
3861
3862         Reverted back to libtool-1.2 (plus minor patches) so as not to
3863         force the issue for everyone else.
3864
3865 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3866
3867         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3868         Updated to libtool 1.2a.
3869
3870         * gtk/gtkclist.c: Draw the in-between lines with style->base
3871         instead of style->white.
3872         
3873 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
3874
3875         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
3876         Cache the colormap and children of a window locally
3877         instead of fetching them from the server when needed.
3878         Huge performance difference for creating/destroying
3879         windows.
3880
3881         * gtk/gtkstyle.c: Find the depth from the cached
3882         visual, instead of asking the server.
3883
3884         * gtk.m4: Distribute the new version which tries to
3885         figure out what went wrong and give helpful error
3886         messages.
3887
3888         * ltmain.sh ltconfig config.sub config.sh: 
3889         Updated to libtool 1.2a
3890
3891         * gtk/gtktext.c: Fixed a bug where the drawn level
3892         was being messed up when the text was scrolled
3893         during a deletion.
3894         
3895 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
3896
3897         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
3898         the filesystem under you (fix from Josh)
3899
3900 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
3901
3902         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
3903         if the viewport already exists before iterating over it, maybe we
3904         haven't been constructed yet.
3905
3906 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
3907
3908         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
3909         the GtkBin widget already has a child.
3910
3911         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
3912         check that child->parent == NULL;
3913
3914 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
3915
3916         * gtk/gtkselection.c (gtk_selection_clear): Only return
3917         FALSE when the clear event is been rejected, not when
3918         widget has already lost the selection. (Which should
3919         only happen when we are setting the selection to another
3920         widget ourself.)
3921         
3922 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
3923
3924         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
3925
3926         Removed the "check visibility after gtk_widget_unparent" bug 
3927         in hopefully the last three places.
3928
3929 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
3930
3931         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
3932         rc-files.
3933
3934 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
3935
3936         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
3937         for CAN_FOCUS widgets.
3938
3939         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
3940         adjustments for the table.
3941         (create_list): feature automatic adjustment of the scrolled window to
3942         always contain the focused child.
3943         (create_main_window): keep the focussed button always inside of the
3944         scrolled windoww.
3945
3946         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
3947         adjustments, to contain the allocation of the currently focused child.
3948         (gtk_container_set_focus_hadjustment): new functin to set the
3949         horizontal focus adjustment.
3950         (gtk_container_set_focus_vadjustment): new functin to set the vertical
3951         focus adjustment.
3952
3953         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
3954         clamp the currents adjustment page into a specific range.
3955
3956         * random GtkType fixups for gtk_*_get_type() functions.
3957
3958 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
3959
3960         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
3961         Account for the fact that gtk_tree_item_remove_subtree
3962         will be called recursively. 
3963
3964         Handle removing a collapsed subtree.
3965
3966         (From Andy Dustman <adustman@comstar.net>)
3967         
3968         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
3969         root tree when removing items from a non-previously
3970         mapped tree.
3971
3972         * gtk/testgtk.c: Added a remove_subtree button.
3973         
3974 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
3975
3976         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
3977         before object removing data. This change fixes a bug where 
3978         removing the last weak references would cause it to be 
3979         triggered.
3980
3981 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
3982
3983         * gdk/Makefile.am: Removed mostly useless dependency that
3984         was causing problems for SGI's make, when used with
3985         the 'make dist' form of GTK+. (Dependency caused dependencies
3986         to be redone when BUILT_SOURCES changed)
3987
3988 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
3989
3990         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
3991         like a menu.
3992         
3993         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
3994         to gtkitem.c so dragging can also work in lists.
3995
3996         * gtk/gtklist.[ch]: Track child enter events and use
3997         those to allow dragging the selection. 
3998
3999 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
4000
4001         * gtk/gtktext.c: Try enabling background pixmaps for editable text
4002         widgets.  There is a bit of flashing, but not too bad. If you
4003         don't want the flashing, you can always not set a background
4004         pixmap.
4005
4006 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
4007
4008         * gtk/gtktext.c: Fixed a bug where the drawn level
4009         was being messed up when the text was scrolled
4010         during a deletion.
4011         
4012 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4013
4014         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
4015         bug:  There is no need to set the ExposureMask in the XGrabPointer
4016         (this caused DnD programs to crash).
4017
4018 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
4019
4020         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
4021         field to be of type guint.
4022         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
4023         ref_count>0;
4024         (gtk_accelerator_table_install): keep a per object list of accelerator
4025         tables that refer to this object.
4026         (gtk_accelerator_table_remove): remove the accelerator table from the
4027         per object list.
4028         (gtk_accelerator_table_clean): warn if there are any object references
4029         left in an accelerator table upon destruction.
4030         (gtk_accelerator_tables_delete): new function to delete object
4031         references from the accelerator tables associated with this object.
4032
4033         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
4034         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
4035         of an accelerator can be prevented by gtk_signal_emit_stop().
4036         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
4037         so there are no stale pointers in accelerator tables left.
4038
4039 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4040
4041         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
4042         visible before we unparent it.
4043
4044 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
4045
4046         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
4047         running_timeouts list with the tmp_list link itself, not with a new
4048         GList structure pointing to our link. that would fill up memory and
4049         causes the GList.data fields of the running_timeouts list to point to
4050         GList structures and not GtkTimeoutFunction structures which is a
4051         *really* bad thing.
4052         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
4053         the above entry ;).
4054
4055 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
4056
4057         * gtk/gtkradiomenuitem.h: 
4058         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
4059         ala gtk_radio_button_set_group.
4060         (gtk_radio_menu_item_init): assure that we always have at least a group
4061         that points to self.
4062
4063         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
4064         added g_return_if_fail() statements.
4065         (gtk_radio_button_init): assure that we always have at least a group
4066         that points to self.
4067
4068 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
4069
4070         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
4071
4072 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
4073
4074         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
4075         (Damon Chaplin), which i got wrong when applying Damon's patch the last
4076         time.
4077
4078 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
4079
4080         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
4081         that when we are running with a non-installed colormap,
4082         in 8-bit pseudo-color, we actually are using the system
4083         visual. (Fixes *Bad Match* errors on Digital Unix machines
4084         with multiple 8-bit pseudo-color visuals)
4085
4086 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4087
4088         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
4089         by whoever thought that randomly changing ints to unsigned int
4090         without reviewing the code was a good idea.  It is, btw not
4091         mentioned in the ChangeLog as usual, but I know it was not Elliot
4092         the culprit this time. 
4093
4094 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
4095
4096         * Released GTK+ 1.0.0