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