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