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