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