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