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