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