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