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