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