]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
GtkType and macro fixups.
[~andy/gtk] / ChangeLog.pre-2-10
1 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtkalignment.h:
4         * gtk/gtkbin.h: GtkType and macro fixups.
5         
6         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
7         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
8         GtkAlignment::xscale, GtkAlignment::yscale.
9
10 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
11
12         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
13         fucntions from all parent types upon class initialization.
14
15         * gtk/gtkcontainer.c:
16         (gtk_container_get_type): announce gtk_container_base_class_init to
17         the type system.
18         (gtk_container_base_class_init): new function to feature base class
19         initialization.
20         (gtk_container_get_child_arg): 
21         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
22         and set_child_arg methods of the class indicated through the argument
23         name.
24
25         * gtk/gtkobject.c:
26         (gtk_object_base_class_init): new function to feature base class
27         initialization.
28         (gtk_object_init_type): announce gtk_object_base_class_init to the type
29         system.
30         (gtk_object_class_init): setup the get_arg and set_arg pointers for
31         GtkObjectClass.
32         (gtk_object_setv): 
33         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
34         instead of bothering the type system with this.
35
36         * gtk/gtkaccellabel.c: 
37         * gtk/gtkbutton.c: 
38         * gtk/gtkradiobutton.c: 
39         * gtk/gtktable.c:
40         * gtk/gtktogglebutton.c: 
41         * gtk/gtktipsquery.c: 
42         * gtk/gtkbox.c: 
43         * gtk/gtkpacker.c: 
44         * gtk/gtkwidget.c: 
45         * gtk/gtkwindow.c: 
46         * gtk/gtkframe.c: 
47         * gtk/gtkmisc.c:
48         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
49         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
50         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
51         arg functions to take a GtkObject argument.
52
53         gtk/gtkadjustment.c:
54         gtk/gtkalignment.c:
55         gtk/gtkarrow.c:
56         gtk/gtkaspectframe.c:
57         gtk/gtkbbox.c:
58         gtk/gtkbin.c:
59         gtk/gtkcheckbutton.c:
60         gtk/gtkcheckmenuitem.c:
61         gtk/gtkclist.c:
62         gtk/gtkcolorsel.c:
63         gtk/gtkcombo.c:
64         gtk/gtkctree.c:
65         gtk/gtkcurve.c:
66         gtk/gtkdata.c:
67         gtk/gtkdialog.c:
68         gtk/gtkdrawingarea.c:
69         gtk/gtkeditable.c:
70         gtk/gtkentry.c:
71         gtk/gtkeventbox.c:
72         gtk/gtkfilesel.c:
73         gtk/gtkfixed.c:
74         gtk/gtkfontsel.c:
75         gtk/gtkgamma.c:
76         gtk/gtkhandlebox.c:
77         gtk/gtkhbbox.c:
78         gtk/gtkhbox.c:
79         gtk/gtkhpaned.c:
80         gtk/gtkhruler.c:
81         gtk/gtkhscale.c:
82         gtk/gtkhscrollbar.c:
83         gtk/gtkhseparator.c:
84         gtk/gtkimage.c:
85         gtk/gtkinputdialog.c:
86         gtk/gtkitem.c:
87         gtk/gtkitemfactory.c:
88         gtk/gtklist.c:
89         gtk/gtklistitem.c:
90         gtk/gtkmenu.c:
91         gtk/gtkmenubar.c:
92         gtk/gtkmenuitem.c:
93         gtk/gtkmenushell.c:
94         gtk/gtknotebook.c:
95         gtk/gtkoptionmenu.c:
96         gtk/gtkpaned.c:
97         gtk/gtkpixmap.c:
98         gtk/gtkpreview.c:
99         gtk/gtkprogressbar.c:
100         gtk/gtkradiomenuitem.c:
101         gtk/gtkrange.c:
102         gtk/gtkruler.c:
103         gtk/gtkscale.c:
104         gtk/gtkscrollbar.c:
105         gtk/gtkscrolledwindow.c:
106         gtk/gtkseparator.c:
107         gtk/gtkspinbutton.c:
108         gtk/gtkstatusbar.c:
109         gtk/gtktext.c:
110         gtk/gtktoolbar.c:
111         gtk/gtktooltips.c:
112         gtk/gtktree.c:
113         gtk/gtktreeitem.c:
114         gtk/gtkvbbox.c:
115         gtk/gtkvbox.c:
116         gtk/gtkviewport.c:
117         gtk/gtkvpaned.c:
118         gtk/gtkvruler.c:
119         gtk/gtkvscale.c:
120         gtk/gtkvscrollbar.c:
121         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
122         match the modified GtkTypeInfo structure.
123
124 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
125
126         * gtk/testgtk.c: use rand() instead of random() for portability
127
128 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
129
130         * configure.in
131         * acconfig.h
132         * gdk/gdk.c: use native Xlib XConvertCase if it's available
133
134 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
135
136         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
137         XConvertCase() functionality from X11R6 on X11R5 systems.
138
139 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
140
141         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
142         gdk_string_height, gdk_char_height to retrieve the exact
143         height of a text.
144
145 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
146
147         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
148           by Stefan Mars <mars@lysator.liu.se>
149         * examples/clist/clist.c examples/clist/Makefile: example code
150           for GtkCList widget from the Tutorial
151
152 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
153
154         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
155         if the container is not visible, we might be a toplevel! this holds
156         for all other base container implementations as well, that are
157         candidates to derive toplevels from. in general the resizing code will
158         care about visibility itself.
159         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
160         * gtk/gtkbox.c (gtk_box_remove): likewise.
161
162         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
163         gtk_window_set_hints(), since we haven't calculated the new position
164         yet.
165
166         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
167         *mask are alway initialized in a sane way, regardless of the return
168         value.
169
170 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
171
172         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
173         to gtk_container_child_arg_setv, but takes a variable argument list.
174         new function gtk_container_get_child_arg_type, which is needed by
175         gtk_object_collect_args.
176
177         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
178         take a function pointer to figure the argument type.
179         adapted callers to pass gtk_object_get_arg_type.
180         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
181         gtk_object_get_arg_type..
182
183         * gtk/gtkpacker.h: 
184         * gtk/gtkpacker.c:
185         (gtk_packer_reorder_child): new function to change the packing order
186         of a child.
187         (gtk_packer_size_request): 
188         (gtk_packer_size_allocate): take container->border_width into acount.
189
190         * gtk/gtkpacker.c: implemented widget arguments:
191         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
192         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
193         implemented child arguments:
194         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
195         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
196         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
197         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
198
199         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
200         not the alignment.
201
202         * gtk/gtkeventbox.h:
203         * gtk/gtkeventbox.c: GtkType and macro fixups.
204
205         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
206         sensitivity of an entry.
207
208         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
209         for insensitive base and text.
210
211         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
212         widget state dependent.
213         (gtk_entry_style_set): likewise.
214         (gtk_entry_state_changed): set background color on state changes.
215         (gtk_entry_draw_text): for non selected text, use state dependent
216         colors.
217
218         * gtk/gtktogglebutton.c: support for widget arguments
219         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
220
221 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
222
223         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
224         code for 1.0.x-like parameters. Changed internal interface of
225         gtk_spin_button_real_spin. Several fixes to avoid emission of
226         "value_changed" where possible.
227
228 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
229
230         * gtk-boxed.defs: s/GkWidget/GtkWidget/
231
232 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
233
234         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
235         to select the resize_mode for the idle-labels container.
236
237         * gtk/gtkframe.h: 
238         * gtk/gtkframe.c: GtkType and macro corrections.
239
240         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
241         support widget argument "GtkRadioButton::group".
242
243 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
244
245         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
246         unconditionally if resize_mode has changed.
247
248         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
249         GTK_RESIZE_QUEUE on the scrolled window.
250         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
251
252 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
253
254         * gtk/gtkcontainer.h:
255         * gtk/gtkcontainer.c:
256         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
257         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
258         (gtk_container_queue_resize): new function to queue a container for
259         a *size* reallocation (doesn't affect its position, and thus its
260         parent is left untouched usually).
261         (gtk_container_get_resize_container): new function to retrive the next
262         most resize container which is not itself queued for a resize.
263         (gtk_container_idle_sizer): new function to carefully process the
264         container_resize_queue since it can change during invokation of
265         gtk_container_check_resize().
266         (gtk_container_resize_children): total rework of this function to
267         properly handle resize containers. makes a lot of assumptions whitch
268         are stated in the comments.
269
270         * gtk/gtkcontainer.c:
271         (gtk_container_real_check_resize): only requeue ourselves if we are not
272         a resize container.
273         (gtk_container_clear_resize_widgets): care for automatic deletion of our
274         resize_widgets list on size_allocate through a handler connection.
275
276         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
277         focus and default widget of a window, so to take the burden from
278         gtk_widget_unparent.
279
280         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
281         to be clever, but actually messed up the resize_children logic and
282         caused unneccessary allocations on its whole branch. besides this,
283         it messed up the display by not invoking a redraw after the allocation.
284
285         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
286         that it is the child again that is queued for a resize.
287         (gtk_table_attach): likewise.
288         (gtk_table_remove): likewise.
289
290 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
291
292         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
293         gtk_entry_adjust_scroll.  Required if you change the cursor
294         position and want to sync it up with your code (Midnight Commander
295         gtk front end needs this).
296
297         * gtk/gtktable.c: Deal with tables that have size 0, 0.
298
299 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
300
301         * examples/README.1ST: new file to explain how the
302           code examples should be extracted from the tutorial.
303
304 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
305
306         * gtk/gtkctree.c (draw_row): added new "line style"
307         GTK_CTREE_LINES_TABBED 
308         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
309         search the glist pointer of an GtkCTreeRow
310
311 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
312  
313         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
314         from, and clean up, the dependencies.  Generate to intermediate
315         files to prevent problems with Ctrl-C.
316
317         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
318
319 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
320
321         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
322         - Bug fix for precision problem causing occasional double emission 
323           of "value_changed" signal (hopefully works now).
324         - API change (should be binary compatible) : 
325           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
326           Modified cursor example appropriately.
327           To spin by something other than step_/page_increment, use
328           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
329         - Made GTK_SHADOW_NONE the default. ;)
330         - Fixed casting of GtkAdjustment* to GtkWidget* in
331           gtk_spin_button_value_changed.
332
333 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
334
335         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
336         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
337         resize widget list before queuing the container for a new reize.
338         (gtk_container_need_resize): changed return value to FALSE, since this
339         used to indicate that no further resizes are needed.
340         (gtk_container_set_arg): 
341         (gtk_container_get_arg): 
342         (gtk_container_class_init): implemented GtkContainer::resize_mode
343         argument.
344
345         (gtk_container_resize_children): when we walk up the tree of a resize
346         widget we need to stop if we are the current parent.
347
348         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
349         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
350         (gtk_widget_hide_all): retrive the toplevel widget from via
351         gtk_widget_get_resize_container().
352
353 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
354
355         * gtk/gtklist.c (gtk_list_button_press): Only respond
356           to selection with button 1. This allows context-sensitive
357           menus to work correctly.
358
359 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
360
361         * gtk/gtkaccelgroup.c: 
362         * gtk/gtkbindings.c: 
363         * gtk/gtkcontainer.c:
364         * gtk/gtkitemfactory.c:
365         * gtk/gtkobject.c: 
366         * gtk/gtksignal.c:
367         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
368         g_quark_from_static_string calls to save memory.
369
370         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
371         function _after_ the new data has been setup.
372         minor changes to object data functions to feature the GQuark type.
373
374 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
375
376         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
377           from argv.
378
379 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
380
381         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
382           to be more readable perl, to spit out stuff that looks
383           more like readable C, and to pipe output through indent
384           so output looks a lot like readable C. No functional
385           changes.
386
387 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
388
389         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
390           necessary when switching to a masked pixmap. (Based on a patch
391           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
392
393 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
394
395         * gtk/gtkeditable.[ch]: Added action signals for keyboard
396           bindings. (move_cursor, kill_word, etc, etc, etc). 
397
398           removed the time argument from
399           gtk_editable_cut/copy/paste_clipboard (source but not
400           binary incompatible...) Instead get time from
401           gtk_get_current_event ().
402         
403         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
404           signals.
405
406 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
407
408         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
409
410         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
411              parent class to GtkNotebookClass when splitting the widget in
412              two.  Also updated some comments.
413
414         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
415                button without a font selected.
416
417              Fixed bug in set_font_name - I hadn't updated the code to
418                search for the style in the font_style clist - it was
419                still assuming the style row was equal to its index,
420                but it isn't any more.
421         
422              Changed 'Reset' button on filter page to 'Clear Filter'.
423              Deleted old code relating to the old 'Filter Fonts' toggle
424              Updated some comments.
425              Cleared 'Actual Fontname' if no font is set.
426
427         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
428              destroying the GtkFontSelection instead of the
429              GtkFontSelectionDialog.
430
431 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
432
433         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
434           flag to make all warnings fatal errors.
435
436         * gtk/testthreads.c: moved <pthreads.h> include inside 
437           #ifdef USE_PTHREADS
438
439 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
440
441         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
442           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
443
444         - Added new function gtk_container_set_resize_mode() for
445           fine-grained control of where resize-queueing is done.
446
447         - Removed GtkContainer::need_resize and GtkWindow::move_resize
448         - Added GtkContainer::check_resize to replace need_resize.
449
450         - Added function gtk_container_check_resize() to trigger
451           queued resizes, and gtk_container_resize_children() to
452           Figure which children need to be size-allocated. (logic
453           moved from gtkwindow.c)
454
455         - Reorganized code in gtkwindow.c
456         
457         - Set the resize-mode for viewports so that resizes within
458           a viewport don't propagate out of it. 
459         
460 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
461
462         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
463
464         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
465         g_return_val_if_fail, because the function *does* return a value.
466
467 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
468
469         * gtk/gtkaccellabel.h:
470         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
471         request the size of the accelerator portion of an accel label.
472         (gtk_accel_label_size_request): don't request for the accelerators size.
473         (gtk_accel_label_expose_event): only draw the accelerator if we got
474         enough extra space.
475
476         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
477         width from children.
478
479         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
480         object (after removal has been requested) check if there is still an
481         accelerator remaining to avoid adding two accelerators on an object.
482         this can happen for locked accelerators (or accelerator-frozen widgets).
483         (gtk_menu_size_request): feature childrens accelerator width in size
484         requests.
485
486         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
487         gtk_widget_freeze_accelerators() for dynamically created menu items.
488
489         * gtk/gtksignal.h: 
490         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
491         which will return a handler_id > 0 if the specified function is pending
492         for `signal_id'.
493
494         * gtk/gtkwidget.h:
495         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
496         a signal handler function to stop accelerator addition.
497         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
498         which will prevent (undo) any accelerators from being added to or
499         removed from a widget.
500
501 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
502
503         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
504         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
505         acceleration, new API gtk_spin_button_set_snap_to_ticks.
506
507 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
508
509         * gdk/gdk.h:
510         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
511         the current GdkWindow the pointer is on if there is any.
512         
513         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
514         and one column, so we don't construction logic at all. changed a few
515         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
516         unsigned int wraps.
517
518         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
519         portion, added an additional check for parent != widget.
520
521         * more GtkType and macro fixups.
522
523 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
524
525         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
526         "clip" parameter, which is the clipping rectangle to use.  This
527         eliminates the extremely annoying flicker when exposing parts of
528         the handlebox.
529
530 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
531
532         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
533         resizing
534
535 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
536
537         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
538         != 0 on the argument.
539
540         * gtk/gtktable.h: 
541         * gtk/gtktable.c: new function gtk_table_resize() which allowes
542         shrinking and expanding of tables. implementation of widget arguments
543         and child arguments. many signedness corrections.
544
545 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
546
547         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
548         not only the child, otherwise we might end up taking away other
549         childrens space after the resize.
550
551         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
552         an unknown menu path from any source, that path must always be flagged
553         as "modified", since we don't really know whether it has its default
554         value or not.
555
556         * gtk/gtktree.c:
557         * gtk/gtkpacker.c:
558         * gtk/gtknotebook.c:
559         * gtk/gtkmenushell.c:
560         * gtk/gtklist.c:
561         * gtk/gtkpaned.c:
562         * gtk/gtkfixed.c: 
563         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
564
565         * gtk/gtkbox.h: 
566         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
567         arguments. implemented child arguments.
568
569         * more GtkType and macro fixups.
570
571 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
572
573         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
574
575         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
576         and gtk_clist_get_hadjustment.
577
578         * gtk/gtkcontainer.c:
579         implementation of children arguments, new class member functions
580         (child_type), (get_child_arg) and (set_child_arg) plus a new field
581         n_child_args.
582         (gtk_container_child_type): new function which returns the type of a
583         child that the container expects for its next addition.
584         (gtk_container_add_child_arg_type): new function to introduce a new
585         child argument at class creation time.
586         (gtk_container_query_child_args): new function to query all child
587         arguments that are supported by a container class.
588         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
589         child argument.
590         (gtk_container_child_arg_setv): new function to set a child argument for
591         a certain container and child combination.
592         (gtk_container_add_with_args):
593         (gtk_container_add_with_argv): new functions to feature addition of a
594         new child in combination with the setting of certain child arguments.
595
596         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
597         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
598         this should really be done through class cretion hooks some day.
599
600         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
601         guint : 16.
602
603         * gtk/gtkpacker.h:
604         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
605         follow the gtk convention for lower case variable names (important
606         for language wrappers and widget arguments), and made them guint : 16.
607
608         * examples/packer/pack.c: adaptions for the case converted GtkPacker
609         fields.
610
611 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
612
613         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
614         change the character pair for single line comments.
615         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
616         GtkItemFactoryClass.
617         (gtk_item_factory_parse_rc_string): likewise.
618
619 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
620
621         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
622         lists from the klass structure to a static structure
623         in gtkfontsel.c; cleans up global the namespace.
624
625 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
626
627         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
628         bug with /*< skip >*/ and remove warning.
629         
630 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
631
632         * gtk/Makefile.am: Made the gtkmarshal.* generation
633         rules maintainer-only.
634
635 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
636
637         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
638           gtk/Makefile.am gtk/makenums.pl 
639
640         Removed out the G_ENUM/FLAGS mechanism in favor
641         of a perl script that parses the standard headers
642         (with occasional /*< nick=foo >*/ style overrides)
643         and extracts the enumerations.
644
645           gtk/maketypes.awk: Small improvments to the
646           translation of names. (Avoid splitting gc into
647           g_c_.)
648         
649 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
650
651         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
652         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
653         
654 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
655
656         * gtk/gtkentry.c:
657         - Restored gtk_entry_adjust_scroll to static 
658         - Changed text positioning code so that we always
659           display as large a portion of the text as possible.
660
661 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
662
663         * gtk/gtktext.c (gtk_text_finalize): Free internal
664         structures of text widget. Also, unreference pixmaps
665         when unrealizing.
666         
667 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
668
669         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
670         3.3.1 bug workaround to number keys starting at 1.
671
672 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
673
674         * docs/gtk_tut.sgml: Fixed urls for complete example
675         source for scribble+widget-writing examples.
676
677 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
678
679         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
680         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
681         specs of the form c #abcdef [ more keys ] properly.
682
683 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
684
685         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
686         (gtk_spin_button_set_shadow_type):
687         New API to set the shadow type of the arrow panel.
688
689 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
690
691         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
692         code for drawing the child in two places at once. Unfortunately,
693         not only does it not work anymore (because reparenting has
694         been fixed), but it also triggers reparent/expose loops
695         in some cases.
696
697         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
698         an unecessary unrealize.
699
700 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
701
702         * gdk/gdkwindow.c (gdk_window_reparent): Update the
703           old and new parents' child window lists properly.
704
705 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
706
707         * gtk/gtkpacker.h:
708         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
709         and GtkSideType, to be consistent with the rest of Gtk's enum
710         definitions. wrapped the enum definitions with the G_ eunm wrappers.
711         spelled out the GTK_ANCHOR_* enum values, since single letters don't
712         work out corectly as nick-names (left the old values as aliases).
713         some signdness corrections (border-width, spacing), could stand more.
714
715 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
716
717         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
718           Added gtkpacker
719
720         * examples/packer/pack.c, examples/packer/Makefile: Added
721           gtkpacker example
722
723 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
724
725         * gtk/gtktext.c (remove_cache_line): Fixed broken
726         list-removal code.
727
728         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
729         Check bounds before deleting.
730
731 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
732
733         * autogen.sh: Support ACLOCAL_FLAGS
734
735 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
736
737         * gtk-config.in: Added missing quotes.
738
739 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
740
741         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
742
743 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
744
745         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
746         G_COMPILED_WITH_DEBUGGING.
747
748         * configure.in (fd_set): Explain check better.
749
750         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
751         the version from which gtk+'s libtool forked.  Needed for people
752         who use post-1.2 alphas of libtool.
753
754 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
755
756         * glib/* Moved to glib module
757
758         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
759           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
760
761           configuration changes for the above:
762          
763           - Use AM_PATH_GLIB by default to find glib; also accept
764             a --with-glib option for using an uninstalled glib.
765          
766           - Put --enable-debug information into config.h so
767             that we rebuild when it changes. (was in glibconfig.h)
768
769 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
770
771         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
772
773         * gtk/gtknotebook.h (struct _GtkNotebookClass):
774         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
775         added missing argument (according to Joseph Coleman's bug report)
776
777         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
778         function to fix notebook focus handling
779         
780 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
781
782         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
783           glib/gutils.c glib/testglib.c glib/gdataset.c
784           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
785           gtk/gtktext.c gtk/gtkbindings.c:
786
787          renamed g_const_pointer => gconstpointer
788
789 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
790
791         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
792         invoked with (NULL, NULL); (this worked sometime ago).
793
794         * gtk/gtktypeutils.h: 
795         * gtk/gtktypeutils.c: enum and flags type creation can now be done
796         through gtk_type_register_enum() and gtk_type_register_flags(),
797         which allow to specify the enum value arrays directly.
798         the NULL terminated value arrays can be retrived through
799         gtk_type_enum_get_values() and gtk_type_flags_get_values();
800         (gtk_type_children_types): new function to query derived types.
801
802 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
803
804         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
805         environment to genmarshal.pl.
806         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
807         rule), and removed it where not needed (in the dependencies).
808
809         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
810
811 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
812
813         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
814         was just g_direct_hash.
815
816 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
817
818         * configure.in: x_libs=, not $x_libs=. Enough said.
819           (Case only hit for --disable-xshm)
820         
821 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
822
823         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
824           when testing for X libraries, don't replace them. Because
825           the user might have specified the path to the X libraries
826           themself before running configure.
827
828         * examples/**.c: Changed all gpointer * to gpointer
829         
830 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
831
832         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
833         fleur_cursor field.  Now the cursor is created/destroyed on demand
834         by the routines that need it.
835
836         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
837         (gtk_handle_box_motion): The fleur cursor is created and destroyed
838         only when needed.
839
840 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
841
842         * gtk/gtktypeutils.h: 
843         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
844         gtk_enum_set_values to gtk_type_enum_get_values and
845         gtk_type_enum_set_values respectively, since they are actually type
846         system features.
847
848         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
849         my last commit. ;)
850
851 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
852
853         * gtk/gtkselection.h: 
854         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
855         gtk_selection_data_free.
856
857         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
858         for "selection_received", which was completely bogus.
859         * other fixups to gtk_signal_new() calls all over the place.
860
861         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
862         * gtk/gtktypebuiltins_vars.c: type variable implementations.
863         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
864         declarations.
865         * gtk/gtktypebuiltins_evals.c: enum value arrays.
866         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
867         gtk.defs.
868         * gtk/gtk.defs: generated file with scheme syntax for type definitions
869         of gtk and gdk structures and enums.
870         * gtk/gtktypeutils.h: 
871         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
872         macros anymore (this fixes binary incompatibility with new enum
873         definitions).
874
875         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
876         key bindings for this widget.
877         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
878         handler.
879
880         * gtk/gtkobject.h:
881         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
882         again. new functions gtk_object_class_user_signal_new () and
883         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
884         flag on the signal creation.
885
886 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
887
888         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
889
890 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
891
892         * gdk/gdkprivate.h: 
893         * gdk/gdktypes.h: 
894         * gtk/gtkprivate.h: 
895         * gtk/gtkwidget.h: 
896         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
897
898         * reworked enum value array generation code. gtk.defs is a generated
899         file now.
900
901 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
902
903         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
904         check menu items in the compatibility code (this required me to remove
905         the "<check>" part from the menu item name, grrr).
906
907 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
908
909         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
910         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
911         
912 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
913
914         * gtk/gtkitemfactory.h: 
915         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
916         additions to the dumping code to feature GtkPatternSpec.
917         even found a bug to fix in the original code ;)
918         
919 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
920
921         * gtk/gtkitemfactory.c: support different types of callbacks, to
922         maintain existing code.
923
924 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
925
926         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
927
928         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
929         this should eventually be done by gentypeinfo.el somewhen.
930         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
931
932         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
933         enum values of an enum type.
934
935         * gtk/gtk.defs:
936         * gtk/gtkcurve.h: 
937         * gtk/gtkobject.h: 
938         * gtk/gtkprivate.h: 
939         * gtk/gtkwidget.h:
940         * gtk/gtkenums.h: 
941         brought enum/flags definitions in sync, added a few more enum
942         definitions for bindings and pattern matching.
943
944         * some more macro and GtkType fixups in various places.
945
946         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
947         as a key-release modifier for the binding system.
948
949 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
950
951         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
952         was a stale list pointer that is already present in GtkMenuShell.
953
954         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
955         GtkMenuShell::selection_done which is emitted after the menu shell
956         poped down again and all possible menu items have been activated.
957
958 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
959
960         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
961         before activation of the menuitem, so the menu is actually taken off the
962         screen prior to any menu item activation.
963
964         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
965         for NULL nodes.
966
967         * gtk/gtkwidget.h:
968         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
969         the emission of the "add-accelerator" signal on a widget. this is
970         usefull to prevent accelerator installation on certain widgets.
971
972         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
973         labels left justified, by setting their alignment. stop accelerator
974         installation for the menu items, since we use dynamic menus.
975
976 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
977
978         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
979         should *really* use GtkItemFactory. this is only for preserving source
980         compatibility where possible, use of GtkMenuFactory is deprecated as of
981         now.
982
983         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
984         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
985         missed this possibility when i added gtk_object_class_add_user_signal
986         in late january.
987
988         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
989
990 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
991
992         * gtk/gtkaccelgroup.h: 
993         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
994
995         * gtk/gtkaccellabel.h: 
996         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
997         display of the accelerators associated with a certain widget.
998
999         * gtk/gtkitemfactory.h: 
1000         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
1001         parsing and accelerator handling.
1002
1003         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
1004         positioning a menu.
1005         (gtk_menu_map): removed the allocation code.
1006         (gtk_menu_size_allocate): care for redrawing of children and resize
1007         our widget->window correctly.
1008         (gtk_menu_key_press): feature the new accelerator groups.
1009
1010         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
1011         submenu if neccessary.
1012
1013         * gtk/gtkmenuitem.c:
1014         * gtk/gtkcheckmenuitem.c:
1015         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
1016         function variants.
1017
1018         * gdk/gdk.c:
1019         (gdk_keyval_from_name): 
1020         (gdk_keyval_name): new functions for keyval<->key-name associations.
1021         (gdk_keyval_to_upper): 
1022         (gdk_keyval_to_lower): 
1023         (gdk_keyval_is_upper): 
1024         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
1025         regards to their cases.
1026
1027 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
1028
1029         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
1030         widget's class path.
1031         (gtk_widget_path): new function to calculate a widget's name path.
1032
1033         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
1034         pattern matching, features reversed pattern matches.
1035
1036 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
1037
1038         * examples/extract.sh, examples/extract.awk:
1039           New files to automagically extract code examples from the
1040           tutorial.
1041
1042 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
1043
1044         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
1045         * gtk/gtkcontainer.c (gtk_container_focus_move):
1046         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
1047
1048 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
1049
1050         * docs/gtk_tut.sgml: minor changes to support auto
1051           extraction of example code
1052
1053 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
1054
1055         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
1056           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
1057
1058 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
1059
1060         * docs/gtk_tut.sgml:
1061           - new section on Events
1062           - change all delete_event callbacks to include
1063             a GdkEvent parameter
1064           - clean up the formatting
1065
1066         * examples - helloworld.c, helloworld2.c, notebook.c,
1067           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
1068           rulers.c, table.c, wheelbarrow.c: change all delete_event
1069            callbacks to include a GdkEvent parameter.
1070
1071 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1072
1073         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
1074         field of crossing events.
1075         (struct _GdkEventCrossing): Added the following fields: time, x,
1076         y, x_root, y_root, mode, focus, state.
1077
1078         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
1079         crossing event structure.
1080
1081         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
1082         changes to the crossing event structure.
1083
1084 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
1085
1086         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
1087
1088 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
1089
1090         * docs/gtk_tut.sgml:
1091            - GtkTooltips, update to current API
1092            - change all 'gpointer *data' to 'gpointer data'
1093            - other minor changes
1094
1095 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
1096
1097         * configure.in (LDFLAGS): Bomb out with a moderately
1098           helpful message if detection of X libraries fails.
1099
1100 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
1101
1102   [ Combination of:
1103      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1104      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1105
1106         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
1107           gtk/gtksignal.c gtk/gtktext.c: 
1108
1109           Fixups for warnings from adding const to type of GHashFunc,
1110           GCompareFunc
1111         
1112         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
1113           ansi-warnings fixups.
1114
1115 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
1116
1117         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
1118         Locate child at (border_width,border_width), not
1119         (2*border_width,2*border_width). [ The border is _outside_
1120         widget->window ]
1121         
1122         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
1123           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1124
1125 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1126
1127         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
1128         used in gnome-libs
1129
1130 1998-05-22    <sopwith@redhat.com>
1131
1132         * gtk/gtkeventbox.c: Pass size_allocate on to the child
1133         regardless of whether it is visible or not. Also
1134         locate child at (border_width,border_width), not (0,0)
1135
1136 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
1137
1138         * gtk/gtkhandlebox.c: Added style_set handler.
1139
1140 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
1141  [ From: Chris Lahey  <clahey@umich.edu> ]
1142         
1143         * gtk/gtkeditable.c, gtk/gtkeditable.h,
1144           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
1145           and set_position functions to get and set the cursor position.
1146
1147         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
1148           signal status. Make GtkText do user-controlled insertion
1149           and deletion through the Editable widget so that these
1150           signals are properly emitted.
1151
1152         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
1153           display asterisks instead of empty space when visible = FALSE)
1154
1155 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
1156
1157         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
1158         signal.
1159
1160 1998-05-21    <sopwith@redhat.com>
1161
1162         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
1163         custom routine for loading images specified in gtkrc's.
1164
1165 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
1166
1167         * configure.in: Use pthread_attr_init() as a test function,
1168         since most of the rest of -lpthread is macros on DU4.
1169
1170 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
1171
1172         * gtk/gtkcombo.c: implemented completion in the entry.
1173
1174 1998-05-18    <sopwith@moebuis.labs.redhat.com>
1175
1176         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
1177
1178 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
1179
1180         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
1181         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
1182         to be of runtype GTK_RUN_LAST.
1183
1184         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
1185         "need-resize".
1186
1187         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
1188         "widget-selected".
1189
1190 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
1191
1192         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
1193         text retrived from GtkEntry. only intercept the Tab key if there
1194         was some text to complete.
1195
1196 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
1197
1198         Basic thread-awareness:
1199
1200         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
1201
1202         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
1203         gdk_threads_[init/enter/leave] for applications, plus
1204         gdk_threads_wake to wake the mainloop thread out of
1205         the select().
1206
1207         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
1208
1209 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
1210
1211         * gtk/testgtk.c (list_clear): Account for the fact
1212         that gtk_list_clear_items is not inclusive. (Clears
1213         [start, end))
1214
1215 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
1216
1217         * gdk/gdk.c: include gdkkeysyms.h always
1218         
1219
1220 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
1221
1222         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
1223         the visibility_notify_event method and changed method order.
1224
1225 1998-05-14    <sopwith@moebuis.labs.redhat.com>
1226
1227         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
1228
1229 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
1230
1231         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
1232         from Olli Helenius <ollhel@batman.jytol.fi>.
1233
1234         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
1235         freeing types.
1236         (gtk_type_set_chunk_alloc): new function to allow allocation of new
1237         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
1238         thorugh g_malloc).
1239
1240         * gtk/gtkobject.c (gtk_object_finalize): free an object through
1241         gtk_type_free().
1242
1243         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
1244         GtkButtons to 16.
1245         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
1246         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
1247
1248 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
1249
1250         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
1251           GPOINTER_TO_UINT fixes.
1252
1253         * gtk/gtksignal.c: Include <string.h> for memset.
1254
1255 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
1256         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
1257
1258         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
1259         Cleanups, comments and the ability to have rulers with 
1260         a reversed direction.
1261
1262 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
1263
1264         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
1265         that Sopwith missed when changing stat => lstat.
1266
1267 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
1268
1269         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
1270           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
1271         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
1272
1273         * gdk/gdk.c: Print sizeof() results
1274         as g_print("%ld", (glong)sizeof(foo)), to deal with
1275         sizeof() being long on Alpha's.
1276
1277         * gtk/testgtk.c: include <string.h> for strlen
1278
1279 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
1280         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
1281         
1282         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
1283         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
1284
1285         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
1286
1287 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
1288         (From: Christopher James Lahey <clahey@umich.edu>)
1289         
1290         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
1291           gtk/testgtk.c:
1292
1293         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
1294         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
1295         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
1296         the default relief for the toolbars buttons. Added an
1297         toggle for the toolbar test in testgtk.c.
1298
1299 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
1300
1301         * docs/gtk-config.1: Rewritten and hopefully improved.
1302
1303 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
1304
1305         * docs/Makefile.am
1306         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
1307
1308 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1309
1310         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
1311         GtkPreview's visual and colormap, otherwise things can BadMatch.
1312
1313         * gtk/testgtk.c (create_color_preview): 
1314         (create_gray_preview): Removed pushing/popping of visual/colormap
1315         now that GtkPreview does things correctly.
1316
1317         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
1318         (gtk_color_selection_draw_wheel): Pick the style from the correct
1319         place (the colorsel->wheel_area widget) so that the GCs will match
1320         with where we are going to paint to.
1321
1322         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
1323         of visual/colormap now that GtkColorSelection does things the
1324         right way.
1325
1326 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
1327
1328         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
1329         previously unused window->need_resize flag to mark if a window's
1330         descendents changed size while the window was not visible. In this
1331         case, when the window becomes visible, we reallocate everything,
1332         since we didn't keep track of what actually changed.
1333
1334         (Fixes bug where changing the popdown strings of a
1335         combo to something of the same length caused them to
1336         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
1337
1338 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
1339
1340         [security audit by Alan Cox]
1341
1342         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
1343         exceed maximum assumed size.
1344
1345         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
1346         not exceed maximum assumed size.
1347         (gtk_menu_factory_remove): likewise.
1348         (gtk_menu_factory_find_recurse): likewise.
1349
1350 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
1351
1352         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
1353         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
1354         redrawn if that is still neccessary. don't allow queueing of already
1355         destructed objects.
1356         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
1357         widgets which are in the queue can be destroyed safely, handle
1358         requeueing properly.
1359         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
1360         widgets which are in the queue can be destroyed/unrealized safely.
1361
1362 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
1363
1364         * gtkfaq.sgml: add question on multi-threading,
1365           minor URL cleanups.
1366
1367 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
1368
1369         * configure.in (cflags_set): preserve automake CFLAGS.
1370
1371         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
1372         and libgdk-1.1.la. this means we need to change certain portions of
1373         the Makefile.am on major/minor version bumps.
1374
1375         * ltmain.sh: the -release option is not required anymore.
1376         
1377         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
1378         of the first argument to be of type GtkObject. unconditionally compile
1379         this function. removed __GNUC__ dependancy of the gtk_object_ref and
1380         gtk_object_unref macro wrappers for this function.
1381
1382 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
1383
1384         * gtk/gtkobject.h:
1385         * gtk/gtkobject.c:
1386         (gtk_object_data_try_key):
1387         (gtk_object_data_force_id): these are now macros substituting the old
1388         functions. we just use the corresponding g_dataset_* functions for
1389         key->id associations. (this is to assure unique key<->id associations).
1390
1391 1998-05-10  Stefan Jeske  <stefan@gtk.org>
1392
1393         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
1394         to gboolean.
1395
1396         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
1397
1398 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
1399
1400         * configure.in (LIBS): Try to figure out if this
1401         is Digital Unix and we need -std1 to get the
1402         right prototypes.
1403
1404 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
1405
1406         * docs/gtk_tut_it.sgml: update of Italian tutorial
1407           translation from Daniele Canazza <dcanazz@tin.it>
1408
1409 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
1410
1411         * gtk/gtkfeatures.h.in: new file used as template for
1412         * gtk/gtkfeatures.h: new file to define macros indicating newly
1413         introduced features, such as GTK_HAVE_SIGNAL_INIT.
1414
1415         * gtk/gtksignal.c:
1416         (gtk_signal_emitv_by_name):
1417         (gtk_signal_emitv):
1418         new functions to emit signals with an already provided parameter set.
1419         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
1420         (gtk_signal_real_emit): prototype changes, so this functions always
1421         gets its parameters and signal structure as arguments.
1422         (gtk_signal_emit): provide the signal structure and parameter list for
1423         gtk_signal_real_emit.
1424         (gtk_signal_emit_by_name): likewise.
1425
1426 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
1427
1428         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
1429         signal connections through unsetting GTK_CONNECTED.
1430         (gtk_signal_handler_insert): reflect the presence of signal connections
1431         through setting GTK_CONNECTED.
1432         (gtk_signal_real_emit): only check for handler emissions if the object
1433         has the GTK_CONNECTED flag set.
1434         (gtk_signal_handler_pending): don't check for pending handlers if the
1435         GTK_CONNECTED flag is not set for this object.
1436
1437         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
1438         a GtkObject has signal handler connections.
1439
1440         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
1441         set for this object call gtk_signal_handlers_destroy().
1442         
1443         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
1444         multiple processing of macro args.
1445
1446         * gtk/gtktypeutils.c:
1447         * gtk/gtkobject.c:
1448         * gtk/gtkwidget.c:
1449         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
1450
1451 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
1452
1453         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
1454         draw-queue when we are done. 
1455
1456         (gtk_widget_queue_draw/_queu_resize): Always return
1457         FALSE and avoid having two idles at the same time.
1458         
1459 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
1460
1461         * gtk/gtktext.c: Various fixes to make sure cache
1462         lines are freed if line_start_cache doesn't point to the
1463         beginning of the cache.
1464
1465 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
1466
1467         * style_set improvements for GtkText and GtkEntry
1468
1469 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
1470
1471         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
1472         been initialized.
1473
1474 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
1475
1476         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
1477         data chunks through a global object data structure list. unlink
1478         object data before invoking its destroy function.
1479         (gtk_object_finalize): slight modification to allow usage of object
1480         data during object finalization.
1481
1482 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
1483
1484         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
1485         signal names, e.g. "signal-name" is now an alias for "signal_name".
1486         (gtk_signal_handler_new): allocate handlers through a global handler
1487         structure list, that's faster than memchunks.
1488         (gtk_emission_new): allocate emissions through a global emission
1489         structure list, that's faster than memchunks.
1490
1491 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
1492
1493         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
1494
1495         * ltmain.sh: added a new commandline flag -postfix similar to -release,
1496         but will immediately change the library name.
1497
1498         * gdk/Makefile.am:
1499         * gtk/Makefile.am: specify -postfix and -version-info
1500
1501         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
1502         GTK_BINARY_AGE. calculate LT_* variables for libtool.
1503
1504 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1505
1506         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
1507         background (fg_set -> bg_set confusion).
1508
1509 1998-05-06  Stefan Jeske  <stefan@gtk.org>
1510
1511         * gtk/testgtk.c (unselect_all): Removed code that caused an
1512         endless loop.
1513
1514 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
1515
1516         * gtk/gtksignal.c: reimplemented the signal storage system to use a
1517         linear array rather than a hash table.
1518         be carefull *not* to keep any GtkSignal pointers across invokations
1519         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
1520         general code cleanups, made all allocations through memchunks.
1521         (gtk_signal_lookup): we now do the lookup of signals through a key_id
1522         for the signal names to avoid multiple hashing of the signal name on
1523         lookups for the several hirarchy levels of an object.
1524
1525 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
1526
1527         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
1528         to speed things up and remove code duplication.
1529
1530         Reintegrated buffer overflow patches, and added
1531         some extra paranoia.
1532         
1533 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
1534
1535         * gdk/gdk.c (gdk_event_translate): A guint * was
1536         being passed where X expected a Keysym *, and
1537         keysyms are long's on Alpha Linux. This was causing
1538         segfaults in Xlib, apparently because of alignment.
1539         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
1540         
1541 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
1542
1543         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
1544         set GDK_EXPOSURE_MASK for DrawingAreas
1545
1546 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
1547
1548         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
1549         (superceded by RC file reparsing capabilities)
1550
1551         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
1552         events. (Shouldn't be sent to the InputOnly leader, which
1553         it is now by gdk_event_send_clientmessage_toall
1554
1555         * gtk/testgtk.c: Added extra button to rcfiles test
1556         to send out _GDK_READ_RCFILES events.
1557         
1558 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
1559
1560         * gtk/gtkselection.c (gtk_selection_clear): Fixed
1561         reversed conditionals that caused segfault on some
1562         platforms.
1563
1564 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
1565
1566         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
1567         cast to GTK_OBJECT for gtk_object_ref.
1568
1569 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
1570
1571         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
1572         checking for signal initialization in gtksignal.c.
1573
1574         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
1575         a long debugging period ;)
1576
1577 1998-05-05  Stefan Jeske  <stefan@gtk.org>
1578
1579         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
1580         New function to wrap XSetDashes; modified gtkctree.c to use it.
1581
1582 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1583
1584         * configure.in: Added $x_libs in the other_libraries field in the
1585         check for XShapeCombineMask.
1586
1587 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
1588
1589         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
1590         gtk_type_is_a().
1591         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
1592         linear array rather than a hash table. it actually speeded up testgtk
1593         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
1594         pointers across invokations of gtk_type_node_next_and_invalidate() and
1595         therefore gtk_type_unique()!
1596
1597         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
1598         inheritance of a class pointer.
1599         (GTK_OBJECT): modifications for speedups.
1600         (GTK_IS_OBJECT): likewise.
1601         (GTK_OBJECT_CLASS): likewise.
1602         (suggested by owen).
1603
1604         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
1605
1606         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
1607
1608         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
1609         since its derivation changed 4 month ago ;(. showed up with the unique
1610         type name checking code in gtk_type_unique().
1611
1612         * random guint->GtkType and macro fixups.
1613
1614 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
1615
1616         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
1617         Configure events that would result in a negative
1618         size.
1619
1620 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
1621
1622         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
1623         "glibconfig.h" and another about writing another IRC
1624         client.
1625
1626 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
1627
1628         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
1629         parameters to log are doubles. Digital Unix apparently
1630         is missing the argument in its prototype.
1631
1632 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
1633
1634         * gtk/gtklabel.c (gtk_label_state_changed): Don't
1635         force a clear until the widget is actually on
1636         screen.
1637
1638 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
1639
1640         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
1641         to make this consistent with the gtk-1-0 tree.
1642
1643 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
1644
1645         * configure.in acheader.h gdk/gdkwindow.c 
1646         Check for Shape extension both on the client and server
1647         side. (And, more importantly, check for the shape extension
1648         so we may include -lXext even when compiling with --disable-xshm)
1649
1650         Don't set override_redirect on all shaped windows. It isn't
1651         necessary.
1652
1653         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
1654         and foreign windows. Use this to check if we
1655         need to get the colormap from X.
1656
1657 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
1658
1659         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
1660         between the default and the button always in GTK_STATE_NORMAL.
1661
1662         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
1663         callback.
1664
1665 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
1666
1667         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
1668           Fix a buffer overflow on pixmaps that claim to have
1669           more than 31 characters per pixel.
1670
1671           (gdk_pixmap_read_string): Don't wrap around strings longer
1672           than half of address space ;-)
1673
1674         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
1675         that were used for printing integers.
1676
1677         * */* (almost):
1678
1679         Style: All 
1680           int foo () { ... }
1681         changed to
1682           int foo (void) { ... }
1683
1684         Even where there were proper prototypes elsewhere.
1685
1686         * gdk/gxid.c (handle_claim_device): Some extra checks.
1687         It isn't safe against being fed bad X id's, but at
1688         least it should be safe against deleting all your
1689         files.
1690
1691 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
1692
1693         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
1694         to set the adjustments value when there is no current emission.
1695         [ Removed by mutual agreement owt 5/3/1998 ]
1696
1697         * gtk/gtksignal.c: added new functions to retrive the number of
1698         existing emissions for a certain signal.
1699         (gtk_signal_n_emissions): new function.
1700         (gtk_signal_n_emissions_by_name): new function.
1701
1702 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
1703
1704         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
1705         set the current focus_child of a container, does proper referencing and
1706         adjusts the vadjustment/hadjustment associated with the focus widget.
1707
1708         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
1709         containers via gtk_container_set_focus_child.
1710
1711         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
1712         where appropriate.
1713
1714         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
1715         child since not every child removal goes through this function (this
1716         showed up after gtk_container_set_focus_child() started to reference the
1717         focus_child of a container).
1718
1719         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
1720         of a container from gtk_container_remove into this place.
1721
1722 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
1723
1724         * gtk/gtksignal.c: added new functions to operate on intermediate
1725         function pointers. implemented incremental blocking.
1726         (gtk_signal_disconnect_by_func): new function.
1727         (gtk_signal_handler_block_by_func): new function.
1728         (gtk_signal_handler_unblock_by_func): new function
1729
1730 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
1731
1732         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1733         Always show the scrollbars when the policy is
1734         GTK_POLICY_ALWAYS...
1735
1736 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
1737
1738         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
1739         "value_changed" if we really passed a new value.
1740         (gtk_adjustment_changed): new function to emit the "changed" signal.
1741         (gtk_adjustment_set_value): new function to emit the "value_changed"
1742         signal.
1743
1744 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
1745
1746         * gtk/gtkcombo.c: Further changes to the way the window
1747         is popped up so that it will be compatible with 
1748         auto-scrolling in the future.
1749
1750 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
1751
1752         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
1753         the combo-list is empty since that will cause the combo to operate
1754         on a non existing GtkList window.
1755         (gtk_combo_get_pos): provide the combo list with a usfull default
1756         height if empty.
1757         (gtk_combo_popup_button_press): grab the focus.
1758         (gtk_combo_activate): grab the focus.
1759
1760 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
1761
1762         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
1763         function to reset the RC styles for a heirarchy
1764
1765         Clear the window background if necessary in
1766         gtk_window_style_set.
1767
1768         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
1769         rereads all previously read RC files.
1770
1771         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
1772         (Should it just be called gdk_get_toplevels?)
1773
1774         * gtk/testgtk.c: New test to reload RC files.
1775
1776 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
1777
1778         * gtk/gtkclist.h:
1779         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
1780         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
1781         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
1782         the GTK_ prefix (this solution involved less changes in the
1783         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
1784         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
1785         from lars & stefan to support the derivation of GtkCtree.
1786
1787         * gtkctree.h:
1788         * gtkctree.c:
1789         initial import of a tree widget derived from gtkclist, courtesy
1790         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
1791         it just damn rocks!
1792
1793 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
1794
1795         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
1796         for us.
1797         (gtk_list_insert_items):
1798         (gtk_list_remove_items_internal): 
1799         (gtk_list_clear_items): 
1800         remove a possible pointer grab, we might get thrown into a loop
1801         otherwise.
1802         (gtk_list_button_press): grab the pointer *before* selecting the child,
1803         because selection of items may cause the lists children to change,
1804         resulting in a grab release.
1805         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
1806         children.
1807         (gtk_list_shutdown): remove all children from the list.
1808         (gtk_real_list_unselect_child): 
1809         (gtk_real_list_select_child): *always* put our internal structures into
1810         sane state *before* signal emisions (i.e. list->selection updates prior
1811         to gtk_list_item_[de]select() calls).
1812
1813         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
1814         focused child walks out of the window.
1815         removed CAN_FOCUS for the combo arrow's button since it doesn't react
1816         to keyboard events ("clicked" connection is missing).
1817
1818 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
1819
1820         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
1821         getting colormap for FOREIGN windows to go along with
1822         Raster's fix for visuals.
1823
1824 Merges from gtk-1-0
1825 ===================
1826         
1827 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
1828
1829         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1830         Check to catch the case when the viewport fits in either
1831         direction or both, instead of flip-flopping infinitely.
1832
1833         Only show/hide the scrollbars once at the end.
1834
1835 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
1836
1837         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
1838         Include the scrollbars in the foreach call.
1839         (gtk-fortier-980405-0.patch; 
1840          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
1841
1842         The notebook widget
1843         really should also include its tabs, but that might cause
1844         problems for programs if they
1845
1846 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
1847
1848         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
1849         resize if the size actually changed. 
1850         (gtk-johannes-980414-0.patch ;  
1851          johannes@nada.kth.se (Johannes Keukelaar) )
1852
1853 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1854
1855         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1856           ltmain.sh ltconfig config.sub config.guess:
1857
1858         Reverted back to libtool-1.2 (plus minor patches) so as not to
1859         force the issue for everyone else.
1860
1861 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1862
1863         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1864         Updated to libtool 1.2a.
1865
1866         * gtk/gtkclist.c: Draw the in-between lines with style->base
1867         instead of style->white.
1868         
1869 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
1870
1871         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
1872         Cache the colormap and children of a window locally
1873         instead of fetching them from the server when needed.
1874         Huge performance difference for creating/destroying
1875         windows.
1876
1877         * gtk/gtkstyle.c: Find the depth from the cached
1878         visual, instead of asking the server.
1879
1880         * gtk.m4: Distribute the new version which tries to
1881         figure out what went wrong and give helpful error
1882         messages.
1883
1884         * ltmain.sh ltconfig config.sub config.sh: 
1885         Updated to libtool 1.2a
1886
1887         * gtk/gtktext.c: Fixed a bug where the drawn level
1888         was being messed up when the text was scrolled
1889         during a deletion.
1890         
1891 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
1892
1893         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
1894         the filesystem under you (fix from Josh)
1895
1896 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
1897
1898         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
1899         if the viewport already exists before iterating over it, maybe we
1900         haven't been constructed yet.
1901
1902 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
1903
1904         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
1905         the GtkBin widget already has a child.
1906
1907         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
1908         check that child->parent == NULL;
1909
1910 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
1911
1912         * gtk/gtkselection.c (gtk_selection_clear): Only return
1913         FALSE when the clear event is been rejected, not when
1914         widget has already lost the selection. (Which should
1915         only happen when we are setting the selection to another
1916         widget ourself.)
1917         
1918 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
1919
1920         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
1921
1922         Removed the "check visibility after gtk_widget_unparent" bug 
1923         in hopefully the last three places.
1924
1925 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
1926
1927         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
1928         rc-files.
1929
1930 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
1931
1932         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
1933         for CAN_FOCUS widgets.
1934
1935         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
1936         adjustments for the table.
1937         (create_list): feature automatic adjustment of the scrolled window to
1938         always contain the focused child.
1939         (create_main_window): keep the focussed button always inside of the
1940         scrolled windoww.
1941
1942         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
1943         adjustments, to contain the allocation of the currently focused child.
1944         (gtk_container_set_focus_hadjustment): new functin to set the
1945         horizontal focus adjustment.
1946         (gtk_container_set_focus_vadjustment): new functin to set the vertical
1947         focus adjustment.
1948
1949         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
1950         clamp the currents adjustment page into a specific range.
1951
1952         * random GtkType fixups for gtk_*_get_type() functions.
1953
1954 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
1955
1956         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
1957         Account for the fact that gtk_tree_item_remove_subtree
1958         will be called recursively. 
1959
1960         Handle removing a collapsed subtree.
1961
1962         (From Andy Dustman <adustman@comstar.net>)
1963         
1964         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
1965         root tree when removing items from a non-previously
1966         mapped tree.
1967
1968         * gtk/testgtk.c: Added a remove_subtree button.
1969         
1970 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
1971
1972         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
1973         before object removing data. This change fixes a bug where 
1974         removing the last weak references would cause it to be 
1975         triggered.
1976
1977 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
1978
1979         * gdk/Makefile.am: Removed mostly useless dependency that
1980         was causing problems for SGI's make, when used with
1981         the 'make dist' form of GTK+. (Dependency caused dependencies
1982         to be redone when BUILT_SOURCES changed)
1983
1984 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
1985
1986         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
1987         like a menu.
1988         
1989         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
1990         to gtkitem.c so dragging can also work in lists.
1991
1992         * gtk/gtklist.[ch]: Track child enter events and use
1993         those to allow dragging the selection. 
1994
1995 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
1996
1997         * gtk/gtktext.c: Try enabling background pixmaps for editable text
1998         widgets.  There is a bit of flashing, but not too bad. If you
1999         don't want the flashing, you can always not set a background
2000         pixmap.
2001
2002 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
2003
2004         * gtk/gtktext.c: Fixed a bug where the drawn level
2005         was being messed up when the text was scrolled
2006         during a deletion.
2007         
2008 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2009
2010         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
2011         bug:  There is no need to set the ExposureMask in the XGrabPointer
2012         (this caused DnD programs to crash).
2013
2014 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
2015
2016         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
2017         field to be of type guint.
2018         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
2019         ref_count>0;
2020         (gtk_accelerator_table_install): keep a per object list of accelerator
2021         tables that refer to this object.
2022         (gtk_accelerator_table_remove): remove the accelerator table from the
2023         per object list.
2024         (gtk_accelerator_table_clean): warn if there are any object references
2025         left in an accelerator table upon destruction.
2026         (gtk_accelerator_tables_delete): new function to delete object
2027         references from the accelerator tables associated with this object.
2028
2029         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
2030         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
2031         of an accelerator can be prevented by gtk_signal_emit_stop().
2032         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
2033         so there are no stale pointers in accelerator tables left.
2034
2035 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2036
2037         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
2038         visible before we unparent it.
2039
2040 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
2041
2042         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
2043         running_timeouts list with the tmp_list link itself, not with a new
2044         GList structure pointing to our link. that would fill up memory and
2045         causes the GList.data fields of the running_timeouts list to point to
2046         GList structures and not GtkTimeoutFunction structures which is a
2047         *really* bad thing.
2048         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
2049         the above entry ;).
2050
2051 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
2052
2053         * gtk/gtkradiomenuitem.h: 
2054         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
2055         ala gtk_radio_button_set_group.
2056         (gtk_radio_menu_item_init): assure that we always have at least a group
2057         that points to self.
2058
2059         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
2060         added g_return_if_fail() statements.
2061         (gtk_radio_button_init): assure that we always have at least a group
2062         that points to self.
2063
2064 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
2065
2066         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
2067
2068 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
2069
2070         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
2071         (Damon Chaplin), which i got wrong when applying Damon's patch the last
2072         time.
2073
2074 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2075
2076         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
2077         that when we are running with a non-installed colormap,
2078         in 8-bit pseudo-color, we actually are using the system
2079         visual. (Fixes *Bad Match* errors on Digital Unix machines
2080         with multiple 8-bit pseudo-color visuals)
2081
2082 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2083
2084         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
2085         by whoever thought that randomly changing ints to unsigned int
2086         without reviewing the code was a good idea.  It is, btw not
2087         mentioned in the ChangeLog as usual, but I know it was not Elliot
2088         the culprit this time. 
2089
2090 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2091
2092         * Released GTK+ 1.0.0