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