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