]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
gtk/gtkclist.h (struct _GtkCListClass) removed scrollbar_spacing.
[~andy/gtk] / ChangeLog.pre-2-0
1 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
2
3         * gtk/gtkclist.h (struct _GtkCListClass)
4         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
5
6 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
7
8         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
9         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
10
11         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
12         "hadjustment" & "vadjustment"
13          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
14         set/get_arg functions
15         (gtk_clist_construct): don't create/adjust scrollbars.
16         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
17         to set h/vadjustments
18         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
19         to query h/vadjustments
20         (create_scrollbars): removed.
21         (create_adjustments): replacement for create_scrollbars
22         (gtk_clist_new): call gtk_clist_new_with_titles
23         (gtk_clist_new_with_titles): don't warn on titles == NULL
24         (move_horizontal): use CLAMP instead
25         (gtk_clist_set_policy): deprecated method.
26         use gtk_scrolled_window_set_policy instead.
27         (vadjustment_value_changed): use clist->vadj.
28         (adjust_scrollbars): renamed to adjust_adjustments
29         (adjust_adjustments): former adjust_scrollbars
30         (gtk_clist_destroy): unref adjustments
31         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
32         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
33         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
34         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
35         (gtk_clist_set_row_height) (real_resize_column):
36         call adjust_adjustments
37         (gtk_clist_moveto): return if clist has no adjustments yet.
38         (gtk_clist_parent_set): new GtkWidget::parent_set function.
39         Autogenerate h/vadjustments if needed.  
40         (move_horizontal) (move_vertical): some cleanups
41
42         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
43         call only gtk_viewport_set_h/vadjustment and let these functions
44         do the work.
45         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
46         generate a new adjustment if needed
47
48         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
49         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
50         
51         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
52         queue_resize if visibility of scrollbars changes
53         (gtk_scrolled_window_remove): only call container_remove with
54         scrolled_window->viewport automatically if viewport was autogenerated
55         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
56         auto create a viewport only if widget does not take h/vadjustments.
57         (gtk_scrolled_window_construct): don't generate a viewport
58         automatically.
59         (gtk_scrolled_window_forall): call callback with viewport in any case
60         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
61         ARG_VIEWPORT
62         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
63         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
64         viewport != NULL
65
66         * gtk/testgtk.c 
67         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
68         in conjunction with clists/ctrees
69
70         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
71         in conjunction with clists
72
73         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
74         in conjunction with clists
75
76 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
77
78         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
79         (gtk_ctree_remove_node): select focus_row if needed
80         (cell_size_request): only get pixmap size if pixmap != NULL
81
82 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
83
84         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
85         GTK_IS_WIDGET (widget):
86
87 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
88
89         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
90         focus_row after a remove_row call.
91
92 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
93
94         * gtk/gtkoptionmenu.c
95         * gtk/gtkmenushell.c: make option menus work when some of the
96         menuitems are hidden - previously, option menu would popup too
97         high.
98
99 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
100
101         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
102
103         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
104
105         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
106         case instead.
107         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
108         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
109         widechar functions.
110         * gtk-config.in (--libs): List $GDK_WLIBS, too.
111
112 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
113
114         * Released GTK+ 1.1.3
115         
116         * INSTALL:
117         * NEWS:
118         * README:
119         * gtk+.spec:
120         * docs/gtk-config.1: updated for v1.1.3
121
122         * Makefile.am
123         * sanity_check
124         * docs/Makefile.am: Includes new 'make release' as well as
125           'make sanity'.  Also handles html and text creation from html,
126           and puts them into the distribution
127
128         * docs/Makefile.sgml: removed, similar functionality is now in 
129           the Makefile.am file
130
131         * docs/.cvsignore: ignore html and text directories
132         * docs/glib.texi: removed (now in glib dist)
133
134 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
135
136         * gtk/gtklist.c (gtk_list_remove_items_internal): 
137         free undo_un/selection, unselect list_item before disconnect
138         signal functions
139         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
140         already
141         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
142         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
143         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
144         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
145         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
146         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
147         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
148         new functions. These functions are signal connected to inserted
149         list_items, to handle key bindings and GtkItem::de/select/toggle
150         signals.
151
152         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
153         gtk_object_class_add_signals call.
154         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
155         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
156         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
157         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
158         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
159         removed. These functions are handled via connected
160         gtk_list_signal_* functions now
161
162 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
163
164         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
165         even with --include-deps:
166         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
167
168 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
169
170         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
171         gtk_object_data_set_destroy to fit the gtkobject.h API.
172
173         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
174         * gtk/gtkfontsel.h:
175         * gtk/gtkfontsel.c:
176         Added support for an extra 'base' filter which an application can
177         set to restrict the fonts available to the user (e.g. a terminal
178         program only wants the user to be able to select fixed-width fonts).
179         The type of font (bitmap/scalable/scaled bitmap) is now
180         also a part of the filter, so that an application can
181         request that only scalable fonts are shown.
182         There are new functions to set the base & user filters.
183         I've also stopped the up/down key press signals getting
184         to the clists since the font selection widget handles
185         them itself. It acted a bit strangely before.
186
187 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
188
189         * gtk/gtkmain.c (gtk_init): support an environment variable
190         GTK_MODULES= which takes a colon sperated list of module names
191         automatically loaded at gtk_init() startup.
192
193 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
194
195         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
196
197 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
198
199         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
200         is sufficient
201
202 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
203
204         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
205         columns
206
207 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
208
209         * gtk/gtkfilesel.h: GtkType and macro fixups
210         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
211         for the file selection widget to try a completion on (set the
212         initial filter).
213
214 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
215
216         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
217         slight speed improvement and lessens code duplication.
218
219 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
220
221         * gtk/gtkdnd.c: Always send "drag_leave" to dests
222         without GTK_DEST_DEFAULT_MOTION. 
223
224 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
225
226         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
227         on destroyed windows so we clear the XID table properly.
228         Finish up restructure of return value handling that
229         was half-done before.
230
231 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
232
233         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
234         the window tree more comprehensively, so that we find
235         client windows hidden under non-toplevels.
236
237 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
238
239         * gtk/gtkselection.c (gtk_selection_data_set): 
240         Maintain the null-termintation guarantee, even when 
241         data = NULL, length = 0. (Warn on data = NULL, 
242         length > 0)
243
244 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
245
246         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
247         into function prototype for drag_data_received. 
248
249 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
250
251         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
252
253 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
254
255         * gtk/gtkclist.c: rearranged some functions
256         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
257         flag of column
258         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
259         (gtk_clist_set_border): deprecated function, use
260         gtk_clist_set_shadow_type instead.
261         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
262         (adjust_scrollbars): some cleanups
263         (select_row) (unselect_row): removed. replaced by equivalent
264         gtk_signal_emit calls
265         (add_style_data): removed, use gtk_clist_style_set instead
266         (gtk_clist_style_set): fill in size data, after style was set. 
267         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
268         (gtk_clist_set_cell_style): auto_resize columns if needed
269         (column_auto_resize): resize column if needed for auto_resize 
270         (real_clear): disable auto_resize while list destroy
271         (resize_column): removed
272
273         * gtk/gtkctree.c : (gtk_ctree_remove_node)
274         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
275         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
276         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
277         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
278         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
279         auto_resize columns if needed
280         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
281         (real_clear): disable auto_resize while processing the tree
282
283         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
284         for one column
285
286 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
287
288         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
289         typo - look for right atom on transfer failures.
290
291 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
292
293         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
294         for drag_data_get to match the use that was being
295         made of it everywhere else...
296
297 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
298
299         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
300         mechanism, that is used for the DND messages.
301
302           Removed all the old DND code.
303
304         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
305         get the visual of a given colormap.
306         
307         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
308         a color-swatch.
309
310         * gdk/gdk.h gdk/gdkdnd.c: The low-level
311         X oriented portions of drag and drop protocols.
312         Sending and receiving client messages, and navigating
313         window trees.
314
315         * gdk/gdkimage.c: added a gdk_flush() when destroying
316         SHM images to hopefully make it more likely that
317         X will gracefully handle the segment being destroyed.
318
319         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
320         DND debugging flags.
321
322         * gtk/gtkeditable.[ch]: Updates for the selection handling
323         changes.
324         
325         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
326         refcounted data structure for keeping track of lists
327         of GdkAtom + information. Removed selection_handler_add
328         in favor of a "drag_data_get" signal.
329
330         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
331         dependent) parts of the DND protocols, display of drag icons,
332         drag-under highlighting, and the "default handlers".
333
334         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
335         windows that are used for reliable pointer grabs and
336         selection handling in the DND code.
337
338         * gtk/testdnd.c: New test program for new DND. (Old
339         DND tests in testgtk still need to be converted.)
340
341         * gtk/testselection.c: Use the new selection API.
342         
343         * docs/dnd_internals: Start at describing how
344         all the new code works inside.
345
346         * docs/Changes-1.2.txt: New file describing source-incompatible
347         changes in GTK+-1.2.
348
349 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
350
351         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
352         the right list node.
353
354         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
355         to the XID table so we can receive events on it.
356
357 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
358
359         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
360         to get the timestamp from a generic event.
361
362 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
363
364         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
365         that safely adds additional events to a widget's event 
366         mask, even if the widget has previously been realized.
367         (We can do this, but not remove events from the event
368          mask).
369
370 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
371
372         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
373         for AnyPropertyType.
374
375 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
376
377         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
378         hashing.
379
380 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
381
382         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
383         isn't a timestamp.
384
385 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
386
387         * gdk/gdk.c (gdk_event_translate): Removed printing
388         of unknown window lookup warnings. (Made it
389         a GDK_NOTE) - they happen in many circumstances.
390
391 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
392
393         * Call XFilterEvent() on events we get for unknown
394         windows, since it may be the window Xlib uses to
395         communicate with the IM. 
396         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
397
398 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
399
400         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
401         the adjustment.
402
403 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
404
405         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
406         message for return_value + GTK_RUN_FIRST.
407
408 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
409
410         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
411         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
412
413 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
414
415         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
416         styles of inserted row
417         (change_style): change style of focus_row
418
419         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
420         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
421         to set/get row/cell styles.
422         (gtk_clist_realize): attach row and cell style, allocate row colors.
423         (gtk_clist_unrealize): detach row and cell styles.
424         (get_cell_style): new function. get correct cell style.
425         (draw_cell_pixmap): new function. 
426         (draw_row): draw cells with row or cell styles.
427         (row_new): set cell and row styles to NULL.
428         (row_delete): detach & unref cell and row styles.
429
430         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
431         new functions to attach/detach styles and allocate colors.
432         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
433         styles of invisible nodes.
434         (draw_cell_pixmap): new function. 
435         (get_cell_style):  new function. get correct cell style.
436         (gtk_ctree_draw_expander): new function. draw tree expander.
437         (gtk_ctree_draw_lines): new function.draw tree lines.
438         (draw_row): draw cells with row or cell styles.
439         (row_new): set cell and row styles to NULL.
440         (row_delete): detach & unref cell and row styles.
441         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
442         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
443         Analogons of GtkCList functions 
444         (gtk_ctree_set_spacing): new function. set spacing between
445         tree expander and cell contents
446         (gtk_ctree_set_expander_style): new function. set expander style
447         of ctree.
448         (ctree_is_hot_spot): few changes due to draw_row modifications.
449
450 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
451
452         * gtk/gtkcombo.c: try completion on MOD1-TAB.
453         Handle case when the combo->list is empty.
454
455 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
456
457         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
458         handlers that have not yet been disconnected (finally managed to
459         trigger the gtk_signal_handler_unref() paranoid warning).
460
461 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
462
463         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
464         width and height which is -1 and not -2.
465
466 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
467
468         * HACKING
469         * autogen.sh: we need libtool 1.2b now
470
471 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
472
473         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
474         and bottom attach arguments as mandatory and readjust the table size
475         and opposing edge accordingly if required. this way the order in which
476         the arguments are set doesn't matter.
477
478 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
479
480         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
481         message to print out parent class name correctly.
482
483 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
484
485         * gtk/gtkobject.h: 
486         * gtk/gtkobject.c:
487         removed functions gtk_object_set_data_destroy and
488         gtk_object_set_data_destroy_by_id.
489         added functions gtk_object_remove_no_notify and
490         gtk_object_remove_no_notify_by_id which will remove a certain data
491         portion without invokation of its destroy notifier, this should only
492         be used in very controled circumstances.
493
494 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
495
496         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
497         size_allocate_title_buttons call
498         (gtk_clist_realize): changed initial column.window position
499
500 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
501
502         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
503         xor_gc instead
504         * gtk/gtkctree.c (create_xor_gc): removed
505         (gtk_ctree_button_press): set correct line_attributes for
506         clist->xor_gc on drag start
507         (gtk_ctree_button_release): reset clist->xor_gc
508
509 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
510
511         * gtk/gtk*.h:
512         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
513         which were in place to fixup emacs' cc-mode indentation.
514         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
515         proper way to achive this and doesn't produce problems for
516         stupid pragma-related compiler bugs. ;)
517
518 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
519
520         * gtk/gtkclist.h: new signal GtkCList::resize_column.
521         * gtk/gtkclist.c (draw_row): don't draw invisible columns
522         (size_allocate_title_buttons) (size_allocate_columns):
523         skip invisible columns
524         (new_column_width): take min/max_width into account 
525         (gtk_clist_button_release) (gtk_clist_motion):
526         changes due to changed new_column_width function
527         (LIST_WIDTH): changed define to inline function.
528         (real_resize_column): class function for resize_column signal
529         (gtk_clist_motion): fixed autoscrolling for column resizes
530         (gtk_clist_set_column_visibility): don't hide last visible column,
531         changed visible arg to gboolean
532         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
533         new functions : set min/max width of a column
534         (gtk_clist_set_column_resizeable): new function : enable/disable
535         column resize operations by mouse
536
537         * gtk/gtkctree.c (draw_row): don't draw invisible columns
538         (ctree_is_hot_spot): return FALSE if tree_column is invisible
539         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
540         tree_column is invisible
541         (gtk_ctree_find_all_by_row_data)
542         (gtk_ctree_find_all_by_row_data_custom):  new function from
543         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
544         GtkCTreeNodes with row->data == data.
545
546 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
547
548         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
549         memory (Martin Pool <mbp@wistful.humbug.org.au>).
550
551 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
552
553         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
554         should have been guint32. Thanks to Tristan Colgate for finding it.
555
556 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
557
558         * gtk/gtkcalendar.h:
559           gtk/gtkcalendar.c: More changes:
560           - The day with focus is now seperated from the day selected
561           - The day with focus has the xor's line around it
562           - The selected day is now standard selected style
563           - The week names and week numbers are now also drawn
564             with selected style
565           - Space now selects the day which has focus
566
567 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
568
569         * gtk/gtkcalendar.h:
570           gtk/gtkcalendar.c: Some significant changes, including:
571           - No longer draw focus around entire widget, only around
572             the day which has focus
573           - Draw relief around entire widget like originally planned
574           - Show header and day names by default 
575           - Move data private to the widget out of GtkCalendar struct
576             and only point to it with a gpointer
577           - Remove some old unused variables from GtkCalendar struct
578
579 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
580
581         * docs/gtk_tut.sgml: update I've had sat around:
582           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
583           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
584           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
585
586 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
587
588         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
589         
590         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
591         Makes it possible to individually show and hide columns.
592         (size_allocate_columns): Adapted to keep track of hidden columns.
593         (size_allocate_title_buttons): Likewise.
594
595 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
596
597         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
598         fundamental types, collect an argument of the type returned from
599         gtk_type_get_varargs_type(). removed the first macro argument which
600         was just the same as the fundamental type of the *arg passed to
601         the macro.
602         * gtk/gtkarg.c (gtk_args_collect): 
603         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
604
605         * gtk/gtktypeutils.h: 
606         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
607         gtk_type_get_varargs_type() to set and query the varargs collect
608         type used for a fundamental type, registered outside of Gtk.
609
610         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
611         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
612         GTK_TYPE_FLOAT.
613
614         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
615         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
616         to GTK_TYPE_FLOAT.
617
618 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
619
620         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
621         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
622         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
623
624         (real_tree_expand) (real_tree_collapse):
625         don't expand/collapse a leaf
626
627 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
628
629         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
630         segfault when looking up a non-existant value name (reported by
631         Pablo <pcj+gtk@primenet.com>).
632
633 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
634
635         * gtk/gtkclist.h (gtk_clist_prepend):
636         * gtk/gtkclist.c (gtk_clist_prepend): new function.
637         (gtk_clist_insert): added g_return_val_if_fail()
638         statements. accept a row parameter < 0 or > clist->rows to indicate
639         append mode.
640         (real_clear): first clean up all internal pointers and lists (e.g.
641         clist->row_list or clist->rows), then delete the distinct rows. this
642         is required because of destroy notifiers, we need to have all internal
643         structures updated and be reentrant.
644
645         * gtk/gtkcalendar.h: 
646         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
647         GtkCalendarClass signal methods.
648         GtkType and macro fixups, put `void' into () prototypes, avoid C++
649         style comments, indentation fixes, fixed some g_return_if_fail()
650         statements.
651         (gtk_calendar_paint_header):
652         (gtk_calendar_paint_day_names): 
653         (gtk_calendar_paint_week_numbers): 
654         (gtk_calendar_paint_main): made these static functions.
655         (gtk_calendar_select_month):
656         (gtk_calendar_select_day):
657         (gtk_calendar_mark_day):
658         (gtk_calendar_unmark_day):
659         (gtk_calendar_get_date): signedness corrections, use guints
660         rather than gints.
661         (gtk_calendar_size_request): removed unused variables.
662
663 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
664
665         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
666         widgets in the ->widgets_by_action list that have a callback
667         defined (not only those with a callback_action!=0).
668
669 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
670
671         * gtk/gtkcalendar.h:
672           gtk/gtkcalendar.c:
673           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
674
675 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
676
677         * gtk/gtkcalendar.h:
678           gtk/gtkcalendar.c:
679           examples/calendar: Added gtkcalendar widget and demo
680
681 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
682
683         * gtk/gtkclist.c (gtk_clist_sort): 
684         (gtk_clist_clear): 
685         (gtk_clist_unselect_all): 
686         (gtk_clist_select_all): adde g_return_if_fail() statements.
687
688 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
689
690         * configure.in: set binary age and interface age to 0.
691
692         * gtk/gtkspinbutton.h: 
693         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
694         gtk_spin_button_configure. gtk_spin_button_construct is still defined
695         as an alias for gtk_spin_button_configure for source compatibility,
696         but actuall use is deprecated.
697         typeness corrections, i.e. gint->gboolean and gint->guint.
698         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
699         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
700         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
701         GtkSpinButton::adjustment, GtkSpinButton::digits and
702         GtkSpinButton::climb_rate.
703         GtkType and macro fixups.
704
705 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
706
707         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
708         the *real* geometry position of a window, taken possible window
709         manager offsets into account.
710         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
711         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
712         it does fail though for amiwm which adds windows to a pseudo root
713         window, and for icewm by a small offset because it defines the
714         geometry position whithin its border.
715
716         * gtk/testgtk.c: added "saved position" test to figure how
717         gdk_window_get_root_origin() interacts with window managers (repopup
718         this window to figure ;).
719
720 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
721
722         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
723         interface age 1.
724
725         * gtk/gtkobject.c
726         (gtk_object_ref): 
727         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
728         existing code was buggy in letting ->ref_count==0 pass through and
729         then failing the living_objs_ht assertion).
730
731         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
732         pixtext fields (Roman Pozlevich <roma@botik.ru>).
733
734 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
735
736         * Released GTK+ 1.1.2
737
738 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
739
740         * gtk/Makefile.am: use $(PERL) instead of perl
741         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
742         also much faster to render.
743
744 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
745
746         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
747         the required memory block, rather than allocating it newly from
748         scratch and doing a full-blown block copy on it.
749
750 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
751
752         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
753         binary age 0, interface age 0.
754
755         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
756
757 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
758
759         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
760         work.
761
762 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
763
764         * HACKING: indent other than GNU indent should be OK
765           now.
766
767         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
768           instead of piping through indent. If indent wasn't
769           found in ./configure don't bother indenting at 
770           all.
771
772 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
773
774         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
775
776 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
777
778         * gtk/Makefile.am: use $(AWK) instead of awk
779
780 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
781
782         * gtk/Makefile.am (gdk_headers): 
783         Remove references to $(top_srcdir). 
784         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
785         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
786
787 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
788
789         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
790         GData*object_data to cure compiler warnings.
791
792 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
793
794         * install-sh
795         * missing
796         * mkinstalldirs: updated to latest automake version
797
798 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
799
800         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
801         (gtkinclude_HEADERS): ... here.
802         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
803
804 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
805
806         * HACKING: added GNU indent, as it is now required to successfully
807         build gtk+. Should this be detected in autoconf, possibly?
808
809 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
810
811         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
812         change library versioning scheme to drop LT_RELEASE
813         from the -l line, while keeping it in the soname.
814
815 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
816
817         * configure.in Makefile.in: define a MAINT-like variable REBUILD
818         which is set if Perl and awk are found, and autogenerated sources
819         can be rebuilt. Remove the auto-generated sources from
820         CVS. 
821
822         Add dependencies so that the autogenerated sources are 
823         rebuilt if the files they depend on change. 
824         (This unfortunately currently results in the entire
825         gtk/ directory being rebuilt when any header changes.
826         Moving all enums to gtkenums.h would fix this.)
827
828 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
829
830         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
831         gtk_object_set_data_destroy_by_id functions to set the destroy
832         function pointer for an existing data portion.
833
834         * gtk/gtkobject.c: removed the GtkObjectData implementation and
835         made all gtk_object_*data* functions use the GLib equivalents.
836
837 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
838
839         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
840         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
841         (widget != NULL), otherwise radio button insertion will not work
842         -- the widget argument is NULL for the first radio button in the
843         group.
844
845 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
846
847         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
848         of g_new to malloc(), added back in the one place where
849         it actually mattered. #include <stdlib.h>.
850
851         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
852
853 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
854
855         * gtk/gtkfilesel.c: Keep a list of directories in which we never
856         want to stat the entries (like /afs), and assume everything in
857         those directories is a subdirectory.
858
859         - When following a path, try to open components even when
860         we don't find them in their parent's directory to
861         support automounters.
862
863 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
864
865         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
866         a new size from the WM if we asked for the same size
867         before and our request was rejected.
868
869         * gtk/gtkwindow.c (gtk_window_configure_event): If
870         in response to a request, we get a configure event
871         with unchanged dimensions, send a synthetic expose
872         since ForgetGravity won't expose our window.
873
874 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
875
876         * gtk/gtktext.c (adjust_adj): Change the way we
877         set the adjustments on resize so that it tries to
878         keep the beginning of the text in approximately
879         the same place. 
880
881         Removed assertion that the above change made invalid.
882
883 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
884
885         * gtk/gtktext.c: - Save first_cut_pixels when switching
886         sizes, so that if we switch to the _same_ size,
887         we don't move lines around.
888
889         - Make sure that the text area always has a size of at
890         least 1x1, then do all computations when realized.
891
892         - When fetching lines in recompute_geometry, make
893         sure we fetch enough lines to cover the screen.
894         
895 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
896
897         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
898           g_free()s to free()s to avoid mixing g_new()s with 
899           free()s.  X itself uses free() on some of the 
900           malloced memory.
901
902 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
903
904         * gtkfilesel.c: Maintain a list of directories like
905         /afs we know contain only directories, and avoid
906         stat'ing files in those directories. (Because
907         stat'ing all files in /afs is extremely expensive)
908
909         To support automounters, try to open directories,
910         even if we couldn't find them when reading their
911         parent directory.
912
913 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
914
915         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
916         to allow the same gtk.m4 to work for 1.0.x and
917         1.1.x.
918
919 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
920
921         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
922         to set/unset the selectable flag of a single row.
923         (gtk_clist_get_selectable): new function 
924         to get the state of the selectable flag
925
926         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
927         (gtk_ctree_node_get_selectable): clist analogons
928         
929 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
930
931         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
932         pattern.
933
934         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
935         bugs in the 4bit gray cases.
936
937 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
938
939         * configure.in: added -posix check for NeXTStep
940
941         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
942         a unique buffer for each thread.
943
944         * docs/gtk-config.1: clarified copyright
945
946 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
947
948         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
949
950         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
951
952         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
953         ATEXIT.
954         
955         * ltconfig: use GLib's ltconfig which honours lcc.
956
957 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
958
959         * configure.in: comment the -std1 check and save LIBS properly
960
961 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
962
963         * gtk/testrgb.c: #include <stdlib.h>
964
965 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
966
967         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
968         When the pointer is grabbed on an input window,
969         either explicitely, or through press-grab, and
970         then grabbed on a non-input window, ungrab the
971         devices.
972
973 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
974
975         * gtk/gtktypeutils.h: don't include any gdk headers.
976         added structure definitions for GtkTypeObject and GtkTypeClass,
977         which cover the very basic fields of GtkObject and GtkObjectClass,
978         which are actually used by the type system.
979         
980         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
981         we only refer to our own structures. improved class inheritance
982         sanity checking a bit.
983
984         * gtk/gtkobject.h: placed appropriate comments at the beginnings
985         of the GtkObject and GtkObjectClass structures, which explain
986         their relationship to GtkTypeObject and GtkTypeClass.
987
988         * gtk/gtktypeutils.h:
989         * gtk/gtkobject.h:
990         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
991         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
992         gtkobject.h to gtktypeutils.h.
993
994         * gtk/gtkobject.h:
995         * gtk/gtkobject.c:
996         removed gtk_object_check_cast() and gtk_object_check_class_cast()
997         functions. to keep source compatibility, we can provide macro aliases
998         for the corresponding gtk_type_* functions. but then again, people
999         shouldn't have been using these functions anyways since they were part
1000         of Gtk's internal API.
1001
1002         * gtk/gtktypeutils.h:
1003         * gtk/gtktypeutils.c:
1004         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
1005         functions to check GtkTypeObject and GtkTypeClass types.
1006
1007 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
1008
1009         * gtk/gtkctree.h:
1010         * gtk/gtkctree.c: `const' fixups.
1011
1012         * gtk/gtkclist.h:
1013         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
1014
1015         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
1016         if it is passed as NULL.
1017
1018 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
1019
1020         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
1021         big-endian cases. Added a 4bpp packed gray mode (somewhat
1022         incorrectly hardwired to MSB), which should take care of
1023         Stric's hardware.
1024
1025 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
1026
1027         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
1028         GtkSIgnalQuery leak.
1029
1030 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
1031
1032         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
1033         GTK_MENU_DIR_CHILD: check for the existance of
1034         menu_shell->active_menu_item before accessing its child.
1035         GTK_MENU_DIR_PREV:
1036         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
1037         don't, make a default selection.
1038
1039 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
1040
1041         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
1042         the children with _forall for sensitivity changes and with
1043         _foreach on pure state changes. this fixes a lot of the
1044         old inclusions of internal widgets into _foreach calls.
1045
1046         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
1047         do the work. don't walk the subtrees of first level children.
1048
1049         * gtk/gtktreeitem.c: provide a _forall implementation,
1050         which walks the subtrees as well for include_internals.
1051
1052         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
1053         the submenus as well for include_internals.
1054
1055         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
1056         implemented gtk_scrolled_window_forall, which will iterate over
1057         the viewport and the scrollbars for gtk_container_forall or
1058         iterate over the viewports children for gtk_container_foreach.
1059
1060         * gtk/gtktoolbar.c: 
1061         * gtk/gtktable.c: 
1062         * gtk/gtkpaned.c:
1063         * gtk/gtkpacker.c:
1064         * gtk/gtkmenushell.c: 
1065         * gtk/gtklist.c: 
1066         * gtk/gtkfixed.c:
1067         * gtk/gtkclist.c:
1068         * gtk/gtkbox.c: 
1069         * gtk/gtkbin.c: 
1070         * gtk/gtknotebook.c:
1071         removed the old gtk_*_foreach functions and provided gtk_*_forall.
1072
1073         * gtk/gtknotebook.c:
1074         (gtk_notebook_real_switch_page): expose tabs.
1075         (gtk_notebook_page_num): new function to return the page number
1076         of a distinct child.
1077         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
1078         under some circumstances.
1079
1080         * gtk/gtktreeitem.c:
1081         (gtk_real_tree_item_select):
1082         (gtk_real_tree_item_deselect): major fixes.
1083         some general fixups wrt queue_redraw, and tree items not being
1084         NO_WINDOW widgets.
1085
1086         * gtk/gtklistitem.c:
1087         (gtk_real_list_item_select): 
1088         (gtk_real_list_item_deselect): 
1089         (gtk_real_list_item_toggle): 
1090         removed unneccessary queue_redraw calls.
1091
1092 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
1093
1094         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
1095         automatically popup the menu on space bar.
1096
1097 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
1098
1099         * gtk/gtkcontainer.h:
1100         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
1101         method), which acts similar to gtk_container_foreach(), but iterates
1102         over internal children. the GtkContainer::foreach signal vanished in
1103         favour of a new class method ->forall() that optionally includes
1104         internal widgets.
1105
1106         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
1107         but a _forall implementation, since all child widgets we have are
1108         internal ones.
1109         (column_button_create): set the parent window prior
1110         to gtk_widget_set_parent().
1111
1112         * gtk/gtkwidget.c:
1113         exchanged all calls to gtk_container_foreach() with
1114         gtk_container_forall().
1115
1116         * gtk/gtkwidget.h: 
1117         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
1118         the GtkWidget::composite_child argument. to have a widget created
1119         with the flag initially, two new functions got added to wrap a widgets
1120         creation:
1121         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
1122
1123 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
1124
1125         * gtk/gtktooltips.h:
1126         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
1127         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
1128         prior to the first tip being set.
1129         don't put an extra reference on the window, since it is a toplevel,
1130         it wont get destroyed from anywhere else.
1131
1132         * overall macro and GtkType fixups.
1133
1134 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1135
1136         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
1137         constructs by more forgiving ones.  (Does anyone else feel like
1138         the color selector need rewriting?).
1139
1140 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1141
1142         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1143         the adjustment.
1144
1145         * gtk/gtkmenu.c: Modified reference counting so
1146         that the reference count from the toplevel that
1147         the menu creates to the menu is invisible to the
1148         application.
1149
1150 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
1151
1152         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
1153         conversion selection logic, so Suns and other big-endian
1154         machines should get faster conv routines. This is also the
1155         point where 4bpp gray and 1bpp are checked in, although I
1156         wouldn't be surprised if 1bpp is a little buggy. This is
1157         synchronized with the 0.0.7 release of GdkRgb.
1158
1159         * gtk/Makefile.am: 
1160         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
1161         appropriate change to the Makefile.am
1162
1163 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
1164
1165         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
1166         which is good for images that scroll (makes the dither patterns
1167         align correctly)
1168
1169 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
1170
1171         * gdk/gdkcolor.c:
1172         (gdk_colormap_new) (gdk_colormap_get_system):
1173         quell some warnings with g_hash_table_new
1174
1175         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
1176         when we're done with it
1177
1178         * gtk/itemfactory.c:
1179         (gtk_item_factory_from_path):
1180         (gtk_item_factory_create_item): free some strings
1181
1182         * gtk/gtklabel.c:
1183         (gtk_label_finalize): free label->pattern when done
1184         (gtk_label_parse_uline): null terminate pattern string, delete
1185         some duplicated code
1186
1187         * gtk/testthreads.c: add #include <unistd.h> for sleep()
1188
1189 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
1190
1191         * gtk/gtktext.c (recompute_geometry): Make sure the
1192         mark we pass to line start is the beginning of a 
1193         real line, not a wrapped one.
1194
1195 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
1196
1197         * gtk/gtktext.c: Reference count the fonts used in
1198         the text widget.
1199
1200         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
1201         freeing functions to be more consistent, and more 
1202         convenient; leave the old names in for backwards compatibility.
1203
1204         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
1205         allocations in pseudo-color colormaps to greatly reduce
1206         calls to XAllocColor. Keep a per-colormap hashtable to
1207         speed up finding if there is an already-allocated matching
1208         color.
1209
1210         * gdk/gdkcolor.c: Don't just match read the system colormap
1211         when the colormap is created, but synchronize our copy
1212         with the system colormap periodically.
1213         
1214         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
1215         Change XIM constants names to match GDK conventions
1216
1217         * gtk/testinput.c: Allow the drawing area to get the focus.
1218
1219         * gtk/testgtk.c: Change around the Text test to demonstrates
1220         multiple fonts, use more colors.
1221
1222         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
1223         so they work after a widget is unrealized.
1224
1225         * gtk/gtktext.[ch]: Remove the requirement that the text
1226         widget be realized before adding text (!) Allocate colors
1227         ourself, instead of requiring the caller allocate them.
1228         Allow changing styles to work properly by keeping track
1229         of the values for a certain property are default or
1230         set explicitely.
1231
1232         * gtk/gtkmenu.h: Added some comments.
1233
1234         * gtk/gtkentry.c: Changes to match XIM constants.
1235
1236         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
1237         for adding keyed data to drawables. (Uses g_dataset
1238         internally)
1239
1240         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
1241         when creating an XPM - store them as user data for the GdkPixmap,
1242         so we don't leak colors when we create pixmaps from XPM's.
1243
1244         Allocate memory for color information in large blocks instead of 
1245         as many little pieces.
1246         
1247 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
1248
1249         * gdk/gdkrgb.c: removed some unused variables
1250
1251         * gtk/gtkclist.c
1252         * gtk/gtkmain.c: #if 0'd out some unused code
1253
1254         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
1255
1256 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
1257
1258         * gtk/gtkarg.h:
1259         * gtk/gtkarg.c:
1260         * gtk/gtkwidget.h: 
1261         * gtk/gtkwidget.c: 
1262         * gtk/gtkobject.h:
1263         * gtk/gtkobject.c:
1264         * gtk/gtkcontainer.h: 
1265         * gtk/gtkcontainer.c: 
1266         (gtk_object_new):
1267         (gtk_object_set):
1268         (gtk_widget_new):
1269         (gtk_widget_set): 
1270         (gtk_container_add_with_args):
1271         (gtk_container_child_set):
1272         begin the parameter elipsis (...) after the first argument name. this
1273         change is source compatible, since it was always required, even as NULL.
1274         (gtk_args_collect): 
1275         (gtk_object_args_collect): 
1276         (gtk_container_child_args_collect):
1277         changed prototypes to pass first_arg_name, also, pass va_list variable
1278         by value (portability concerns). callers changed.
1279
1280         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
1281         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
1282         can't pass va_list variables by reference for portability reasons.
1283
1284 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
1285
1286         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
1287         get_visual calls, so that it gets implicitly initialized.
1288
1289 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
1290         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
1291         such as GtkCTree function name changes
1292         
1293 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
1294
1295         * gtk/gtkmain.h:
1296         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
1297         binary version check, returning a static string for error descriptions,
1298         or NULL on success.
1299
1300 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
1301
1302         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
1303         computed our geometry yet, and if not, ignore the request.
1304
1305         * gtk/gtktext.c (correct_cache_insert): Fiddled around
1306         some more. All the bug-test codes seem to work at once
1307         now. (fingers crossed...)
1308
1309 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
1310
1311         * gdk/gdkrgb.c: silly visual fixes
1312
1313         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
1314         works
1315
1316 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1317
1318         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
1319         anything if the event's window is not the bin window.
1320         (gtk_handle_box_motion): Likewise.
1321
1322 1998-08-19  Raph Levien  <raph@gimp.org>
1323
1324         * gtk/testgtk.c (create_color_preview): pushed the colormap and
1325         visual so it would work better with GdkRgb.
1326
1327 1998-08-19  Raph Levien  <raph@gimp.org>
1328
1329         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
1330         4bpp static_color mode (for vga displays). Also fixed a '64' value
1331         in the dither matrix, which was causing one pixel out of 16k to be
1332         dithered wrong.
1333
1334         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
1335         most of the contents. This is an API change - any apps that relied
1336         on the internal structure of GtkPreview will need some change -
1337         most notably in the use of reserved colors. The Gimp needed
1338         changes in this regard.
1339
1340 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
1341
1342         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
1343         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
1344         --g-fatal-warnings), noticed by miguel.
1345
1346 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
1347
1348         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
1349         getcwd().
1350
1351         * gdk/gdkprivate.h:
1352         * gdk/gdkglobals.c:
1353         * gdk/gdkwindow.c:
1354         * gdk/gdk.c:
1355         * gtk/gtkwindow.c: 
1356         * gtk/gtkitemfactory.c: 
1357         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
1358
1359         * gtk/gtkselection.c:
1360         * gtk/gtkpreview.c:
1361         * gtk/gtkobject.c: 
1362         * gtk/gtkmain.c: 
1363         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
1364
1365         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
1366
1367 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
1368
1369         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
1370         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
1371         in case of show_tabs == NULL
1372
1373 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
1374
1375         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
1376         to --g-fatal-warnings again. this option now causes log levels of
1377         WARNING and CRITICAL to abort().
1378
1379         * gdk/gdk.c: 
1380         * gdk/gdkdnd.c: 
1381         * gdk/gdkcc.c: 
1382         * gdk/gdkfont.c: 
1383         * gdk/gdkwindow.c:
1384         * gdk/gdkvisual.c:
1385         * gtk/gtkwidget.c:
1386         * gtk/gtktypeutils.c:
1387         * gtk/gtktree.c:
1388         * gtk/gtkfontsel.c:
1389         * gtk/gtkmain.c:
1390         * gtk/gtkobject.c:
1391         * gtk/gtkpreview.c:
1392         * gtk/gtkselection.c:
1393         * gtk/gtktext.c:
1394         * gtk/gtktree.c:
1395         * gtk/gtktreeitem.c:
1396         did a global search&replace to substitute g_print() calls with
1397         g_message(). libraries shouldn't use printf(), g_print() or
1398         g_printerr() at all.
1399         a bunch of the replacements should probably be wrapped into the
1400         G{D|T}K_NOTE() macros, so they are special cased for debugging
1401         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
1402         things.
1403
1404         * gdk/gdkdnd.c: added copyright notice.
1405
1406 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
1407
1408         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
1409         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
1410         running a PII 233. It's synced with the 0.0.5 release of
1411         GdkRgb.
1412
1413 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
1414
1415         * gtk/gtkclist.h:
1416         (struct _GtkCListClass): new class methods:
1417         (sort_list) (insert_row) (remove_row) (set_cell_contents)
1418
1419         * gtk/gtkclist.c :
1420         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
1421         removed and replaced by (set_cell_contents)
1422         (set_cell_contents): function for class method set_cell_contents
1423         (real_insert_row): function for class method insert_row
1424         (real_remoce_row): function for class method remove_row
1425         (real_sort_list): function for class method sort_list
1426         (default_compare): fix to avoid problems with cell types != CELL_TEXT
1427
1428         * gtk/gtkctree.h :
1429         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
1430         (gtk_ctree_node_is_visible): new function to return visibility state
1431         of a node
1432         (gtk_ctree_show_stub): new function to set visibility of root stub
1433
1434         renamed functions :
1435         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
1436         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
1437         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
1438         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
1439         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
1440         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
1441         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
1442         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
1443         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
1444         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
1445         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
1446         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
1447         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
1448         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
1449         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
1450         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
1451         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
1452         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
1453         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
1454
1455         * gtk/gtkctree.c :
1456         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
1457         removed and replaced by (set_cell_contents)
1458         (set_cell_contents): function for class method set_cell_contents
1459         (real_insert_row): function for class method insert_row
1460         (real_remoce_row): function for class method remove_row
1461         (real_sort_list): function for class method sort_list
1462         (default_compare): removed. CTree now also compares two GtkCTreeRows
1463         instead of two GtkCTreeNodes.
1464         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
1465         unlinking the node
1466         (real_tree_expand) (real_tree_collapse): fix for refcounting of
1467         node pixmaps
1468         (set_node_info): call gtk_ctree_node_set_pixtext instead of
1469         manipulating the row itself
1470         
1471         * gtk/testgtk.c: use renamed functions of GtkCTree.
1472         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
1473         at work.
1474
1475 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
1476
1477         * gtk/gtkmain.c: removed gtk_input_add_interp.
1478
1479         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
1480         keyword.
1481         (gtk_editable_get_event_time): fix default: case.
1482
1483         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
1484
1485         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
1486
1487         * gdk/gdkcolor.c:
1488         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
1489         of our functions.
1490
1491         * various minor compilation cleanups, such as bogus commas in
1492         enums and similar things.
1493
1494 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
1495
1496         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
1497         (thanx raph).
1498
1499 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1500
1501         * NEWS: updated for 1.1.2
1502         * gtk+.spec: version = 1.1.2
1503
1504 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
1505
1506         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
1507         times. changed --gtk-with-module to --gtk-module at owen's request.
1508
1509 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
1510
1511         * gtk/gtkmain.c (gtk_init): feature a new commandline option
1512         --gtk-with-module=<module> that allows additional loading and
1513         initialization of modules (e.g. GLE).
1514
1515 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
1516
1517         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
1518         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
1519
1520         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
1521         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
1522         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
1523         different *-fatal-* arguments now. this needs to be revised and
1524         compressed to a reasonable amount of arguments.
1525
1526 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
1527
1528         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
1529         "--g-fatal-warnings" causes fatal warnings in GLib,
1530         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
1531         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
1532
1533         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
1534         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
1535
1536         * gtk/testgtk.c: 
1537         * gdk/gxid.c:
1538         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
1539         since automake doesn't support per target _CFLAGS yet.
1540
1541         * configure.in: require GLib 1.1.3.
1542
1543 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
1544
1545         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
1546         to set a callback to test if a node in drag can be dropped onto
1547         it's currrent location.
1548         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
1549         to change the pointer when a drag destination is not allowed.
1550
1551 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
1552
1553         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
1554         speeds up the 565_d case by about 25% total. Thanks Ray!
1555
1556 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
1557
1558         * Changed GtkSignalFunc back to () from (void). (again!)
1559
1560         * Added file README.cvs-commits
1561         
1562 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
1563
1564         * docs/gtk_tut.sgml:
1565           - Tidy up of the menufactory example from
1566             Andy Kahn <kahn@zk3.dec.com>
1567           - New section on Range Widgets from
1568             David Huggins-Daines <bn711@freenet.carleton.ca>
1569           - Started a new section on 'Advanced Event and Signal
1570             Handling' - used an email from Owen.
1571           - New appendix on Gdk Event Types
1572           - Added the tictactoe full example code to the
1573             'Code Examples' appendix
1574
1575 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
1578           to calculate all the metrics at once of a string, including
1579           things which weren't calculated before.
1580
1581         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
1582           MenuItem type, that when put as the first thing in a
1583           menu, makes the menu tearoff. Currently drawn as a
1584           dashed line.
1585
1586         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
1587           "hide_on_activate" to the MenuItem class structure to allow
1588           check and radio buttons to be changed with <Space> without
1589           hiding the menu.
1590
1591         * gtk/gtkitemfactory.c: 
1592           - Create a AccelGroup for each MenuShell we create.
1593           - If an '_' appears before a  character 'c' in the path,
1594             then make 'c' an accelerator in the menu's accel group,
1595             and if the menuitem is menubar <alt>C an accelerator 
1596             in the itemfactory's accel group. Double '__' inserts
1597             a literal '_'
1598
1599         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
1600           which is a string. If an '_' appears in this string,
1601           the corresponding position in the label is underlined.
1602
1603           Add gtk_label_parse_uline() convenience function which
1604           takes a string with embedded underlines, sets the
1605           pattern and label, and returns the accelerator keyval.
1606
1607         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
1608           Instead, they create a GtkWindow and add themselves
1609           to that. (When torn off, another new feature, they
1610           create another GtkWindow to hold the torn off menu)
1611
1612           New function gtk_menu_set_tearoff_state()
1613         
1614         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
1615           Added action signals  for keyboard navigation of menus.
1616
1617         * gtk/gtkmenushell.c: Key press handler which activates
1618           bindings for navigation, and accelerators, for handling
1619           underline accelerators. Exported functions to select 
1620           and activate menu items in a menushell.
1621
1622         * gtk/testgtk.c: Added a new "Item Factory" test which
1623           tests GtkItemFactory and the new keyboard navigation
1624           of menus.
1625
1626 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
1627
1628         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
1629         external functions have been called. also relookup nodes after
1630         this function has been invoked.
1631
1632 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
1633
1634         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
1635           beginning of Text when creating the Text widget.
1636
1637         * gtk/testgtk.c: Grab the focus on the text widget so
1638           as to test out the above.
1639
1640 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
1641
1642         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
1643           ::changed is a notification signal and should have no default
1644           handler. A complete redraw of the Text widget does _not_ need to
1645           be done on every text insertion.
1646
1647 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
1648         (gtk-abilleira-072198-patch)
1649
1650         * gtk/gtkwindow.[ch]: 
1651           Add gtk_window_set_modal() which sets a flag; when
1652           set the window does a gtk_grab_add() when the window
1653           is shown, and a gtk_grab_remove() when the window
1654           is hidden. 
1655
1656         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
1657           that case will run "Create Dir","Delete File" and "Rename File" 
1658           dialogs as modal too.
1659
1660         * gtk/testgtk.c: Added a button with an example of creating modal 
1661           dialog boxes. Including file selection and color selection standard
1662           dialogs.
1663         
1664 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1665
1666         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
1667           Removed CAN_FOCUS by default from scrollbars, button
1668           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
1669           (Scrollbar definitely good change, toolbar bit more questionable)
1670
1671 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
1672
1673         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
1674         Pettersen).
1675
1676 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
1677
1678         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
1679           added all logical operations to gc->function.
1680
1681 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
1682
1683         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
1684         gtk_widget_size_allocate instead of gtk_widget_queue_resize
1685         if the visibility state of a scrollbar changes.
1686
1687 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
1688
1689         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
1690
1691 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
1692
1693         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
1694         gtk_clist_merge and gtk_clist_mergesort. :)
1695
1696 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
1697
1698         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
1699         `mergesort' -> `my_mergesort'.
1700
1701 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
1702
1703         * gtk/gtkenums.h: new enum GtkSortType.
1704         
1705         * gtk/gtkclist.h:
1706         * gtk/gtkclist.c:
1707         Added sorting capabilities to GtkCList. New APIs :
1708         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
1709         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
1710         New internal functions : default_compare, merge, mergesort.
1711
1712         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
1713         
1714         (gtk_clist_insert): Modified to handle gtk_clist_append and the
1715         auto sort flag. Changed the return value from void to gint to
1716         return the row number where the element was actually inserted.
1717
1718         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
1719         
1720         * gtk/gtkctree.h:
1721         * gtk/gtkctree.c:
1722         Removed the auto_sort flag, replaced ctree->node_compare with
1723         clist->compare all over the place, modified default_compare to
1724         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
1725         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
1726
1727         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
1728         sorting. The lists can be sorted by a column by clicking the 
1729         corresponding title button.
1730         
1731 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1732
1733         * Released GTK+ 1.1.1
1734
1735 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
1736
1737         * gtk/gtkctree.h:
1738         * gtk/gtkctree.c:
1739         (gtk_ctree_find): changed to return a gboolean
1740         (gtk_ctree_insert_gnode): new function for recursive insertion of a
1741         GNode tree.
1742         (gtk_ctree_real_select_recursive): fix for extended selection
1743         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
1744         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
1745
1746 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
1747
1748         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
1749         GLib version 1.1.1 is now required at minimum.
1750
1751         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
1752         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
1753
1754 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
1755  
1756         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
1757           cursor before (possibly) deleting the cursor's text
1758           property.
1759  
1760         * gtk/gtktext.c (correct_cache_delete): More attempts
1761           to clean the line-start cache up after inserting
1762           a property. Among other things, make sure to
1763           fix up text->current_line, since it is used to 
1764           refetch the changed lines.
1765  
1766 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
1767
1768         * gtk/gtktable.[ch]: Empty rows/columns of the table
1769         should not have been marked as being able to shrink.
1770         (Fixes problem with shrinking scrollbarless GIMP canvases)
1771
1772 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1773
1774         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
1775         function to find a row by its data pointer using a custom
1776         comparison function.
1777
1778 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
1779
1780         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
1781           this fixes a bug when the whole widget is made non-sesitive
1782           the buttons weren't redrawn
1783
1784 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
1785
1786         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
1787         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
1788         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
1789
1790 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
1791
1792         * gdk/gdkwindow.c (gdk_window_reparent): Change 
1793           window_private->parent pointer when reparenting.
1794
1795 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
1796
1797         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
1798         with the standalone release.
1799
1800 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
1801
1802         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
1803         (gtk_clist_button_release) (new_column_width): Few fixes for
1804         column resize. Store resize column in clist->drag_pos.
1805
1806 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
1807
1808         * gtk/gtkctree.h 
1809         * gtk/gtkctree.c 
1810         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
1811         to GtkCTreeNode *node.
1812
1813         * gtk/gtklist.h : added extended selection mode and auto scrolling.
1814         (struct _GtkList): removed unneeded variables timer, button,
1815         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
1816         Added new variables undo_selection, undo_unselection, last_focus_child,
1817         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
1818         drag_selection, add_mode.
1819  
1820         New functions :
1821         (gtk_list_extend_selection), (gtk_list_start_selection),
1822         (gtk_list_end_selection), (gtk_list_select_all),
1823         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
1824         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
1825         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
1826         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
1827         
1828         * gtk/gtklist.c : 
1829         (gtk_list_enter_notify): removed, because auto scrolling now works
1830         with gtk_list_motion_notify
1831  
1832         New functions, needed for auto scrolling :
1833         (gtk_list_motion_notify) (gtk_list_move_focus_child)
1834  
1835         New functions for extended selection support :
1836         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
1837         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
1838         (gtk_list_focus_lost)
1839         
1840         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
1841         function to support auto scrolling, and avoid out-of-sync errors in
1842         case auf GTK_SELECTION_BROWSE
1843         (gtk_list_focus): modified gtk_container_focus function to avoid out
1844         off sync errors in case auf GTK_SELECTION_EXTENDED
1845
1846         * gtk/gtklistitem.h 
1847         * gtk/gtklistitem.c :
1848         New signal functions for key binding support :
1849         (toggle_focus_row), (select_all), (list_item), (unselect_all)
1850         (list_item), (undo_selection), (start_selection), (end_selection)
1851         (extend_selection), (scroll_horizontal), (scroll_vertical),
1852         (toggle_add_mode)
1853         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
1854         GDK_KEY_RELEASE_MASK
1855         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
1856  
1857         * gtk/gtkcombo.c :
1858         (gtk_combo_popup_button_press):  grab pointer for combo->list
1859         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
1860         (gtk_combo_list_key_press): take care of which child HAS_GRAB
1861         (gtk_comb_init): don't connect combo->button with button_release_event
1862
1863 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
1864
1865         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1866
1867 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
1868
1869         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
1870         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
1871         with horizontal and vertical autoscrolling.
1872
1873 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1874
1875         * gtk/docs/man: new directory
1876         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1877
1878 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
1879
1880         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
1881         bug
1882
1883 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
1884
1885         * docs/gtk_tut.sgml: GtkTree section from
1886           David Huggins-Daines <bn711@freenet.carleton.ca>,
1887           add a GtkText widget example
1888         * examples/text/* example/tree/* : new examples for the
1889           GtkTree and GtkText widgets
1890         * docs/gtk_tut.sgml: added an appendix to hold complete code
1891           examples that aren't in a full form elsewhere in the
1892           tutorial (e.g. scribble)
1893
1894 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1895
1896         * Released GTK+ 1.1.0
1897
1898 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
1899
1900         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
1901         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
1902
1903 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
1904
1905         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
1906         values are looked up.
1907
1908         * gtk/gtktypeutils.h:
1909         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
1910         gtk_type_enums_find_value to lookup enum values.
1911
1912         * gtk/gtkctree.h: 
1913         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
1914         GtkCTreeExpansionType. fixed signal creations to pass the enum
1915         types not just the base type GTK_TYPE_ENUM.
1916
1917         * gtk/gtkclist.h: 
1918         * gtk/gtkclist.c: fixed signal creations to pass the real enum
1919         types not just the base type GTK_TYPE_ENUM.
1920
1921 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
1922
1923         * gtk/testgtk.c : 
1924         Began cleanup, e.g. use gtk_widget_show_all instead of many 
1925         gtk_widget_show's. Completely rewrote the button box sample
1926         (only one window now). Removed "miscellaneous" button.
1927
1928 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
1929
1930         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
1931         Fixed wrong allocation for GTK_BUTTONBOX_END.
1932         (allocation->x  =>  allocation->y)
1933
1934 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
1935
1936         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
1937         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
1938         
1939         * gtk/gtkctree.c (real_tree_select): added check to avoid double
1940         selected rows
1941         (gtk_ctree_button_press)
1942         (gtk_ctree_button_release): fix for pointer grab
1943
1944 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
1945
1946         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
1947         Fixed initialization problem - dirty memory could cause problems.
1948         Also checked that bitmapped fonts can be scaled when showing the
1949         available sizes.
1950
1951 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
1952
1953         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
1954         (gtk_ctree_sort_recursive): test for node != NULL
1955         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
1956         (gtk_ctree_last) : added sanity checks
1957         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
1958
1959 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
1960
1961         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
1962
1963 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
1964
1965         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
1966
1967 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
1968
1969         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
1970         to check out binding priorities. someone should really write
1971         gtkrc-mode for emacs.
1972
1973         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
1974         * gtk/testgtk.c (main): and move it here ;). this test says something
1975         on release of C-9. (this works only if the mouse pointer is on a
1976         spinbutton and there is no focus widget).
1977
1978         * gtk/gtkrc.h:
1979         * gtk/gtkrc.c:
1980         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
1981         gtk_rc_parse_priority to parse path priority types.
1982         export rc tokens.
1983         feature binding parsing.
1984
1985 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
1986
1987         * gtk/gtkbindings.h: 
1988         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
1989         feature binding parsing in rc files.
1990         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
1991         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
1992         order the bindings with lowest priority first.
1993
1994 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
1995
1996         * gdk/gdkrgb.c: actually builds and runs properly on big
1997         endian machines now, because we #include config.h. Also
1998         fixed up a compile error in the WORDS_BIGENDIAN case in
1999         gdk_rgb_convert_565_gray. I made the fix by looking at
2000         patterns in the other code; Raph can you verify this?
2001
2002         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
2003         warnings
2004
2005 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
2006
2007         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
2008         (tree_toggle_expansion) (real_select/unselect_row)
2009         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
2010
2011 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
2012
2013         * gtk/gtktext.c (new_text_property): We free things from
2014         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
2015
2016         * Fix up line start cache when splitting a property
2017         during an insert.
2018
2019 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
2020
2021         * gtk/gtkwidget.c: restauration => restoration
2022
2023 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
2024
2025         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
2026         hasn't been created yet, don't do the lookup.
2027
2028 1998-07-20  Raph Levien  <raph@acm.org>
2029
2030         * gdk/gdkrgb.c: More cleanups in the config process.
2031
2032 1998-07-20  Raph Levien  <raph@acm.org>
2033
2034         * gdkrgb.c: Fixed minor config bug preventing big-endian
2035         architectures from working.
2036
2037 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
2038
2039         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
2040         activity indicator. It is settable now as a fraction of the
2041         total width/height using gtk_progress_bar_set_activity_blocks.
2042         Renamed gtk_progress_bar_set_number_of_blocks to
2043         gtk_progress_bar_set_discrete_blocks.
2044
2045 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
2046
2047         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
2048         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
2049         tree to specified depth
2050         (gtk_ctree_expand_to_depth): expand tree to specified depth
2051         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
2052
2053 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
2054
2055         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
2056         of GTK_CLIST_ADD_MOD
2057         * gtk/testgtk.c (add1000_clist): changed pixmap
2058
2059 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
2060
2061         * gtk/gtkmain.h: 
2062         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
2063
2064         * gtk/gtktypeutils.h:
2065         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
2066
2067 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
2068
2069         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
2070         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
2071         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
2072         CHILD_ARG_POSITION
2073         (gtk_notebook_reorder_child): new funktion to change position of a
2074         notebook page
2075         (gtk_notebook_draw_arrow): draw left/right arrow with
2076         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
2077
2078         * gtk/gtkstyle.c (gtk_default_draw_arrow):
2079         added GTK_SHADOW_ETCHED_IN/OUT
2080
2081 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
2082
2083         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
2084           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
2085         Introduced generic GtkProgress widget. Derived GtkProgressBar from
2086         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
2087
2088 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
2089
2090         * gtk/gtktypeutils.h
2091         * gtk/gtkitemfactory.h: explicitly specify void in prototype
2092
2093 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
2094
2095         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
2096         of list
2097
2098 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
2099
2100         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
2101         sropped the approach of copying all signal specific data into a
2102         GtkHandlerInfo structure. we rather keep the signal data on the stack
2103         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
2104         avoids multiple lookups of the signal pointer and works savely together
2105         with destroy notifiers of handlers.
2106
2107         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
2108         someone destroys the entry on the ::activate signal.
2109
2110 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
2111
2112         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
2113         instead of ypad (typo).
2114         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
2115         border around the allocation).
2116         (gtk_arrow_init): the static requisition needs to be setup in this
2117         function rather than gtk_widget_new(), so arrow creation works without
2118         the gtk_arrow_new() constructing.
2119         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
2120
2121         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
2122         implementation for GtkWidget::size_request, so size requisition for
2123         simple statically sized widgets like GtkArrow works.
2124
2125 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
2126
2127         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
2128         prepend -I@libdir@/glib/include anymore, since glib-config handles
2129         it; --libs strips out redundant -L<path>'s properly (there was
2130         code in there to do it before, but it didn't work)
2131
2132 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
2133
2134         * gtk/gtknotebook.h: 
2135         * gtk/gtknotebook.c: signdness corrections all ove the place.
2136         implementation of object arguments: GtkNotebook::enable_popup,
2137         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
2138         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
2139         begun implementation of child args, we have GtkNotebook::tab_label, but
2140         GtkNotebook::menu_label and GtkNotebook::position still lack the
2141         implementation.
2142         (gtk_notebook_remove_page):
2143         (gtk_notebook_current_page): allow negative indices (-1) as alias for
2144         the last page.
2145
2146         * gtk/gtkentry.h:
2147         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
2148         arguments GtkEntry::max_length and GtkEntry::visibility.
2149         (gtk_entry_adjust_scroll): queue a redraw.
2150
2151         * gtk/gtkeditable.h:
2152         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
2153         object arguments GtkEditable::text_position and GtkEditable::editable.
2154         new (action) signal GtkEditable::set_editable.
2155         provide a default handler for GtkEditable::changed that queues a redraw.
2156
2157         * gtk/gtktext.h: 
2158         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
2159         set_editable.
2160
2161 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
2162
2163         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
2164         case of drag_target == NULL
2165         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
2166         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
2167         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
2168         gtk_dir_selection_file_button): fix due to changes in clist's
2169         select_row signal.
2170
2171 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
2172
2173         * gtk/gtkwidget.h:
2174         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
2175         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
2176         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
2177         to be gint16s rather than guint16s, since that's what the code expected
2178         (for a long time actually).
2179
2180         * gtk/gtkviewport.c:
2181         added support for object arguments: GtkViewport::shadow_type,
2182         GtkViewport::vadjustment and GtkViewport::hadjustment.
2183         (gtk_viewport_add): chain gtk_bin_add.
2184
2185         * gtk/gtkscrolledwindow.c: 
2186         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
2187         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
2188
2189         * gtk/gtkadjustment.h: 
2190         * gtk/gtkadjustment.c: 
2191         * gtk/gtkctree.h: 
2192         * gtk/gtkclist.h: 
2193         * gtk/gtkctree.c: 
2194         * gtk/gtkclist.c:
2195         * gtk/gtkscrolledwindow.h:
2196         * gtk/gtkscrolledwindow.c:
2197         * gtk/gtkviewport.h:
2198         * gtk/gtkviewport.c:
2199         GtkType and macro fixups.
2200
2201 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
2202
2203         * gtk/gtkctree.h :
2204         * gtk/gtkctree.c :
2205         Added focus handling, horizontal and vertical autoscrolling,
2206         extended Selection Mode, key bindings
2207         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
2208         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
2209         Removed gtk_ctree_clear.
2210         
2211         * gtk/gtkclist.h :
2212         * gtk/gtkclist.c : 
2213         Added focus handling, horizontal and vertical autoscrolling,
2214         extended Selection Mode, key bindings
2215
2216 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
2217
2218         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
2219         source tree. For more information on GdkRgb, please see:
2220         http://www.levien.com/gdkrgb/
2221
2222         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
2223         bothers me slightly that the feature is in gdk, and this file is
2224         in gtk, but it's probably ok.
2225
2226         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
2227
2228         * gdk/gdkrgb.c:
2229         * gdk/gdkrgb.h: Added this module.
2230
2231         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
2232
2233         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
2234
2235 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
2236
2237         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
2238         to this function. it needs to relookup the signal multiple times.
2239         this fixes spurious segfaults that could show up with signal intensive
2240         code, when classes are created during a pending emission (which is
2241         normal case).
2242
2243 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
2244
2245         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
2246         child if it isn't a label.
2247
2248 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
2249
2250         * gtk/gtkdialog.h: 
2251         * gtk/gtkseparator.h: 
2252         * gtk/gtkhseparator.h: 
2253         * gtk/gtkvseparator.h: macro and GtkType fixups.
2254
2255 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
2256
2257         * gtk/testgtk.c (create_cursors): display the current cursor name.
2258
2259         * gtk/gtktypeutils.h: 
2260         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
2261         the fundamental type definition. the GtkArg union now only covers
2262         the required storage types for argument values. adapted the GTK_VALUE_*
2263         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
2264
2265         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
2266         code, fixed int/float collection. fixed a bug in the sanity checking
2267         code for GtkObjects.
2268
2269         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
2270         argument collection code.
2271
2272         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
2273         macros when distinguishing the return type.
2274
2275 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
2276
2277         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
2278           is not NULL before trying to g_list_remove the child. A patch
2279           from Michael Lausch.
2280
2281 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
2282
2283         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
2284         collection (always casted to doubles upon argument passing).
2285
2286 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
2287
2288         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
2289         object_init_func for derived objects with the object's ->klass field
2290         still pointing to the corresponding base class, otherwise overridden
2291         class functions could get called with partly-initialized objects.
2292         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
2293
2294 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
2295
2296         * gtk/gtkobject.h:
2297         * gtk/gtkobject.c:
2298         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
2299
2300         * gtk/gtkcontainer.h:
2301         * gtk/gtkcontainer.c:
2302         (gtk_container_child_arg_get_info): new function which wraps
2303         gtk_arg_get_info().
2304
2305 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
2306
2307         * gtk/gtkcontainer.c:
2308         (gtk_container_arg_get): 
2309         (gtk_container_arg_set): 
2310         * gtk/gtkobject.c:
2311         (gtk_object_arg_set): 
2312         (gtk_object_arg_get):
2313         strictly check for the associated get/set arg functions. if an
2314         arg is readable or writable, the associated class functions *must*
2315         be provided.
2316
2317 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
2318
2319         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
2320         padding into account if there is an accelerator.
2321
2322 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
2323
2324         * gtk/gtkcontainer.c:
2325         (gtk_container_add_with_args): collect the arguments with
2326         gtk_container_child_args_collect, not through gtk_object_args_collect.
2327         (gtk_container_child_set): likewise.
2328
2329 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
2330
2331         * gtk/gtktypeutils.h: 
2332         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
2333         which is derived from GTK_TYPE_STRING.
2334
2335         * gtk/gtkbindings.c: reworked the argument type handling.
2336
2337 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2338
2339         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
2340           so that it seems to allow normal operation in those modes,
2341           although you will only see black  (GIMP toolbar now pops up,
2342           just don't create a new image and GIMP now works in 4 bit.)
2343
2344 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2345
2346         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
2347           array, which was too low (?)
2348
2349 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
2350
2351         * gtk/gtkcontainer.h: 
2352         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
2353         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
2354         we now export a new function gtk_container_child_args_collect().
2355         for consistency with the object arguments, a few functions got renamed:
2356         gtk_container_child_arg_get -> gtk_container_child_get,
2357         gtk_container_child_arg_set -> gtk_container_child_set,
2358         gtk_container_child_arg_getv -> gtk_container_child_getv,
2359         gtk_container_child_arg_setv -> gtk_container_child_setv,
2360         gtk_container_add_with_argv -> gtk_container_addv.
2361         note, gtk_container_add_with_args() remained, because its equivalent
2362         would be gtk_container_add(,, ...) which would break all existing code.
2363         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
2364         we expect the `arg_name' argument to be a const static string now.
2365         (gtk_container_get_child_arg_type): function removed.
2366
2367 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
2368
2369         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
2370         this is a static inline function that collects command line arguments
2371         from a va_list. this file can just be included in all places that
2372         need this functionality.
2373
2374         * gtk/gtkarg.h: 
2375         * gtk/gtkarg.c: new files which implement most of the argument
2376         handling stuff from gtkobject.c. also collected a few more
2377         gtk_arg_* utility functions from else places.
2378
2379         * gtk/gtkobject.h: 
2380         * gtk/gtkobject.c: moved most of the argument handling code into
2381         gtkarg.c. we now export gtk_object_args_collect() as a non-public
2382         method with a blind va_list pointer.
2383         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
2384         const static string now.
2385         (gtk_object_get_arg_type): function got removed.
2386
2387         * gtk/gtkwidget.c: 
2388         (gtk_widget_set): 
2389         (gtk_widget_new): adaptions for gtk_object_args_collect().
2390
2391         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
2392         fundamental type name so as to have a valid prefix, e.g. "bool"->
2393         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
2394         though that should probably be something like GtkNone since the
2395         type itself is called GTK_TYPE_NONE.
2396         even the internal type names need to avoid name clashes and must live
2397         in their own namespace, several code portions rely on that.
2398         we should relly have typedefs such as typedef gchar* GtkString; so the
2399         fundamental type names can be used for code dumpers just like with all
2400         the Gtk/Gdk types.
2401
2402 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
2403
2404         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
2405         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
2406         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
2407         (GTK_RELIEF_HALF).
2408         (gtk_button_paint): set the background for prelighted buttons with
2409         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
2410         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
2411         the shadow type (otherwise we get strange shadows for coloured buttons).
2412         (gtk_button_set_relief): queue a redraw after changing
2413         the relief.
2414         (gtk_button_class_init): 
2415         (gtk_button_set_arg): 
2416         (gtk_button_get_arg): added object argument "GtkButton::relief".
2417
2418         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
2419
2420 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
2421
2422         * gtk/gtkbutton.h:
2423         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
2424         GTK_BIN (button)->child to button->child to keep source compatibility.
2425
2426         * gtk/gtkoptionmenu.c:
2427         * gtk/gtkclist.c:
2428         * gtkcheckbutton.c: don't refer to button->child, but
2429         GTK_BIN (button)->child instead.
2430
2431 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
2432
2433         * docs/gtkfaq.sgml: update anon CVS info
2434
2435 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
2436
2437         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
2438         functions.
2439
2440         * gdk/gdkwindow.c:
2441         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
2442         to XFree() calls.
2443
2444 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2445
2446         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
2447         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
2448
2449 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
2450
2451         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
2452
2453 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
2454
2455         * gtk/gtkwidget.h:
2456         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
2457
2458         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
2459         error that prevented signal to entry addition for signals with
2460         parameters.
2461
2462 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
2463
2464         * ltconfig: fix for properly detecting shared lib support on
2465         SunPro cc (taken from libtool 1.2.a)
2466
2467 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
2468
2469         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
2470
2471 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
2472
2473         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
2474         rc set pattern is favoured, this is needed for overriding of style
2475         patterns with subsequently parsed rc files.
2476
2477 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
2478
2479         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
2480         error messages.
2481
2482 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
2483
2484         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
2485         modifier as well.
2486         (gtk_accelerator_name): add "<Release>" to the accelerator name if
2487         neccessary.
2488
2489         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
2490         account.
2491
2492         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
2493         default handler for key-release events, which checks for activation
2494         of GDK_RELEASE_MASK key bindings.
2495
2496         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
2497
2498 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
2499
2500         * gtk/gtkarrow.h: GtkType and macro fixups.
2501         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
2502         "GtkArrow::shadow_type".
2503
2504 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
2505
2506         * gtk/gtkalignment.h:
2507         * gtk/gtkbin.h: GtkType and macro fixups.
2508         
2509         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
2510         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
2511         GtkAlignment::xscale, GtkAlignment::yscale.
2512
2513 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
2514
2515         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
2516         fucntions from all parent types upon class initialization.
2517
2518         * gtk/gtkcontainer.c:
2519         (gtk_container_get_type): announce gtk_container_base_class_init to
2520         the type system.
2521         (gtk_container_base_class_init): new function to feature base class
2522         initialization.
2523         (gtk_container_get_child_arg): 
2524         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
2525         and set_child_arg methods of the class indicated through the argument
2526         name.
2527
2528         * gtk/gtkobject.c:
2529         (gtk_object_base_class_init): new function to feature base class
2530         initialization.
2531         (gtk_object_init_type): announce gtk_object_base_class_init to the type
2532         system.
2533         (gtk_object_class_init): setup the get_arg and set_arg pointers for
2534         GtkObjectClass.
2535         (gtk_object_setv): 
2536         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
2537         instead of bothering the type system with this.
2538
2539         * gtk/gtkaccellabel.c: 
2540         * gtk/gtkbutton.c: 
2541         * gtk/gtkradiobutton.c: 
2542         * gtk/gtktable.c:
2543         * gtk/gtktogglebutton.c: 
2544         * gtk/gtktipsquery.c: 
2545         * gtk/gtkbox.c: 
2546         * gtk/gtkpacker.c: 
2547         * gtk/gtkwidget.c: 
2548         * gtk/gtkwindow.c: 
2549         * gtk/gtkframe.c: 
2550         * gtk/gtkmisc.c:
2551         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
2552         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
2553         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
2554         arg functions to take a GtkObject argument.
2555
2556         gtk/gtkadjustment.c:
2557         gtk/gtkalignment.c:
2558         gtk/gtkarrow.c:
2559         gtk/gtkaspectframe.c:
2560         gtk/gtkbbox.c:
2561         gtk/gtkbin.c:
2562         gtk/gtkcheckbutton.c:
2563         gtk/gtkcheckmenuitem.c:
2564         gtk/gtkclist.c:
2565         gtk/gtkcolorsel.c:
2566         gtk/gtkcombo.c:
2567         gtk/gtkctree.c:
2568         gtk/gtkcurve.c:
2569         gtk/gtkdata.c:
2570         gtk/gtkdialog.c:
2571         gtk/gtkdrawingarea.c:
2572         gtk/gtkeditable.c:
2573         gtk/gtkentry.c:
2574         gtk/gtkeventbox.c:
2575         gtk/gtkfilesel.c:
2576         gtk/gtkfixed.c:
2577         gtk/gtkfontsel.c:
2578         gtk/gtkgamma.c:
2579         gtk/gtkhandlebox.c:
2580         gtk/gtkhbbox.c:
2581         gtk/gtkhbox.c:
2582         gtk/gtkhpaned.c:
2583         gtk/gtkhruler.c:
2584         gtk/gtkhscale.c:
2585         gtk/gtkhscrollbar.c:
2586         gtk/gtkhseparator.c:
2587         gtk/gtkimage.c:
2588         gtk/gtkinputdialog.c:
2589         gtk/gtkitem.c:
2590         gtk/gtkitemfactory.c:
2591         gtk/gtklist.c:
2592         gtk/gtklistitem.c:
2593         gtk/gtkmenu.c:
2594         gtk/gtkmenubar.c:
2595         gtk/gtkmenuitem.c:
2596         gtk/gtkmenushell.c:
2597         gtk/gtknotebook.c:
2598         gtk/gtkoptionmenu.c:
2599         gtk/gtkpaned.c:
2600         gtk/gtkpixmap.c:
2601         gtk/gtkpreview.c:
2602         gtk/gtkprogressbar.c:
2603         gtk/gtkradiomenuitem.c:
2604         gtk/gtkrange.c:
2605         gtk/gtkruler.c:
2606         gtk/gtkscale.c:
2607         gtk/gtkscrollbar.c:
2608         gtk/gtkscrolledwindow.c:
2609         gtk/gtkseparator.c:
2610         gtk/gtkspinbutton.c:
2611         gtk/gtkstatusbar.c:
2612         gtk/gtktext.c:
2613         gtk/gtktoolbar.c:
2614         gtk/gtktooltips.c:
2615         gtk/gtktree.c:
2616         gtk/gtktreeitem.c:
2617         gtk/gtkvbbox.c:
2618         gtk/gtkvbox.c:
2619         gtk/gtkviewport.c:
2620         gtk/gtkvpaned.c:
2621         gtk/gtkvruler.c:
2622         gtk/gtkvscale.c:
2623         gtk/gtkvscrollbar.c:
2624         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
2625         match the modified GtkTypeInfo structure.
2626
2627 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
2628
2629         * gtk/testgtk.c: use rand() instead of random() for portability
2630
2631 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
2632
2633         * configure.in
2634         * acconfig.h
2635         * gdk/gdk.c: use native Xlib XConvertCase if it's available
2636
2637 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
2638
2639         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
2640         XConvertCase() functionality from X11R6 on X11R5 systems.
2641
2642 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
2643
2644         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
2645         gdk_string_height, gdk_char_height to retrieve the exact
2646         height of a text.
2647
2648 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
2649
2650         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
2651           by Stefan Mars <mars@lysator.liu.se>
2652         * examples/clist/clist.c examples/clist/Makefile: example code
2653           for GtkCList widget from the Tutorial
2654
2655 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
2656
2657         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
2658         if the container is not visible, we might be a toplevel! this holds
2659         for all other base container implementations as well, that are
2660         candidates to derive toplevels from. in general the resizing code will
2661         care about visibility itself.
2662         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
2663         * gtk/gtkbox.c (gtk_box_remove): likewise.
2664
2665         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
2666         gtk_window_set_hints(), since we haven't calculated the new position
2667         yet.
2668
2669         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
2670         *mask are alway initialized in a sane way, regardless of the return
2671         value.
2672
2673 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
2674
2675         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
2676         to gtk_container_child_arg_setv, but takes a variable argument list.
2677         new function gtk_container_get_child_arg_type, which is needed by
2678         gtk_object_collect_args.
2679
2680         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
2681         take a function pointer to figure the argument type.
2682         adapted callers to pass gtk_object_get_arg_type.
2683         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
2684         gtk_object_get_arg_type..
2685
2686         * gtk/gtkpacker.h: 
2687         * gtk/gtkpacker.c:
2688         (gtk_packer_reorder_child): new function to change the packing order
2689         of a child.
2690         (gtk_packer_size_request): 
2691         (gtk_packer_size_allocate): take container->border_width into acount.
2692
2693         * gtk/gtkpacker.c: implemented widget arguments:
2694         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
2695         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
2696         implemented child arguments:
2697         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
2698         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
2699         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
2700         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
2701
2702         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
2703         not the alignment.
2704
2705         * gtk/gtkeventbox.h:
2706         * gtk/gtkeventbox.c: GtkType and macro fixups.
2707
2708         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
2709         sensitivity of an entry.
2710
2711         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
2712         for insensitive base and text.
2713
2714         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
2715         widget state dependent.
2716         (gtk_entry_style_set): likewise.
2717         (gtk_entry_state_changed): set background color on state changes.
2718         (gtk_entry_draw_text): for non selected text, use state dependent
2719         colors.
2720
2721         * gtk/gtktogglebutton.c: support for widget arguments
2722         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
2723
2724 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
2725
2726         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
2727         code for 1.0.x-like parameters. Changed internal interface of
2728         gtk_spin_button_real_spin. Several fixes to avoid emission of
2729         "value_changed" where possible.
2730
2731 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
2732
2733         * gtk-boxed.defs: s/GkWidget/GtkWidget/
2734
2735 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
2736
2737         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
2738         to select the resize_mode for the idle-labels container.
2739
2740         * gtk/gtkframe.h: 
2741         * gtk/gtkframe.c: GtkType and macro corrections.
2742
2743         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
2744         support widget argument "GtkRadioButton::group".
2745
2746 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
2747
2748         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
2749         unconditionally if resize_mode has changed.
2750
2751         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
2752         GTK_RESIZE_QUEUE on the scrolled window.
2753         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
2754
2755 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
2756
2757         * gtk/gtkcontainer.h:
2758         * gtk/gtkcontainer.c:
2759         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
2760         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
2761         (gtk_container_queue_resize): new function to queue a container for
2762         a *size* reallocation (doesn't affect its position, and thus its
2763         parent is left untouched usually).
2764         (gtk_container_get_resize_container): new function to retrive the next
2765         most resize container which is not itself queued for a resize.
2766         (gtk_container_idle_sizer): new function to carefully process the
2767         container_resize_queue since it can change during invokation of
2768         gtk_container_check_resize().
2769         (gtk_container_resize_children): total rework of this function to
2770         properly handle resize containers. makes a lot of assumptions whitch
2771         are stated in the comments.
2772
2773         * gtk/gtkcontainer.c:
2774         (gtk_container_real_check_resize): only requeue ourselves if we are not
2775         a resize container.
2776         (gtk_container_clear_resize_widgets): care for automatic deletion of our
2777         resize_widgets list on size_allocate through a handler connection.
2778
2779         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
2780         focus and default widget of a window, so to take the burden from
2781         gtk_widget_unparent.
2782
2783         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
2784         to be clever, but actually messed up the resize_children logic and
2785         caused unneccessary allocations on its whole branch. besides this,
2786         it messed up the display by not invoking a redraw after the allocation.
2787
2788         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
2789         that it is the child again that is queued for a resize.
2790         (gtk_table_attach): likewise.
2791         (gtk_table_remove): likewise.
2792
2793 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2794
2795         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
2796         gtk_entry_adjust_scroll.  Required if you change the cursor
2797         position and want to sync it up with your code (Midnight Commander
2798         gtk front end needs this).
2799
2800         * gtk/gtktable.c: Deal with tables that have size 0, 0.
2801
2802 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
2803
2804         * examples/README.1ST: new file to explain how the
2805           code examples should be extracted from the tutorial.
2806
2807 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
2808
2809         * gtk/gtkctree.c (draw_row): added new "line style"
2810         GTK_CTREE_LINES_TABBED 
2811         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
2812         search the glist pointer of an GtkCTreeRow
2813
2814 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
2815  
2816         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
2817         from, and clean up, the dependencies.  Generate to intermediate
2818         files to prevent problems with Ctrl-C.
2819
2820         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
2821
2822 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
2823
2824         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
2825         - Bug fix for precision problem causing occasional double emission 
2826           of "value_changed" signal (hopefully works now).
2827         - API change (should be binary compatible) : 
2828           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
2829           Modified cursor example appropriately.
2830           To spin by something other than step_/page_increment, use
2831           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
2832         - Made GTK_SHADOW_NONE the default. ;)
2833         - Fixed casting of GtkAdjustment* to GtkWidget* in
2834           gtk_spin_button_value_changed.
2835
2836 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
2837
2838         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
2839         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
2840         resize widget list before queuing the container for a new reize.
2841         (gtk_container_need_resize): changed return value to FALSE, since this
2842         used to indicate that no further resizes are needed.
2843         (gtk_container_set_arg): 
2844         (gtk_container_get_arg): 
2845         (gtk_container_class_init): implemented GtkContainer::resize_mode
2846         argument.
2847
2848         (gtk_container_resize_children): when we walk up the tree of a resize
2849         widget we need to stop if we are the current parent.
2850
2851         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
2852         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
2853         (gtk_widget_hide_all): retrive the toplevel widget from via
2854         gtk_widget_get_resize_container().
2855
2856 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
2857
2858         * gtk/gtklist.c (gtk_list_button_press): Only respond
2859           to selection with button 1. This allows context-sensitive
2860           menus to work correctly.
2861
2862 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
2863
2864         * gtk/gtkaccelgroup.c: 
2865         * gtk/gtkbindings.c: 
2866         * gtk/gtkcontainer.c:
2867         * gtk/gtkitemfactory.c:
2868         * gtk/gtkobject.c: 
2869         * gtk/gtksignal.c:
2870         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
2871         g_quark_from_static_string calls to save memory.
2872
2873         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
2874         function _after_ the new data has been setup.
2875         minor changes to object data functions to feature the GQuark type.
2876
2877 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2878
2879         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
2880           from argv.
2881
2882 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
2883
2884         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
2885           to be more readable perl, to spit out stuff that looks
2886           more like readable C, and to pipe output through indent
2887           so output looks a lot like readable C. No functional
2888           changes.
2889
2890 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
2891
2892         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
2893           necessary when switching to a masked pixmap. (Based on a patch
2894           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
2895
2896 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
2897
2898         * gtk/gtkeditable.[ch]: Added action signals for keyboard
2899           bindings. (move_cursor, kill_word, etc, etc, etc). 
2900
2901           removed the time argument from
2902           gtk_editable_cut/copy/paste_clipboard (source but not
2903           binary incompatible...) Instead get time from
2904           gtk_get_current_event ().
2905         
2906         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
2907           signals.
2908
2909 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
2910
2911         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
2912
2913         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
2914              parent class to GtkNotebookClass when splitting the widget in
2915              two.  Also updated some comments.
2916
2917         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
2918                button without a font selected.
2919
2920              Fixed bug in set_font_name - I hadn't updated the code to
2921                search for the style in the font_style clist - it was
2922                still assuming the style row was equal to its index,
2923                but it isn't any more.
2924         
2925              Changed 'Reset' button on filter page to 'Clear Filter'.
2926              Deleted old code relating to the old 'Filter Fonts' toggle
2927              Updated some comments.
2928              Cleared 'Actual Fontname' if no font is set.
2929
2930         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
2931              destroying the GtkFontSelection instead of the
2932              GtkFontSelectionDialog.
2933
2934 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
2935
2936         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
2937           flag to make all warnings fatal errors.
2938
2939         * gtk/testthreads.c: moved <pthreads.h> include inside 
2940           #ifdef USE_PTHREADS
2941
2942 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
2943
2944         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
2945           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
2946
2947         - Added new function gtk_container_set_resize_mode() for
2948           fine-grained control of where resize-queueing is done.
2949
2950         - Removed GtkContainer::need_resize and GtkWindow::move_resize
2951         - Added GtkContainer::check_resize to replace need_resize.
2952
2953         - Added function gtk_container_check_resize() to trigger
2954           queued resizes, and gtk_container_resize_children() to
2955           Figure which children need to be size-allocated. (logic
2956           moved from gtkwindow.c)
2957
2958         - Reorganized code in gtkwindow.c
2959         
2960         - Set the resize-mode for viewports so that resizes within
2961           a viewport don't propagate out of it. 
2962         
2963 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2964
2965         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
2966
2967         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
2968         g_return_val_if_fail, because the function *does* return a value.
2969
2970 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
2971
2972         * gtk/gtkaccellabel.h:
2973         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
2974         request the size of the accelerator portion of an accel label.
2975         (gtk_accel_label_size_request): don't request for the accelerators size.
2976         (gtk_accel_label_expose_event): only draw the accelerator if we got
2977         enough extra space.
2978
2979         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
2980         width from children.
2981
2982         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
2983         object (after removal has been requested) check if there is still an
2984         accelerator remaining to avoid adding two accelerators on an object.
2985         this can happen for locked accelerators (or accelerator-frozen widgets).
2986         (gtk_menu_size_request): feature childrens accelerator width in size
2987         requests.
2988
2989         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
2990         gtk_widget_freeze_accelerators() for dynamically created menu items.
2991
2992         * gtk/gtksignal.h: 
2993         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
2994         which will return a handler_id > 0 if the specified function is pending
2995         for `signal_id'.
2996
2997         * gtk/gtkwidget.h:
2998         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
2999         a signal handler function to stop accelerator addition.
3000         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
3001         which will prevent (undo) any accelerators from being added to or
3002         removed from a widget.
3003
3004 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
3005
3006         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
3007         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
3008         acceleration, new API gtk_spin_button_set_snap_to_ticks.
3009
3010 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
3011
3012         * gdk/gdk.h:
3013         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
3014         the current GdkWindow the pointer is on if there is any.
3015         
3016         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
3017         and one column, so we don't construction logic at all. changed a few
3018         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
3019         unsigned int wraps.
3020
3021         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
3022         portion, added an additional check for parent != widget.
3023
3024         * more GtkType and macro fixups.
3025
3026 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3027
3028         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
3029         "clip" parameter, which is the clipping rectangle to use.  This
3030         eliminates the extremely annoying flicker when exposing parts of
3031         the handlebox.
3032
3033 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
3034
3035         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
3036         resizing
3037
3038 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
3039
3040         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
3041         != 0 on the argument.
3042
3043         * gtk/gtktable.h: 
3044         * gtk/gtktable.c: new function gtk_table_resize() which allowes
3045         shrinking and expanding of tables. implementation of widget arguments
3046         and child arguments. many signedness corrections.
3047
3048 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
3049
3050         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
3051         not only the child, otherwise we might end up taking away other
3052         childrens space after the resize.
3053
3054         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
3055         an unknown menu path from any source, that path must always be flagged
3056         as "modified", since we don't really know whether it has its default
3057         value or not.
3058
3059         * gtk/gtktree.c:
3060         * gtk/gtkpacker.c:
3061         * gtk/gtknotebook.c:
3062         * gtk/gtkmenushell.c:
3063         * gtk/gtklist.c:
3064         * gtk/gtkpaned.c:
3065         * gtk/gtkfixed.c: 
3066         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
3067
3068         * gtk/gtkbox.h: 
3069         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
3070         arguments. implemented child arguments.
3071
3072         * more GtkType and macro fixups.
3073
3074 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
3075
3076         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
3077
3078         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
3079         and gtk_clist_get_hadjustment.
3080
3081         * gtk/gtkcontainer.c:
3082         implementation of children arguments, new class member functions
3083         (child_type), (get_child_arg) and (set_child_arg) plus a new field
3084         n_child_args.
3085         (gtk_container_child_type): new function which returns the type of a
3086         child that the container expects for its next addition.
3087         (gtk_container_add_child_arg_type): new function to introduce a new
3088         child argument at class creation time.
3089         (gtk_container_query_child_args): new function to query all child
3090         arguments that are supported by a container class.
3091         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
3092         child argument.
3093         (gtk_container_child_arg_setv): new function to set a child argument for
3094         a certain container and child combination.
3095         (gtk_container_add_with_args):
3096         (gtk_container_add_with_argv): new functions to feature addition of a
3097         new child in combination with the setting of certain child arguments.
3098
3099         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
3100         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
3101         this should really be done through class cretion hooks some day.
3102
3103         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
3104         guint : 16.
3105
3106         * gtk/gtkpacker.h:
3107         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
3108         follow the gtk convention for lower case variable names (important
3109         for language wrappers and widget arguments), and made them guint : 16.
3110
3111         * examples/packer/pack.c: adaptions for the case converted GtkPacker
3112         fields.
3113
3114 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
3115
3116         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
3117         change the character pair for single line comments.
3118         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
3119         GtkItemFactoryClass.
3120         (gtk_item_factory_parse_rc_string): likewise.
3121
3122 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
3123
3124         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
3125         lists from the klass structure to a static structure
3126         in gtkfontsel.c; cleans up global the namespace.
3127
3128 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3129
3130         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
3131         bug with /*< skip >*/ and remove warning.
3132         
3133 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
3134
3135         * gtk/Makefile.am: Made the gtkmarshal.* generation
3136         rules maintainer-only.
3137
3138 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
3139
3140         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
3141           gtk/Makefile.am gtk/makenums.pl 
3142
3143         Removed out the G_ENUM/FLAGS mechanism in favor
3144         of a perl script that parses the standard headers
3145         (with occasional /*< nick=foo >*/ style overrides)
3146         and extracts the enumerations.
3147
3148           gtk/maketypes.awk: Small improvments to the
3149           translation of names. (Avoid splitting gc into
3150           g_c_.)
3151         
3152 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
3153
3154         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
3155         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
3156         
3157 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
3158
3159         * gtk/gtkentry.c:
3160         - Restored gtk_entry_adjust_scroll to static 
3161         - Changed text positioning code so that we always
3162           display as large a portion of the text as possible.
3163
3164 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
3165
3166         * gtk/gtktext.c (gtk_text_finalize): Free internal
3167         structures of text widget. Also, unreference pixmaps
3168         when unrealizing.
3169         
3170 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
3171
3172         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
3173         3.3.1 bug workaround to number keys starting at 1.
3174
3175 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
3176
3177         * docs/gtk_tut.sgml: Fixed urls for complete example
3178         source for scribble+widget-writing examples.
3179
3180 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
3181
3182         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
3183         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
3184         specs of the form c #abcdef [ more keys ] properly.
3185
3186 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
3187
3188         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
3189         (gtk_spin_button_set_shadow_type):
3190         New API to set the shadow type of the arrow panel.
3191
3192 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
3193
3194         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
3195         code for drawing the child in two places at once. Unfortunately,
3196         not only does it not work anymore (because reparenting has
3197         been fixed), but it also triggers reparent/expose loops
3198         in some cases.
3199
3200         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
3201         an unecessary unrealize.
3202
3203 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
3204
3205         * gdk/gdkwindow.c (gdk_window_reparent): Update the
3206           old and new parents' child window lists properly.
3207
3208 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
3209
3210         * gtk/gtkpacker.h:
3211         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
3212         and GtkSideType, to be consistent with the rest of Gtk's enum
3213         definitions. wrapped the enum definitions with the G_ eunm wrappers.
3214         spelled out the GTK_ANCHOR_* enum values, since single letters don't
3215         work out corectly as nick-names (left the old values as aliases).
3216         some signdness corrections (border-width, spacing), could stand more.
3217
3218 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3219
3220         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
3221           Added gtkpacker
3222
3223         * examples/packer/pack.c, examples/packer/Makefile: Added
3224           gtkpacker example
3225
3226 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
3227
3228         * gtk/gtktext.c (remove_cache_line): Fixed broken
3229         list-removal code.
3230
3231         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
3232         Check bounds before deleting.
3233
3234 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
3235
3236         * autogen.sh: Support ACLOCAL_FLAGS
3237
3238 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
3239
3240         * gtk-config.in: Added missing quotes.
3241
3242 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
3243
3244         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
3245
3246 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
3247
3248         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
3249         G_COMPILED_WITH_DEBUGGING.
3250
3251         * configure.in (fd_set): Explain check better.
3252
3253         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
3254         the version from which gtk+'s libtool forked.  Needed for people
3255         who use post-1.2 alphas of libtool.
3256
3257 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
3258
3259         * glib/* Moved to glib module
3260
3261         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
3262           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
3263
3264           configuration changes for the above:
3265          
3266           - Use AM_PATH_GLIB by default to find glib; also accept
3267             a --with-glib option for using an uninstalled glib.
3268          
3269           - Put --enable-debug information into config.h so
3270             that we rebuild when it changes. (was in glibconfig.h)
3271
3272 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
3273
3274         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
3275
3276         * gtk/gtknotebook.h (struct _GtkNotebookClass):
3277         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
3278         added missing argument (according to Joseph Coleman's bug report)
3279
3280         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
3281         function to fix notebook focus handling
3282         
3283 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
3284
3285         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
3286           glib/gutils.c glib/testglib.c glib/gdataset.c
3287           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
3288           gtk/gtktext.c gtk/gtkbindings.c:
3289
3290          renamed g_const_pointer => gconstpointer
3291
3292 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
3293
3294         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
3295         invoked with (NULL, NULL); (this worked sometime ago).
3296
3297         * gtk/gtktypeutils.h: 
3298         * gtk/gtktypeutils.c: enum and flags type creation can now be done
3299         through gtk_type_register_enum() and gtk_type_register_flags(),
3300         which allow to specify the enum value arrays directly.
3301         the NULL terminated value arrays can be retrived through
3302         gtk_type_enum_get_values() and gtk_type_flags_get_values();
3303         (gtk_type_children_types): new function to query derived types.
3304
3305 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
3306
3307         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
3308         environment to genmarshal.pl.
3309         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
3310         rule), and removed it where not needed (in the dependencies).
3311
3312         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
3313
3314 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
3315
3316         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
3317         was just g_direct_hash.
3318
3319 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
3320
3321         * configure.in: x_libs=, not $x_libs=. Enough said.
3322           (Case only hit for --disable-xshm)
3323         
3324 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
3325
3326         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
3327           when testing for X libraries, don't replace them. Because
3328           the user might have specified the path to the X libraries
3329           themself before running configure.
3330
3331         * examples/**.c: Changed all gpointer * to gpointer
3332         
3333 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3334
3335         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
3336         fleur_cursor field.  Now the cursor is created/destroyed on demand
3337         by the routines that need it.
3338
3339         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
3340         (gtk_handle_box_motion): The fleur cursor is created and destroyed
3341         only when needed.
3342
3343 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
3344
3345         * gtk/gtktypeutils.h: 
3346         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
3347         gtk_enum_set_values to gtk_type_enum_get_values and
3348         gtk_type_enum_set_values respectively, since they are actually type
3349         system features.
3350
3351         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
3352         my last commit. ;)
3353
3354 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
3355
3356         * gtk/gtkselection.h: 
3357         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
3358         gtk_selection_data_free.
3359
3360         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
3361         for "selection_received", which was completely bogus.
3362         * other fixups to gtk_signal_new() calls all over the place.
3363
3364         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
3365         * gtk/gtktypebuiltins_vars.c: type variable implementations.
3366         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
3367         declarations.
3368         * gtk/gtktypebuiltins_evals.c: enum value arrays.
3369         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
3370         gtk.defs.
3371         * gtk/gtk.defs: generated file with scheme syntax for type definitions
3372         of gtk and gdk structures and enums.
3373         * gtk/gtktypeutils.h: 
3374         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
3375         macros anymore (this fixes binary incompatibility with new enum
3376         definitions).
3377
3378         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
3379         key bindings for this widget.
3380         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
3381         handler.
3382
3383         * gtk/gtkobject.h:
3384         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
3385         again. new functions gtk_object_class_user_signal_new () and
3386         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
3387         flag on the signal creation.
3388
3389 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
3390
3391         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
3392
3393 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
3394
3395         * gdk/gdkprivate.h: 
3396         * gdk/gdktypes.h: 
3397         * gtk/gtkprivate.h: 
3398         * gtk/gtkwidget.h: 
3399         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
3400
3401         * reworked enum value array generation code. gtk.defs is a generated
3402         file now.
3403
3404 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
3405
3406         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
3407         check menu items in the compatibility code (this required me to remove
3408         the "<check>" part from the menu item name, grrr).
3409
3410 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
3411
3412         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
3413         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
3414         
3415 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
3416
3417         * gtk/gtkitemfactory.h: 
3418         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
3419         additions to the dumping code to feature GtkPatternSpec.
3420         even found a bug to fix in the original code ;)
3421         
3422 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
3423
3424         * gtk/gtkitemfactory.c: support different types of callbacks, to
3425         maintain existing code.
3426
3427 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
3428
3429         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
3430
3431         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
3432         this should eventually be done by gentypeinfo.el somewhen.
3433         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
3434
3435         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
3436         enum values of an enum type.
3437
3438         * gtk/gtk.defs:
3439         * gtk/gtkcurve.h: 
3440         * gtk/gtkobject.h: 
3441         * gtk/gtkprivate.h: 
3442         * gtk/gtkwidget.h:
3443         * gtk/gtkenums.h: 
3444         brought enum/flags definitions in sync, added a few more enum
3445         definitions for bindings and pattern matching.
3446
3447         * some more macro and GtkType fixups in various places.
3448
3449         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
3450         as a key-release modifier for the binding system.
3451
3452 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
3453
3454         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
3455         was a stale list pointer that is already present in GtkMenuShell.
3456
3457         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
3458         GtkMenuShell::selection_done which is emitted after the menu shell
3459         poped down again and all possible menu items have been activated.
3460
3461 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
3462
3463         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
3464         before activation of the menuitem, so the menu is actually taken off the
3465         screen prior to any menu item activation.
3466
3467         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
3468         for NULL nodes.
3469
3470         * gtk/gtkwidget.h:
3471         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
3472         the emission of the "add-accelerator" signal on a widget. this is
3473         usefull to prevent accelerator installation on certain widgets.
3474
3475         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
3476         labels left justified, by setting their alignment. stop accelerator
3477         installation for the menu items, since we use dynamic menus.
3478
3479 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
3480
3481         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
3482         should *really* use GtkItemFactory. this is only for preserving source
3483         compatibility where possible, use of GtkMenuFactory is deprecated as of
3484         now.
3485
3486         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
3487         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
3488         missed this possibility when i added gtk_object_class_add_user_signal
3489         in late january.
3490
3491         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
3492
3493 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
3494
3495         * gtk/gtkaccelgroup.h: 
3496         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
3497
3498         * gtk/gtkaccellabel.h: 
3499         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
3500         display of the accelerators associated with a certain widget.
3501
3502         * gtk/gtkitemfactory.h: 
3503         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
3504         parsing and accelerator handling.
3505
3506         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
3507         positioning a menu.
3508         (gtk_menu_map): removed the allocation code.
3509         (gtk_menu_size_allocate): care for redrawing of children and resize
3510         our widget->window correctly.
3511         (gtk_menu_key_press): feature the new accelerator groups.
3512
3513         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
3514         submenu if neccessary.
3515
3516         * gtk/gtkmenuitem.c:
3517         * gtk/gtkcheckmenuitem.c:
3518         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
3519         function variants.
3520
3521         * gdk/gdk.c:
3522         (gdk_keyval_from_name): 
3523         (gdk_keyval_name): new functions for keyval<->key-name associations.
3524         (gdk_keyval_to_upper): 
3525         (gdk_keyval_to_lower): 
3526         (gdk_keyval_is_upper): 
3527         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
3528         regards to their cases.
3529
3530 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
3531
3532         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
3533         widget's class path.
3534         (gtk_widget_path): new function to calculate a widget's name path.
3535
3536         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
3537         pattern matching, features reversed pattern matches.
3538
3539 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
3540
3541         * examples/extract.sh, examples/extract.awk:
3542           New files to automagically extract code examples from the
3543           tutorial.
3544
3545 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
3546
3547         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
3548         * gtk/gtkcontainer.c (gtk_container_focus_move):
3549         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
3550
3551 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
3552
3553         * docs/gtk_tut.sgml: minor changes to support auto
3554           extraction of example code
3555
3556 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
3557
3558         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
3559           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
3560
3561 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
3562
3563         * docs/gtk_tut.sgml:
3564           - new section on Events
3565           - change all delete_event callbacks to include
3566             a GdkEvent parameter
3567           - clean up the formatting
3568
3569         * examples - helloworld.c, helloworld2.c, notebook.c,
3570           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
3571           rulers.c, table.c, wheelbarrow.c: change all delete_event
3572            callbacks to include a GdkEvent parameter.
3573
3574 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3575
3576         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
3577         field of crossing events.
3578         (struct _GdkEventCrossing): Added the following fields: time, x,
3579         y, x_root, y_root, mode, focus, state.
3580
3581         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
3582         crossing event structure.
3583
3584         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
3585         changes to the crossing event structure.
3586
3587 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
3588
3589         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
3590
3591 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
3592
3593         * docs/gtk_tut.sgml:
3594            - GtkTooltips, update to current API
3595            - change all 'gpointer *data' to 'gpointer data'
3596            - other minor changes
3597
3598 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
3599
3600         * configure.in (LDFLAGS): Bomb out with a moderately
3601           helpful message if detection of X libraries fails.
3602
3603 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
3604
3605   [ Combination of:
3606      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
3607      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
3608
3609         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
3610           gtk/gtksignal.c gtk/gtktext.c: 
3611
3612           Fixups for warnings from adding const to type of GHashFunc,
3613           GCompareFunc
3614         
3615         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
3616           ansi-warnings fixups.
3617
3618 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
3619
3620         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
3621         Locate child at (border_width,border_width), not
3622         (2*border_width,2*border_width). [ The border is _outside_
3623         widget->window ]
3624         
3625         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
3626           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
3627
3628 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3629
3630         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
3631         used in gnome-libs
3632
3633 1998-05-22    <sopwith@redhat.com>
3634
3635         * gtk/gtkeventbox.c: Pass size_allocate on to the child
3636         regardless of whether it is visible or not. Also
3637         locate child at (border_width,border_width), not (0,0)
3638
3639 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
3640
3641         * gtk/gtkhandlebox.c: Added style_set handler.
3642
3643 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
3644  [ From: Chris Lahey  <clahey@umich.edu> ]
3645         
3646         * gtk/gtkeditable.c, gtk/gtkeditable.h,
3647           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
3648           and set_position functions to get and set the cursor position.
3649
3650         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
3651           signal status. Make GtkText do user-controlled insertion
3652           and deletion through the Editable widget so that these
3653           signals are properly emitted.
3654
3655         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
3656           display asterisks instead of empty space when visible = FALSE)
3657
3658 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
3659
3660         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
3661         signal.
3662
3663 1998-05-21    <sopwith@redhat.com>
3664
3665         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
3666         custom routine for loading images specified in gtkrc's.
3667
3668 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
3669
3670         * configure.in: Use pthread_attr_init() as a test function,
3671         since most of the rest of -lpthread is macros on DU4.
3672
3673 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
3674
3675         * gtk/gtkcombo.c: implemented completion in the entry.
3676
3677 1998-05-18    <sopwith@moebuis.labs.redhat.com>
3678
3679         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
3680
3681 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
3682
3683         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
3684         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
3685         to be of runtype GTK_RUN_LAST.
3686
3687         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
3688         "need-resize".
3689
3690         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
3691         "widget-selected".
3692
3693 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
3694
3695         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
3696         text retrived from GtkEntry. only intercept the Tab key if there
3697         was some text to complete.
3698
3699 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
3700
3701         Basic thread-awareness:
3702
3703         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
3704
3705         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
3706         gdk_threads_[init/enter/leave] for applications, plus
3707         gdk_threads_wake to wake the mainloop thread out of
3708         the select().
3709
3710         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
3711
3712 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
3713
3714         * gtk/testgtk.c (list_clear): Account for the fact
3715         that gtk_list_clear_items is not inclusive. (Clears
3716         [start, end))
3717
3718 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
3719
3720         * gdk/gdk.c: include gdkkeysyms.h always
3721         
3722
3723 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
3724
3725         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
3726         the visibility_notify_event method and changed method order.
3727
3728 1998-05-14    <sopwith@moebuis.labs.redhat.com>
3729
3730         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
3731
3732 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
3733
3734         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
3735         from Olli Helenius <ollhel@batman.jytol.fi>.
3736
3737         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
3738         freeing types.
3739         (gtk_type_set_chunk_alloc): new function to allow allocation of new
3740         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
3741         thorugh g_malloc).
3742
3743         * gtk/gtkobject.c (gtk_object_finalize): free an object through
3744         gtk_type_free().
3745
3746         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
3747         GtkButtons to 16.
3748         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
3749         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
3750
3751 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
3752
3753         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
3754           GPOINTER_TO_UINT fixes.
3755
3756         * gtk/gtksignal.c: Include <string.h> for memset.
3757
3758 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
3759         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
3760
3761         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
3762         Cleanups, comments and the ability to have rulers with 
3763         a reversed direction.
3764
3765 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
3766
3767         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
3768         that Sopwith missed when changing stat => lstat.
3769
3770 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
3771
3772         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
3773           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
3774         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
3775
3776         * gdk/gdk.c: Print sizeof() results
3777         as g_print("%ld", (glong)sizeof(foo)), to deal with
3778         sizeof() being long on Alpha's.
3779
3780         * gtk/testgtk.c: include <string.h> for strlen
3781
3782 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
3783         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
3784         
3785         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
3786         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
3787
3788         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
3789
3790 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3791         (From: Christopher James Lahey <clahey@umich.edu>)
3792         
3793         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
3794           gtk/testgtk.c:
3795
3796         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
3797         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
3798         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
3799         the default relief for the toolbars buttons. Added an
3800         toggle for the toolbar test in testgtk.c.
3801
3802 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
3803
3804         * docs/gtk-config.1: Rewritten and hopefully improved.
3805
3806 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
3807
3808         * docs/Makefile.am
3809         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
3810
3811 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3812
3813         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
3814         GtkPreview's visual and colormap, otherwise things can BadMatch.
3815
3816         * gtk/testgtk.c (create_color_preview): 
3817         (create_gray_preview): Removed pushing/popping of visual/colormap
3818         now that GtkPreview does things correctly.
3819
3820         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
3821         (gtk_color_selection_draw_wheel): Pick the style from the correct
3822         place (the colorsel->wheel_area widget) so that the GCs will match
3823         with where we are going to paint to.
3824
3825         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
3826         of visual/colormap now that GtkColorSelection does things the
3827         right way.
3828
3829 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
3830
3831         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
3832         previously unused window->need_resize flag to mark if a window's
3833         descendents changed size while the window was not visible. In this
3834         case, when the window becomes visible, we reallocate everything,
3835         since we didn't keep track of what actually changed.
3836
3837         (Fixes bug where changing the popdown strings of a
3838         combo to something of the same length caused them to
3839         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
3840
3841 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
3842
3843         [security audit by Alan Cox]
3844
3845         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
3846         exceed maximum assumed size.
3847
3848         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
3849         not exceed maximum assumed size.
3850         (gtk_menu_factory_remove): likewise.
3851         (gtk_menu_factory_find_recurse): likewise.
3852
3853 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
3854
3855         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
3856         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
3857         redrawn if that is still neccessary. don't allow queueing of already
3858         destructed objects.
3859         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
3860         widgets which are in the queue can be destroyed safely, handle
3861         requeueing properly.
3862         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
3863         widgets which are in the queue can be destroyed/unrealized safely.
3864
3865 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
3866
3867         * gtkfaq.sgml: add question on multi-threading,
3868           minor URL cleanups.
3869
3870 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
3871
3872         * configure.in (cflags_set): preserve automake CFLAGS.
3873
3874         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
3875         and libgdk-1.1.la. this means we need to change certain portions of
3876         the Makefile.am on major/minor version bumps.
3877
3878         * ltmain.sh: the -release option is not required anymore.
3879         
3880         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
3881         of the first argument to be of type GtkObject. unconditionally compile
3882         this function. removed __GNUC__ dependancy of the gtk_object_ref and
3883         gtk_object_unref macro wrappers for this function.
3884
3885 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
3886
3887         * gtk/gtkobject.h:
3888         * gtk/gtkobject.c:
3889         (gtk_object_data_try_key):
3890         (gtk_object_data_force_id): these are now macros substituting the old
3891         functions. we just use the corresponding g_dataset_* functions for
3892         key->id associations. (this is to assure unique key<->id associations).
3893
3894 1998-05-10  Stefan Jeske  <stefan@gtk.org>
3895
3896         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
3897         to gboolean.
3898
3899         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
3900
3901 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
3902
3903         * configure.in (LIBS): Try to figure out if this
3904         is Digital Unix and we need -std1 to get the
3905         right prototypes.
3906
3907 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
3908
3909         * docs/gtk_tut_it.sgml: update of Italian tutorial
3910           translation from Daniele Canazza <dcanazz@tin.it>
3911
3912 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
3913
3914         * gtk/gtkfeatures.h.in: new file used as template for
3915         * gtk/gtkfeatures.h: new file to define macros indicating newly
3916         introduced features, such as GTK_HAVE_SIGNAL_INIT.
3917
3918         * gtk/gtksignal.c:
3919         (gtk_signal_emitv_by_name):
3920         (gtk_signal_emitv):
3921         new functions to emit signals with an already provided parameter set.
3922         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
3923         (gtk_signal_real_emit): prototype changes, so this functions always
3924         gets its parameters and signal structure as arguments.
3925         (gtk_signal_emit): provide the signal structure and parameter list for
3926         gtk_signal_real_emit.
3927         (gtk_signal_emit_by_name): likewise.
3928
3929 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
3930
3931         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
3932         signal connections through unsetting GTK_CONNECTED.
3933         (gtk_signal_handler_insert): reflect the presence of signal connections
3934         through setting GTK_CONNECTED.
3935         (gtk_signal_real_emit): only check for handler emissions if the object
3936         has the GTK_CONNECTED flag set.
3937         (gtk_signal_handler_pending): don't check for pending handlers if the
3938         GTK_CONNECTED flag is not set for this object.
3939
3940         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
3941         a GtkObject has signal handler connections.
3942
3943         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
3944         set for this object call gtk_signal_handlers_destroy().
3945         
3946         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
3947         multiple processing of macro args.
3948
3949         * gtk/gtktypeutils.c:
3950         * gtk/gtkobject.c:
3951         * gtk/gtkwidget.c:
3952         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
3953
3954 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
3955
3956         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
3957         draw-queue when we are done. 
3958
3959         (gtk_widget_queue_draw/_queu_resize): Always return
3960         FALSE and avoid having two idles at the same time.
3961         
3962 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
3963
3964         * gtk/gtktext.c: Various fixes to make sure cache
3965         lines are freed if line_start_cache doesn't point to the
3966         beginning of the cache.
3967
3968 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
3969
3970         * style_set improvements for GtkText and GtkEntry
3971
3972 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
3973
3974         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
3975         been initialized.
3976
3977 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
3978
3979         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
3980         data chunks through a global object data structure list. unlink
3981         object data before invoking its destroy function.
3982         (gtk_object_finalize): slight modification to allow usage of object
3983         data during object finalization.
3984
3985 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
3986
3987         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
3988         signal names, e.g. "signal-name" is now an alias for "signal_name".
3989         (gtk_signal_handler_new): allocate handlers through a global handler
3990         structure list, that's faster than memchunks.
3991         (gtk_emission_new): allocate emissions through a global emission
3992         structure list, that's faster than memchunks.
3993
3994 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3995
3996         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
3997
3998         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3999         but will immediately change the library name.
4000
4001         * gdk/Makefile.am:
4002         * gtk/Makefile.am: specify -postfix and -version-info
4003
4004         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
4005         GTK_BINARY_AGE. calculate LT_* variables for libtool.
4006
4007 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4008
4009         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
4010         background (fg_set -> bg_set confusion).
4011
4012 1998-05-06  Stefan Jeske  <stefan@gtk.org>
4013
4014         * gtk/testgtk.c (unselect_all): Removed code that caused an
4015         endless loop.
4016
4017 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
4018
4019         * gtk/gtksignal.c: reimplemented the signal storage system to use a
4020         linear array rather than a hash table.
4021         be carefull *not* to keep any GtkSignal pointers across invokations
4022         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
4023         general code cleanups, made all allocations through memchunks.
4024         (gtk_signal_lookup): we now do the lookup of signals through a key_id
4025         for the signal names to avoid multiple hashing of the signal name on
4026         lookups for the several hirarchy levels of an object.
4027
4028 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
4029
4030         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
4031         to speed things up and remove code duplication.
4032
4033         Reintegrated buffer overflow patches, and added
4034         some extra paranoia.
4035         
4036 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
4037
4038         * gdk/gdk.c (gdk_event_translate): A guint * was
4039         being passed where X expected a Keysym *, and
4040         keysyms are long's on Alpha Linux. This was causing
4041         segfaults in Xlib, apparently because of alignment.
4042         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
4043         
4044 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
4045
4046         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
4047         set GDK_EXPOSURE_MASK for DrawingAreas
4048
4049 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
4050
4051         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
4052         (superceded by RC file reparsing capabilities)
4053
4054         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
4055         events. (Shouldn't be sent to the InputOnly leader, which
4056         it is now by gdk_event_send_clientmessage_toall
4057
4058         * gtk/testgtk.c: Added extra button to rcfiles test
4059         to send out _GDK_READ_RCFILES events.
4060         
4061 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
4062
4063         * gtk/gtkselection.c (gtk_selection_clear): Fixed
4064         reversed conditionals that caused segfault on some
4065         platforms.
4066
4067 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
4068
4069         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
4070         cast to GTK_OBJECT for gtk_object_ref.
4071
4072 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
4073
4074         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
4075         checking for signal initialization in gtksignal.c.
4076
4077         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
4078         a long debugging period ;)
4079
4080 1998-05-05  Stefan Jeske  <stefan@gtk.org>
4081
4082         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
4083         New function to wrap XSetDashes; modified gtkctree.c to use it.
4084
4085 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4086
4087         * configure.in: Added $x_libs in the other_libraries field in the
4088         check for XShapeCombineMask.
4089
4090 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
4091
4092         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
4093         gtk_type_is_a().
4094         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
4095         linear array rather than a hash table. it actually speeded up testgtk
4096         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
4097         pointers across invokations of gtk_type_node_next_and_invalidate() and
4098         therefore gtk_type_unique()!
4099
4100         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
4101         inheritance of a class pointer.
4102         (GTK_OBJECT): modifications for speedups.
4103         (GTK_IS_OBJECT): likewise.
4104         (GTK_OBJECT_CLASS): likewise.
4105         (suggested by owen).
4106
4107         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
4108
4109         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
4110
4111         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
4112         since its derivation changed 4 month ago ;(. showed up with the unique
4113         type name checking code in gtk_type_unique().
4114
4115         * random guint->GtkType and macro fixups.
4116
4117 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
4118
4119         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
4120         Configure events that would result in a negative
4121         size.
4122
4123 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
4124
4125         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
4126         "glibconfig.h" and another about writing another IRC
4127         client.
4128
4129 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
4130
4131         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
4132         parameters to log are doubles. Digital Unix apparently
4133         is missing the argument in its prototype.
4134
4135 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
4136
4137         * gtk/gtklabel.c (gtk_label_state_changed): Don't
4138         force a clear until the widget is actually on
4139         screen.
4140
4141 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
4142
4143         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
4144         to make this consistent with the gtk-1-0 tree.
4145
4146 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
4147
4148         * configure.in acheader.h gdk/gdkwindow.c 
4149         Check for Shape extension both on the client and server
4150         side. (And, more importantly, check for the shape extension
4151         so we may include -lXext even when compiling with --disable-xshm)
4152
4153         Don't set override_redirect on all shaped windows. It isn't
4154         necessary.
4155
4156         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
4157         and foreign windows. Use this to check if we
4158         need to get the colormap from X.
4159
4160 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
4161
4162         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
4163         between the default and the button always in GTK_STATE_NORMAL.
4164
4165         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
4166         callback.
4167
4168 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
4169
4170         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
4171           Fix a buffer overflow on pixmaps that claim to have
4172           more than 31 characters per pixel.
4173
4174           (gdk_pixmap_read_string): Don't wrap around strings longer
4175           than half of address space ;-)
4176
4177         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
4178         that were used for printing integers.
4179
4180         * */* (almost):
4181
4182         Style: All 
4183           int foo () { ... }
4184         changed to
4185           int foo (void) { ... }
4186
4187         Even where there were proper prototypes elsewhere.
4188
4189         * gdk/gxid.c (handle_claim_device): Some extra checks.
4190         It isn't safe against being fed bad X id's, but at
4191         least it should be safe against deleting all your
4192         files.
4193
4194 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
4195
4196         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
4197         to set the adjustments value when there is no current emission.
4198         [ Removed by mutual agreement owt 5/3/1998 ]
4199
4200         * gtk/gtksignal.c: added new functions to retrive the number of
4201         existing emissions for a certain signal.
4202         (gtk_signal_n_emissions): new function.
4203         (gtk_signal_n_emissions_by_name): new function.
4204
4205 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
4206
4207         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
4208         set the current focus_child of a container, does proper referencing and
4209         adjusts the vadjustment/hadjustment associated with the focus widget.
4210
4211         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
4212         containers via gtk_container_set_focus_child.
4213
4214         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
4215         where appropriate.
4216
4217         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
4218         child since not every child removal goes through this function (this
4219         showed up after gtk_container_set_focus_child() started to reference the
4220         focus_child of a container).
4221
4222         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
4223         of a container from gtk_container_remove into this place.
4224
4225 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
4226
4227         * gtk/gtksignal.c: added new functions to operate on intermediate
4228         function pointers. implemented incremental blocking.
4229         (gtk_signal_disconnect_by_func): new function.
4230         (gtk_signal_handler_block_by_func): new function.
4231         (gtk_signal_handler_unblock_by_func): new function
4232
4233 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
4234
4235         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
4236         Always show the scrollbars when the policy is
4237         GTK_POLICY_ALWAYS...
4238
4239 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
4240
4241         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
4242         "value_changed" if we really passed a new value.
4243         (gtk_adjustment_changed): new function to emit the "changed" signal.
4244         (gtk_adjustment_set_value): new function to emit the "value_changed"
4245         signal.
4246
4247 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
4248
4249         * gtk/gtkcombo.c: Further changes to the way the window
4250         is popped up so that it will be compatible with 
4251         auto-scrolling in the future.
4252
4253 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
4254
4255         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
4256         the combo-list is empty since that will cause the combo to operate
4257         on a non existing GtkList window.
4258         (gtk_combo_get_pos): provide the combo list with a usfull default
4259         height if empty.
4260         (gtk_combo_popup_button_press): grab the focus.
4261         (gtk_combo_activate): grab the focus.
4262
4263 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
4264
4265         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
4266         function to reset the RC styles for a heirarchy
4267
4268         Clear the window background if necessary in
4269         gtk_window_style_set.
4270
4271         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
4272         rereads all previously read RC files.
4273
4274         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
4275         (Should it just be called gdk_get_toplevels?)
4276
4277         * gtk/testgtk.c: New test to reload RC files.
4278
4279 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
4280
4281         * gtk/gtkclist.h:
4282         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
4283         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
4284         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
4285         the GTK_ prefix (this solution involved less changes in the
4286         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
4287         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
4288         from lars & stefan to support the derivation of GtkCtree.
4289
4290         * gtkctree.h:
4291         * gtkctree.c:
4292         initial import of a tree widget derived from gtkclist, courtesy
4293         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
4294         it just damn rocks!
4295
4296 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
4297
4298         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
4299         for us.
4300         (gtk_list_insert_items):
4301         (gtk_list_remove_items_internal): 
4302         (gtk_list_clear_items): 
4303         remove a possible pointer grab, we might get thrown into a loop
4304         otherwise.
4305         (gtk_list_button_press): grab the pointer *before* selecting the child,
4306         because selection of items may cause the lists children to change,
4307         resulting in a grab release.
4308         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
4309         children.
4310         (gtk_list_shutdown): remove all children from the list.
4311         (gtk_real_list_unselect_child): 
4312         (gtk_real_list_select_child): *always* put our internal structures into
4313         sane state *before* signal emisions (i.e. list->selection updates prior
4314         to gtk_list_item_[de]select() calls).
4315
4316         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
4317         focused child walks out of the window.
4318         removed CAN_FOCUS for the combo arrow's button since it doesn't react
4319         to keyboard events ("clicked" connection is missing).
4320
4321 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
4322
4323         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
4324         getting colormap for FOREIGN windows to go along with
4325         Raster's fix for visuals.
4326
4327 Merges from gtk-1-0
4328 ===================
4329         
4330 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
4331
4332         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
4333         Check to catch the case when the viewport fits in either
4334         direction or both, instead of flip-flopping infinitely.
4335
4336         Only show/hide the scrollbars once at the end.
4337
4338 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
4339
4340         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
4341         Include the scrollbars in the foreach call.
4342         (gtk-fortier-980405-0.patch; 
4343          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
4344
4345         The notebook widget
4346         really should also include its tabs, but that might cause
4347         problems for programs if they
4348
4349 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
4350
4351         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
4352         resize if the size actually changed. 
4353         (gtk-johannes-980414-0.patch ;  
4354          johannes@nada.kth.se (Johannes Keukelaar) )
4355
4356 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
4357
4358         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
4359           ltmain.sh ltconfig config.sub config.guess:
4360
4361         Reverted back to libtool-1.2 (plus minor patches) so as not to
4362         force the issue for everyone else.
4363
4364 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
4365
4366         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
4367         Updated to libtool 1.2a.
4368
4369         * gtk/gtkclist.c: Draw the in-between lines with style->base
4370         instead of style->white.
4371         
4372 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
4373
4374         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
4375         Cache the colormap and children of a window locally
4376         instead of fetching them from the server when needed.
4377         Huge performance difference for creating/destroying
4378         windows.
4379
4380         * gtk/gtkstyle.c: Find the depth from the cached
4381         visual, instead of asking the server.
4382
4383         * gtk.m4: Distribute the new version which tries to
4384         figure out what went wrong and give helpful error
4385         messages.
4386
4387         * ltmain.sh ltconfig config.sub config.sh: 
4388         Updated to libtool 1.2a
4389
4390         * gtk/gtktext.c: Fixed a bug where the drawn level
4391         was being messed up when the text was scrolled
4392         during a deletion.
4393         
4394 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
4395
4396         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
4397         the filesystem under you (fix from Josh)
4398
4399 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
4400
4401         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
4402         if the viewport already exists before iterating over it, maybe we
4403         haven't been constructed yet.
4404
4405 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
4406
4407         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
4408         the GtkBin widget already has a child.
4409
4410         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
4411         check that child->parent == NULL;
4412
4413 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4414
4415         * gtk/gtkselection.c (gtk_selection_clear): Only return
4416         FALSE when the clear event is been rejected, not when
4417         widget has already lost the selection. (Which should
4418         only happen when we are setting the selection to another
4419         widget ourself.)
4420         
4421 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
4422
4423         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
4424
4425         Removed the "check visibility after gtk_widget_unparent" bug 
4426         in hopefully the last three places.
4427
4428 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
4429
4430         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
4431         rc-files.
4432
4433 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
4434
4435         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
4436         for CAN_FOCUS widgets.
4437
4438         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
4439         adjustments for the table.
4440         (create_list): feature automatic adjustment of the scrolled window to
4441         always contain the focused child.
4442         (create_main_window): keep the focussed button always inside of the
4443         scrolled windoww.
4444
4445         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
4446         adjustments, to contain the allocation of the currently focused child.
4447         (gtk_container_set_focus_hadjustment): new functin to set the
4448         horizontal focus adjustment.
4449         (gtk_container_set_focus_vadjustment): new functin to set the vertical
4450         focus adjustment.
4451
4452         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
4453         clamp the currents adjustment page into a specific range.
4454
4455         * random GtkType fixups for gtk_*_get_type() functions.
4456
4457 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
4458
4459         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
4460         Account for the fact that gtk_tree_item_remove_subtree
4461         will be called recursively. 
4462
4463         Handle removing a collapsed subtree.
4464
4465         (From Andy Dustman <adustman@comstar.net>)
4466         
4467         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
4468         root tree when removing items from a non-previously
4469         mapped tree.
4470
4471         * gtk/testgtk.c: Added a remove_subtree button.
4472         
4473 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
4474
4475         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
4476         before object removing data. This change fixes a bug where 
4477         removing the last weak references would cause it to be 
4478         triggered.
4479
4480 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
4481
4482         * gdk/Makefile.am: Removed mostly useless dependency that
4483         was causing problems for SGI's make, when used with
4484         the 'make dist' form of GTK+. (Dependency caused dependencies
4485         to be redone when BUILT_SOURCES changed)
4486
4487 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
4488
4489         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
4490         like a menu.
4491         
4492         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
4493         to gtkitem.c so dragging can also work in lists.
4494
4495         * gtk/gtklist.[ch]: Track child enter events and use
4496         those to allow dragging the selection. 
4497
4498 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
4499
4500         * gtk/gtktext.c: Try enabling background pixmaps for editable text
4501         widgets.  There is a bit of flashing, but not too bad. If you
4502         don't want the flashing, you can always not set a background
4503         pixmap.
4504
4505 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
4506
4507         * gtk/gtktext.c: Fixed a bug where the drawn level
4508         was being messed up when the text was scrolled
4509         during a deletion.
4510         
4511 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4512
4513         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
4514         bug:  There is no need to set the ExposureMask in the XGrabPointer
4515         (this caused DnD programs to crash).
4516
4517 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
4518
4519         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
4520         field to be of type guint.
4521         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
4522         ref_count>0;
4523         (gtk_accelerator_table_install): keep a per object list of accelerator
4524         tables that refer to this object.
4525         (gtk_accelerator_table_remove): remove the accelerator table from the
4526         per object list.
4527         (gtk_accelerator_table_clean): warn if there are any object references
4528         left in an accelerator table upon destruction.
4529         (gtk_accelerator_tables_delete): new function to delete object
4530         references from the accelerator tables associated with this object.
4531
4532         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
4533         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
4534         of an accelerator can be prevented by gtk_signal_emit_stop().
4535         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
4536         so there are no stale pointers in accelerator tables left.
4537
4538 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4539
4540         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
4541         visible before we unparent it.
4542
4543 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
4544
4545         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
4546         running_timeouts list with the tmp_list link itself, not with a new
4547         GList structure pointing to our link. that would fill up memory and
4548         causes the GList.data fields of the running_timeouts list to point to
4549         GList structures and not GtkTimeoutFunction structures which is a
4550         *really* bad thing.
4551         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
4552         the above entry ;).
4553
4554 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
4555
4556         * gtk/gtkradiomenuitem.h: 
4557         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
4558         ala gtk_radio_button_set_group.
4559         (gtk_radio_menu_item_init): assure that we always have at least a group
4560         that points to self.
4561
4562         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
4563         added g_return_if_fail() statements.
4564         (gtk_radio_button_init): assure that we always have at least a group
4565         that points to self.
4566
4567 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
4568
4569         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
4570
4571 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
4572
4573         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
4574         (Damon Chaplin), which i got wrong when applying Damon's patch the last
4575         time.
4576
4577 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
4578
4579         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
4580         that when we are running with a non-installed colormap,
4581         in 8-bit pseudo-color, we actually are using the system
4582         visual. (Fixes *Bad Match* errors on Digital Unix machines
4583         with multiple 8-bit pseudo-color visuals)
4584
4585 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4586
4587         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
4588         by whoever thought that randomly changing ints to unsigned int
4589         without reviewing the code was a good idea.  It is, btw not
4590         mentioned in the ChangeLog as usual, but I know it was not Elliot
4591         the culprit this time. 
4592
4593 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
4594
4595         * Released GTK+ 1.0.0