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