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