]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
made GtkMenuItem::activate a GTK_RUN_ACTION signal.
[~andy/gtk] / ChangeLog.pre-2-0
1 Sat Dec 12 19:11:35 1998  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtkmenuitem.c: made GtkMenuItem::activate a GTK_RUN_ACTION signal.
4
5         * gtk/gtkbutton.c: made GtkButton::clicked a GTK_RUN_ACTION signal.
6
7         * gtk/gtkfeatures.h.in: define GTK_HAVE_FEATURES_1_1_8.
8
9 Sat Dec 12 17:46:55 1998  Owen Taylor  <otaylor@gtk.org>
10
11         * gtk/gtklayout.c (gtk_layout_unrealize): Mark
12         child->window as destroyed so we don't destroy
13         it again.
14
15 Sat Dec 12 17:18:32 1998  Owen Taylor  <otaylor@redhat.com>
16
17         * gdk/gdkfont.c (gdk_text_extents): Corrections
18         to computation of extents of text from a font set.
19         (from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
20          and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
21         
22 Fri Dec 11 08:59:12 1998  Owen Taylor  <otaylor@redhat.com>
23
24         * gtk/gtklistitem.c (gtk_list_item_style_set):
25         * gtk/gtklist.c     (gtk_list_style_set):
26         Added "style_set" handlers.
27
28 Fri Dec 11 05:49:30 1998  Owen Taylor  <otaylor@redhat.com>
29
30         * gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
31         handler so that the background of the clist changes
32         with the theme.
33
34 Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>
35
36         * Released GTK+ 1.1.7
37
38         * INSTALL:
39           NEWS:
40           README:
41           configure.in:
42           gtk+.spec:
43           gtk/gtkfeatures.h.in: 
44           docs/gtk-config.1: Version to 1.1.7
45
46 Thu Dec 10 20:48:19 PST 1998 Manish Singh <yosh@gimp.org>
47
48         * gtk/gtkclist.c: avoid void pointer math
49
50         * gtk/gtkhscale.c
51         * gtk/gtkhscrollbar.c
52         * gtk/gtkvscale.c
53         * gtk/gtkvscrollbar.c: removed trailing , from enums
54
55         * gtk/gtksignal.c: can't use enums as a bitfield type, use guint
56
57         * gtk/testgtk.c: removed C++ comment added by owenpoo
58
59 Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>
60
61         * gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
62
63 Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>
64
65         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use 
66         gdk_window_get_origin() instead of gdk_window_get_position,
67         because get_position is unreliable for plugs. 
68
69         This is a bad hack, maybe we need GDK_WINDOW_PLUG?
70
71 Thu Dec 10 17:58:49 GMT 1998  Tony Gale  <gale@gtk.org>
72
73         * docs/gtk_tut.sgml:
74           - re-write the GtkProgressBar section to the 1.1 API.
75           - add an Appendix listing all the signals
76             (apologies to TimJ for taking so long in using his hard work
77              in automating the extraction - thanx Tim). 
78         * examples/*: bring them all upto the tutorial versions
79
80 Thu Dec 10 02:21:16 1998  Jeff Garzik  <jgarzik@pobox.com>
81
82         * gtk/testdnd.c: use g_snprintf, eliminate need for string.h
83         * gtk/testrgb.c: include string.h, for strlen
84
85 Wed Dec  9 17:39:26 1998  Owen Taylor  <otaylor@redhat.com>
86
87         * configure.in: Add a case for success in 
88         test for XUnregisterIMInstantiate, to prevent
89         screwing up $LIBS.
90
91 Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
92  
93         * gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
94         list and return type for non-XIM fallback.
95  
96         * configure.in: Only build XIM-support if available.
97  
98 Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>
99         
100         * gtk/testselection.c (main): Add in missing 'flags'
101         field to target list.
102
103         * gdk/gdkproperty.c (gdk_atom_intern): Actually
104         add the atoms to the local cache.
105
106 Wed Dec  9 04:57:31 PST 1998 Manish Singh <yosh@gimp.org>
107
108         * gdk/gdkprivate.h: put text after #endif in comment
109
110         * gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl
111
112         * gtk/testdnd.c: #include <string.h>
113
114 Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
115
116         * gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
117         signals through the widget heirarchy. This is unpleasant, as it
118         causes more X traffic, but is necessary, because we have to clean
119         up our Input Contexts before destroying the X windows.
120         (from matsu-981109-0.patch)
121         
122 Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
123
124         Applied gtk-a-higuti-981202-0 : 
125         [ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
126         
127         * gdk/gdk.h gdk/gdk.c
128                 (gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
129                         implemented by a combination of Xlib functions, so
130                         it works even with X_LOCALE.
131                 (gdk_wcstombs): New function.
132                 (g_mbtowc): Removed. No longer needed.
133
134         * gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c: 
135                 Added _wc() variants to gdk_text_width(), 
136                 gdk_char_width(), gdk_draw_text(),
137                 
138         * gdk/gdki18n.h
139                 (mblen, mbtowc, wctomb, mbstowcs, wcstombs,
140                  wcslen, wcscpy, wcsncpy):
141                         Removed. No longer needed.
142                 (iswalnum): Removed.
143                 (gdk_iswalnum): New macro.
144                 (gdk_iswspace): New macro.
145         * gdk/gdktype.h
146                 (GdkWChar): New typedef.
147         
148         * gtk/gtkentry.h, gtk/gtkentry.c
149                 There are many changes according to the change of the
150                 internal representation of text, from multibyte string
151                 to wide characters. 
152         * gtk/gtkprivate.h, gtk/gtkmain.c
153                 Removed the variable gtk_use_mb and related codes.
154         * gtk/gtkspinbutton.c
155                 Some changes according to the change of type of entry->text.
156         * gtk/gtktext.h, gtk/gtktext.c
157                 Changed the internal representation of text. We use GdkWchar
158                 if a fontset is supplied. If not, we use guchar to save
159                 memory.
160         
161 Tue Dec  1 15:20:39 1998  Owen Taylor  <otaylor@redhat.com>
162
163         * gdk/gdkwindow.c (gdk_window_new): When creating
164         a window with a specified non-system visual, use
165         a matching colormap.
166
167 Mon Nov 30 11:50:13 1998  Owen Taylor  <otaylor@redhat.com>
168
169         * gdk/gdk.c gdk/gdkim.c gdk/gdkprivate.h gdk/gdk.h
170           gdk/gdktypes.h gtk/gtkeditable.c gtk/gtkmain.c
171           gtk/gtkentry.c gtk/gtktext.c:
172
173          Applied matsu-981109-0
174          [ matsu@arch.comp.kyutech.ac.jp (Takashi Matsuda) ]
175         
176          - Change system of setting input method values 
177            from varargs to a structure, similar to GC's
178            or window attributes.
179
180          - Various fixes to event handling.
181
182          Also:
183
184          * gdk/gdkim.c: Split of input method stuff into
185            a separate source file.
186
187          * Remove GdkIM typedef, change everything from
188            GdkIC to GdkIC * to be consistent with the
189            rest of GTK.
190         
191 Wed Dec  9 00:41:41 1998  Owen Taylor  <otaylor@redhat.com>
192
193         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
194         correct amount of memory for strings.
195
196 Tue Dec  8 18:29:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
197
198         * Released GTK+ 1.1.6
199
200         * NEWS: updated
201
202         * gtk/Makefile.am:
203           gtk/testgtk.c:
204           gtk/gtkrc.h:
205           gtk/gtkrc.c: Read in default files.
206
207 Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>
208
209         * gtk/gtktypeutils.h:
210         * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
211         allocated structure holding certain type specific informations.
212         fixed the big bunch of `discards const' warnings with the
213         initialization of enum/flags values.
214
215 Tue Dec  8 15:10:17 1998  Owen Taylor  <otaylor@redhat.com>
216
217         * gtk/gtkwindow.c (gtk_window_transient_parent_realized):
218         Fixed order of arguments to gdk_window_transient_for().
219
220 Tue Dec  8 18:02:57 GMT 1998  Tony Gale  <gale@gtk.org>
221
222         * examples/Makefile: simple top level Makefile that invokes all
223           the sub-directory Makefiles.
224
225 1998-12-08  Andrew T. Veliath  <andrewtv@usa.net>
226
227         * gtk/testgtk.c: Functions to test the toolbar space style.
228
229         * gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
230         GtkToolbarChild to hold allocation. Set default space style to
231         GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
232         fraction defaults.
233         (gtk_toolbar_paint_space_line): New function; paints the separator
234         line, using "toolbar" as the detail.
235         (gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
236         style is set to SPACE_LINE.
237         (gtk_toolbar_size_allocate): Store space allocations.
238         (gtk_toolbar_insert_element): If we are a space, allocate and
239         initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
240         (gtk_toolbar_set_space_style): New function.
241
242         * gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
243         and LINE. Add prototype for gtk_toolbar_set_space_style.
244
245 Mon Dec  7 16:03:55 1998  Owen Taylor  <otaylor@redhat.com>
246
247         * gtk/gtkthemes.h: Remove random unnecessary includes
248         of standard headers.
249
250 1998-12-07  Damon Chaplin  <DAChaplin@msn.com>
251
252         * gtk/gtkfontsel.c (gtk_font_selection_select_best_style): made sure
253         we only try to match styles which are currently shown.
254
255         (gtk_font_selection_init): set the notebook tabs homogeneous and set
256         the border, so we don't need to set the size explicitly (bad for i18n).
257         Used the clist auto-resize feature for the font and style lists on the
258         main page and all the filters. Used padding for the 'Reset Filter'
259         button instead of spaces around it (bad for i18n).
260
261         (gtk_font_selection_find_font): when searching for
262         a font, if we can't match both the family and foundry, we return any
263         font where just the family matches. (The foundry can even be '*'.)
264
265         (gtk_font_selection_show_available_styles): 
266         (gtk_font_selection_realize_list): don't set the style clist row
267         colours (for the charset rows) until the clist is realized, since we
268         use the clist style's insensitive colours.
269
270 Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>
271
272         * gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
273         _after_ doing XShmAttach. This should work everywhere,
274         and avoid the need for signal handlers or configure
275         checks.
276
277 Thu Dec  3 19:58:45 1998  Owen Taylor  <otaylor@redhat.com>
278
279         * gtk/gtkinputdialog.c: Use _add_with_viewport() for
280         scrolled window contents.
281
282 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
283
284         * gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
285         field in the structure.
286
287 Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>
288
289         * docs/gtk_tut.sgml: Start mass update for GTK 1.1
290         * examples/extract.sh: Look for the best version of awk
291         * examples/extract.awk: Fix FD leak
292         * example/base: minimal example from Tutorial
293
294 Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>
295
296         * gtk/gtkwindow.c: New functions
297         gtk_window_set_transient_for() - set up a "transient for" relationship.
298         gtk_window_set_default_size() - set the initial size of a window
299            distinct from its minimum size.
300         gtk_window_set_geometry_hints() - Allow the user to set
301            minimum, maximum sizes, aspect rations, and gridded geometry, 
302            possibly all with respect to a subwidget of the window.
303         These interfaces are still a wee bit experimental.
304
305         * gdk/gdk.c: Added gdk_window_set_transient_for(),
306         gdk_window_set_geometry_hints(), and gdk_window_set_role().
307
308         * gdk/gdktypes.h: Added new types for find-grained specification
309         of WM hints.
310
311         * gtk/testgtk.c: Various changes to tests to test the
312         above new functions.
313
314         * gtk/gtkfontsel.c: Squash a few 'const' warnings.
315         
316         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
317         call to gtk_style_set_background() to prevent egregious
318         flashing to black.
319
320 Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>
321
322         * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
323         signals, don't pass the data pointer twice, but swap it with the
324         object pointer (proposed on Nov 30 1998 on gtk-devel-list).
325
326 Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
327
328         * gtk/gtktypeutils.h: 
329         * gtk/gtktypeutils.c: reverted Marius's change to expose the type systems
330         internal type info data to the user. if such functionality is required
331         we should provide wrapping accessors, ala gtk_signal_query(). also the
332         GtkTypeInfo structures are dynamically allocated memory portions, so
333         only the type system is really allowed to access that stuff.
334
335         * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
336         since it destroys the possibility to implement automatic marshaller
337         lookups some day, and it also disables third party code's ability to
338         connect to any signal.
339
340 Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
341
342         * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
343         Tab key on the entry. the focus shouldn't get lost even if completion
344         is attempted from an empty entry, since an empty entry string does
345         indeed have a valid completion meaning (complete all).
346         (gtk_file_selection_init): cast the gchar array parameter in calls to
347         gtk_clist_new_with_titles() to quit compiler warnings.
348         (check_dir): the no_stat_dirs struct must not be const, since we do
349         indeed modify its contents.
350
351         * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
352         hook semantics.
353
354         * gtk/gtksignal.h:
355         * gtk/gtksignal.c:
356         changed emission allocation, so we don't use a doubly linked list
357         but link ourselfs (singly linked).
358         changed emission hooks, they get the emision parameters passed as
359         well now and are emitted during the actuall signal emission (after
360         the RUN_FIRST class method, but prior to RUN_FIRST handlers).
361         the existing restrictions do still apply to signal emission hooks,
362         i.e. an emission may not be stopped or restarted from an emission hook.
363         due to possibly huge perfomance impacts, frequent use of emision hooks
364         is also not recommended.
365         (gtk_signal_next_and_invalidate): added an
366         assertments which explicits what the code assumes anyways: a
367         maximum amount of 65535 signals.
368
369         * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
370         gtk_container_foreach_full() should be used instead.
371
372         * gtk/gtkmain.h:
373         deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
374         we provide _full variants.
375
376         * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
377         gtk_signal_connect_full() for long enough now.
378
379 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
380
381         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
382         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
383         connect to signals with a NULL marshaller.
384
385         * gtk/gtktypeutils.c (gtk_type_get_info): New.
386         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
387
388 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
389
390         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
391         arrows if wrap == FALSE and interval borders are reached.
392
393 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
394
395         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
396         long-standing typo in aspect ratio computation code.
397         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
398
399 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
400
401         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
402         valid row numbers only
403         (toggle_row): check if clist_row != NULL
404
405 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
406
407         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
408
409         * gtk/gtkclist.c 
410         (gtk_clist_set_column_visibility)
411         (gtk_clist_column_titles_active)
412         (gtk_clist_column_titles_active)
413         (gtk_clist_column_title_passive)
414         (gtk_clist_column_title_active): few additional tests whether
415         column->button != NULL
416
417 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
418
419         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
420         from 10 seconds, so it doesn't abort while users
421         have an ACTION_ASK menu up.
422
423         * gtk/gtkdnd.c: Hide the icon window between sending a a 
424         drop event to the destination and displaying the
425         snapback animation, so that it doesn't hang around
426         during ACTION_ASK.
427
428 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
429
430         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
431         for the foreground of cells for CLists in the insensitive
432         state, instead of GTK_STATE_PRELIGHT.
433
434 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
435
436         * gtk/gtkwindow.c: moved checks upon focus setting from
437         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
438         emit the signal if unneccessary.
439
440         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
441         containers when grabbing focus on a new widget. this is based on
442         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
443
444         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
445         flag, so we take the buttons into consideration upon the next focus
446         request.
447
448         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
449         assertment.
450
451 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
452
453         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
454           enhancement for true-color displays.
455
456         * INSTALL:
457           README:
458           configure.in:
459           gtk+.spec:
460           docs/gtk-config.1: up to version 1.1.6
461
462 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
463
464         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
465         we release it this time
466
467 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
468
469         * gtk/gtknotebook.h: 
470         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
471
472         * incremented version number to 1.1.6 and made Gtk
473         dependant on GLib 1.1.6.
474
475         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
476         from guint16 to gint16, since sizes bigger than 32767 are not supported
477         anyways, and aritmethics with intermediate negative values are possible
478         now.
479
480 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
481
482         * gtk/gtkscrolledwindow.c:
483         implementation of GTK_POLICY_NEVER functionality, added rationales
484         on the policy and size requisition handling at the top.
485         (gtk_scrolled_window_size_request):
486         we assume a default minimum for our child's width and height
487         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
488         specified the dimension explicitely.
489         (gtk_scrolled_window_size_allocate): 
490         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
491
492         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
493         size we require (including the child).
494
495         * gtk/gtkclist.c:
496         (gtk_clist_size_request): report the real size required.
497
498         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
499
500         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
501         need to be a static variable.
502
503 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
504
505         * gtk/gtkclist.h: 
506         * gtk/gtkclist.c: 
507         * gtk/gtkviewport.h:
508         * gtk/gtkviewport.c:
509         * gtk/gtktext.h:
510         * gtk/gtktext.c:
511         * gtk/gtklayout.h:
512         * gtk/gtklayout.c:
513         * gtk/gtkwidget.h:
514         * gtk/gtkwidget.c:
515         * gtk/gtkscrolledwindow.h:
516         * gtk/gtkscrolledwindow.c:
517         s/scroll_adjustements/scroll_adjustments/
518         s/scroll_adjustments/set_scroll_adjustments/g
519
520 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
521
522         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
523         row_move.
524         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
525         emit a row_move signal
526         (real_row_move): move source_row to dest_row
527         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
528         (gtk_clist_columns_autosize): resize all columns to their optimal
529         width
530         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
531         entire sub-tree.
532         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
533
534 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
535
536         * configure.in
537         * gdk/Makefile.am
538         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
539         Separate vars for each, for granularity.
540
541 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
542
543         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
544         values.
545
546 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
547
548         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
549         allow them to be shared, mainly including (but not limited to) the
550         GtkTypeInfo structures for each class.
551
552         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
553
554 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
555
556         * gtk/gtksignal.c:
557         Surround debug variable with #ifdef to silence gcc.
558
559         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
560         Added initializer to quiet gcc warning.
561         Added assertion to check for null pointer deref.
562
563 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
564
565         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
566         system specific includes.
567
568         * gtk/gtksignal.c: asured that stop and restart emissions are also
569         checked and processed for not connected objects. fixed up restart
570         emission administration. invoke emission hooks after emission, hooks
571         are not supposed to muck around with the current emission, and
572         may also not cause emission restarts. fixed up stop emission
573         administration.
574
575 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
576
577         * gtk/testgtk.c: added an event watcher for enter/leave based on
578         signal emission hooks.
579
580         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
581         GTK_RUN_NO_HOOKS signal.
582
583         * gtk/gtksignal.h: 
584         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
585         to a signal with gtk_signal_add_emission_hook or
586         gtk_signal_add_emission_hook_full, and can be removed again with
587         gtk_signal_remove_emission_hook.
588
589         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
590         an appropriate mask for signal runtypes for a long time now.
591         added GTK_RUN_NO_HOOKS value, which is used to flag signals
592         that do not allow the running of signal hooks.
593
594 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
595
596         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
597         argument a gint: switch_page signal delivers valid page numbers
598         again.
599
600 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
601
602         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
603         set composite names.
604
605         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
606         check, people must use gtk_type_init().
607         fixed up type allocation for foreign fundamentals.
608
609         * gtk/gtkwidget.h: 
610         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
611         for internal use by containers, that want to assign specific composite
612         names to their composite children.
613         added gtk_widget_get_composite_name() which will return a newly
614         allocated string, containing the composite name of a widget. valid
615         composite names can only be retrived from widgets that have a parent
616         assigned and are flagged as GTK_COMPOSITE_CHILD.
617
618         * gtk/gtkcontainer.h:
619         * gtk/gtkcontainer.c: added a new function
620         gtk_container_child_default_composite_name() which will return a
621         newly allocated string, holding the composite name of a containers
622         child. a default implementation is provided which will compose the
623         composite name out of the widgets type and its sequential children
624         id. this implementation can be overidden through a new class function
625         *(composite_name)().
626
627 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
628
629         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
630         expose_event handler - we had two expose_event
631         handlers!
632
633 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
634
635         * gtk/gtkscrolledwindow.h: 
636         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
637         it inherits from GtkBin now.
638
639         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
640         visibility of child.
641         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
642         added check so a child gets only drawn if it's visible.
643
644         * gtk/gtkwidget.h: 
645         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
646
647         * gtk/gtkstyle.h: 
648         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
649
650         * gtk/gtkwidget.h: 
651         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
652         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
653
654         * gtk/gtkrc.h:
655         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
656         argument, changed callers.
657
658         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
659         it will issue a warning now.
660
661         * gtk/gtkcompat.h: new file to #define aliases for historic
662         function names.
663
664         * changed 8 function names for consistency and provided aliases to keep
665         source compatibility in gtkcompat.h:
666         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
667         (gtk_container_set_border_width): renamed from gtk_container_border_width
668         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
669         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
670         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
671         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
672         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
673         (gtk_window_set_position): renamed from gtk_window_position
674
675         * renamed a few recently added funtions for consistency:
676         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
677         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
678         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
679
680 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
681
682         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
683         check for existing viewport first, and don't add one if there
684         already is one
685
686 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
687
688         * gtk/gtkwidget.h: 
689         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
690         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
691         and gtk_widget_unlock_accelerators.
692
693         * gtk/gtklayout.h:
694         * gtk/gtklayout.c: implemented incremental freezing facility.
695
696         * gtk/gtktext.h: 
697         * gtk/gtktext.c: implemented incremental freezing facility.
698
699         * gtk/gtkenums.h:
700         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
701
702         * gtk/gtkentry.h:
703         * gtk/gtkentry.c:
704         deprecated gtk_entry_adjust_scroll().
705         
706         * random GtkType, macro and indentation fixes.
707
708 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
709
710         * gtk/gtkclist.h: 
711         * gtk/gtkclist.c: implemented incremental freezing facility, added
712         a new class member (*refresh)() which takes over the thaw
713         functionality. the clist FROZEN flag got removed on the way.
714         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
715         and incremental freezing.
716
717         * gtk/gtkcalendar.c: implemented incremental freezing facility.
718
719 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
720
721         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
722         it still includes the core pointer in gdk_input_devices even
723         if the XInput extension is not present in the X server.
724
725 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
726
727         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
728         get the source widget of a drag.
729
730         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
731         to restrict certain targets to the same widget or to
732         the same application.
733
734         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
735         
736 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
737
738         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
739         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
740         instead of GTK_TYPE_POINTER in signal definitions.
741         (patch from James Henstridge <james@daa.com.au>)
742
743 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
744
745         * gtk/gtkclist.c (set_cell_contents)
746         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
747         if auto.resize == TRUE
748
749         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
750         don't draw tab, if show_tabs == FALSE
751         (bug reports from Alexis Mikhailov / Dave Cole)
752         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
753         the focus rectangle, not the hole tab.
754
755 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
756
757         * gtk/gtkclist.h: 
758         * gtk/gtkctree.h: 
759         * gtk/gtkclist.c:
760         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
761         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
762
763         * gtk/maketypes.awk: changed underline substitution, so we get
764         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
765         * gtk/makeenums.pl: likewise.
766         * gtk/gtkctree.c: adapted type names accordingly.
767
768 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
769
770         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
771
772         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
773         some code duplication.
774
775         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
776         and child widgets when scrolling greater than 32k pixels.
777
778         * testgtk.c: Modified layout test to test scrolling over 
779         long distances.
780
781 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
782
783         * gtk/gtklayout.[ch]: Fixed up copyright message.
784
785         * gdk/gdkrgb.c (DM): Make the dither matrix constant
786         so it can be shared.
787
788         * gtk/gtkdnd.c: Make cursor bitmaps const.
789
790         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
791         gdk_pixmap/bitmap_create_from_data.
792
793 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
794
795         * docs/Changes-1.2.txt: added a section on scrolled windows and
796         scrollable widgets.
797
798 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
799
800         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
801         buttons when setting relief for button items.
802         (gtk_toolbar_set_button_relief): Same.
803
804 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
805
806         * gdk/Makefile.am, gtk/Makefile.am:
807         Removed DEFS "+=" mess that breaks recent automakes.
808         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
809
810         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
811         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
812         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
813         gtk/testthreads.c:
814         Include "config.h" instead of "../config.h".
815         Now that DEFS works again, automake will automatically pass us
816         the location of config.h in -I.
817
818 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
819
820         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
821         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
822
823         Added layout widget for scrolling arbitrarily big areas.
824         Added plug/socket widgets for interprocess embedding.
825
826         These widgets still, at some point, need to be
827         made more pure in their use of GDK, as opposed
828         to raw X.
829
830         * gtk/testgtk.c: Added test for layout widget.
831         
832 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
833
834         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
835         Brandon Long <blong@fiction.net> - do the right thing with first
836         and last, which are the absolute values of row arguments row1
837         and row2.
838
839 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
840
841         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
842         default adjustment (from 0 to 100) instead. I'm not sure if this
843         is the correct level for the fix, but gtk_progress_bar_new()'s
844         original default behavior is restored.
845
846 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
847
848         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
849         we can check for latest GTK features.
850
851 1998-11-23  Havoc Pennington  <hp@pobox.com>
852
853         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
854         (gtk_toolbar_insert_element): When setting relief, also affect
855         toggle buttons.
856
857 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
858
859         * gtk/gtkobject.h: remove extraneous comma
860
861 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
862
863         * gtk/gtkcontainer.c:
864         (gtk_container_add_with_args): 
865         (gtk_container_addv): 
866         (gtk_container_add): removed assertements for constructed containers
867         again, since this essentially breaks the "child" arg.
868
869         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
870         reference count, we don't need to reference toplevels that already have
871         destroy notifiers.
872
873         * gtk/gtkscrolledwindow.c: check for the composites existance in
874         _forall since we might not be already constructed.
875
876 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
877
878         * Released GTK+ 1.1.5
879
880         * configure.in: require GLib 1.1.5
881
882 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
883
884         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
885         2 * hadj.
886         (gtk_text_finalize): only unref the current_font if we have
887         been realized.
888
889 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
890
891         * configure.in:
892           INSTALL:
893           NEWS:
894           README:
895           gtk+.spec:
896           docs/gtk-config.1: Version incremented to 1.1.5
897
898 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
899
900         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
901         ::text_yalign, ::activity_mode.
902
903         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
904         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
905         ::activity_blocks.
906         (gtk_progress_bar_new):
907         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
908         (gtk_progress_bar_construct): deprecated.
909
910         * gtk/gtkvscrollbar.c:
911         (gtk_vscrollbar_draw_step_back): 
912         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
913         gtk_paint_arrow, to be consistent with hscrollbar.
914
915         * gtk/gtktext.c
916         added construct args ::hadjustment, ::vadjustment.
917         added args ::line_wrap, ::word_wrap.
918         (gtk_text_class_init): added scroll_adjustments signal.
919         (gtk_text_new): use gtk_widget_new.
920         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
921         so we don't screw the reference counts and don't leave signals connected.
922         (gtk_text_destroy): disconnect adjustments signals.
923         (gtk_text_finalize): unref adjustments.
924
925         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
926         added args ::indent, ::spacing, ::show_stub, ::reorderable,
927         ::use_drag_icons, ::line_style and ::expander_style.
928         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
929         deprecated now.
930
931         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
932         * gtk/gtkclist.c:
933         removed ::vadjustment and ::hadjustment args, introduced
934         ::scroll_adjustments signal.
935         added ::shadow_type, ::selection_mode and ::row_height args.
936         added n_columns construct arg.
937         (gtk_clist_construct): call gtk_object_constructed().
938         (gtk_clist_set_row_height): if height is passed as 0,
939         revert to automatic height calculation.
940         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
941         signal handlers.
942
943 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
944
945         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
946         like gtk_object_new.
947         (gtk_widget_destroy): assert that we only destroy constructed widgets.
948
949         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
950         to identify args that may only be used for construction.
951         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
952         time.
953         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
954         at the end if the object is not fully constructed.
955         (gtk_object_newv): likewise.
956         (gtk_object_destroy): assert that we only destroy constructed objects.
957         (gtk_object_init): setup GTK_CONSTRUCTED from the
958         objects real klass.
959         (gtk_object_default_construct): new function to complete default
960         construction of an object by applying missing construtor args with
961         default values of 0, 0.0 or NULL.
962         (gtk_object_constructed): new function to mark an object as being
963         constructed (used from within constructors).
964
965         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
966         so it is immediatedly available for the caller.
967
968         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
969         the object initilizer (GtkObjectInitFunc takes a second arg now, the
970         real klass), and asure that object initializers may temporarily alter
971         the class pointer.
972
973 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
974
975         * gtk/testgtk.c: change all occourances of gtk_container_add (
976         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
977         for widget!=(clist, ctree, text, viewport).
978
979         * gtk/gtkcombo.c:
980         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
981         to add children to the scrolled window.
982
983         * gtk/gtkscrolledwindow.h:
984         * gtk/gtkscrolledwindow.c:
985         changed scrolled_window->viewport to scrolled_window->child, and use
986         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
987         widget, we do not create an additional viewport anymore.
988         added ::hadjustment and ::vadjustment constructor args.
989         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
990         (gtk_scrolled_window_set_hadjustment):
991         (gtk_scrolled_window_set_vadjustment): new functions that superceed
992         gtk_scrolled_window_construct.
993         (gtk_scrolled_window_construct): deprecated this function.
994         
995         * gtk/gtkhscrollbar.c:
996         * gtk/gtkvscrollbar.c:
997         * gtk/gtkhscale.c:
998         * gtk/gtkvscale.c:
999         support a constructor arg "::adjustment", and use gtk_widget_new() for
1000         the widget creation.
1001
1002         * gtk/gtkrange.c: added ::update_policy arg.
1003         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
1004         a default adjustment so this function can be used for derived widgets
1005         that depend on the adjustment's existance.
1006         (gtk_range_destroy): disconnect the adjustment signal, so we don't
1007         get called after we got destroyed, we don't destroy the adjustment
1008         in here, because it might have been provided from another widget.
1009
1010         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
1011         (gtk_viewport_destroy): same as gtk_range_destroy.
1012
1013         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
1014
1015         * gtk/gtkwidget.h: 
1016         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
1017         gboolean, indicating whether this widget supports activation.
1018         added gtk_widget_scroll_adjustements() to set the scrolling
1019         adjustments of a widget.
1020
1021 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
1022
1023         * gtk/gtkoptionmenu.c:
1024         (gtk_option_menu_remove_contents):
1025         (gtk_option_menu_update_contents): removed
1026         gtk_container_[un]block_resize() pairs.
1027
1028         * gtk/gtknotebook.h: 
1029         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
1030         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
1031         wrtie-only argument.
1032
1033         * *.c: made deprecated functions issue a message:
1034         gtk_clist_set_border, gtk_container_block_resize,
1035         gtk_container_unblock_resize, gtk_container_need_resize,
1036         gtk_object_class_add_user_signal, gtk_spin_button_construct,
1037         gtk_scrolled_window_construct.
1038         removed non-functional functions:
1039         gtk_container_disable_resize, gtk_container_enable_resize,
1040         gtk_clist_set_policy.
1041
1042 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
1043
1044         * gtk/gtkbox.c (gtk_box_init): 
1045         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
1046         * gtk/gtkeventbox.c (gtk_event_box_init): 
1047         * gtk/gtkfixed.c (gtk_fixed_init): 
1048         * gtk/gtkframe.c (gtk_frame_init): 
1049         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
1050         * gtk/gtkpacker.c (gtk_packer_init): 
1051         * gtk/gtkmisc.c (gtk_misc_init): 
1052         * gtk/gtkpreview.c (gtk_preview_init): 
1053         * gtk/gtkprogress.c (gtk_progress_init): 
1054         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
1055         * gtk/gtkseparator.c (gtk_separator_init): 
1056         * gtk/gtktable.c (gtk_table_init): 
1057         * gtk/gtkviewport.c (gtk_viewport_init): 
1058         * gtk/gtkalignment.c (gtk_alignment_init): 
1059         removed setting of the GTK_BASIC flag.
1060
1061         * gtk/gtkwidget.h:
1062         * gtk/gtkwidget.c:
1063         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
1064
1065         * miscellaneous GtkType and macro fixups.
1066
1067 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
1068
1069         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
1070         Fixed so it at least works with window managers other
1071         than Enlightenment, though it probably needs to be
1072         removed altogether.
1073
1074 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
1075
1076         * gtk/gtkhandlebox.[ch]: Add shadow_type and
1077         gtk_handle_box_set_shadow_type function (plus a
1078         GtkHandleBox::shadow arg) to allow configuration of shadow in the
1079         bin window.
1080
1081 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1082
1083         * gtk/gtkcalendar.c: Fix for marking days from 
1084           Dan Reish <dreish@izzy.net>.
1085
1086 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
1087
1088         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
1089         in row_list. (from Samuel Solon <ssolon@usa.net>)
1090         
1091         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
1092         (gtk_clist_get_column_widget): return column widget
1093
1094 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
1095
1096         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
1097         that are sent to a toplevel but are not within the
1098         toplevels bounds.
1099
1100         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
1101         XdndProxy atom which proxies the drag to another window.
1102
1103 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1104
1105         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
1106         that it is not needed.
1107
1108 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
1109         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
1110           function to correctly determine gdk window position relative to
1111           its "root window" - contains check for an Enlightenment
1112           virtual root window.
1113         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
1114           gdk_window_get_deskrelative_origin to get the origin of dragged
1115           handleboxes correctly. Now it works correctly with E.
1116           
1117 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
1118
1119         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
1120           getting types even though we were not using real type names,
1121           just the index.  This caused random crashes when more than 
1122           256 types were defined.
1123
1124 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
1125
1126         * gtk/genmarshal.pl: Put output files in the current directory
1127         and not in the $(srcdir) since the VPATH is ignored for built
1128         sources.
1129
1130 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
1131
1132         * gtk/genmarshal.pl
1133         * gtk/Makefile.am: check for unchanged autogenerated files, so
1134         we don't rebuild everything just for adding a new function
1135
1136 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1137
1138         * gtk/gtkpixmap.h
1139           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
1140           code thanks to GNOME stock by Eckehard Berns.  New function
1141           gtk_pixmap_set_build_insensitive to provide ability to turn 
1142           this off.
1143
1144 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
1145
1146         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
1147         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
1148         (struct _GtkNotebookPage): new flags : expand, fill, pack
1149
1150         * gtk/gtknotebook.h/c
1151         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
1152         tabs
1153         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
1154         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
1155         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
1156         (gtk_notebook_query_tab_label): new function. get tab_label widget.
1157         (gtk_notebook_set_tab_label): new function. set tab_label widget.
1158         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
1159         (gtk_notebook_query_menu_label): new function. get tab_label widget.
1160         (gtk_notebook_set_menu_label): new function. set tab_label widget.
1161         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
1162         (gtk_notebook_set_tab_label_packing): new function. set tab_label
1163         fill, expand, fill_type
1164         (gtk_notebook_query_tab_label_packing): new function. get tab_label
1165         fill, expand, fill_type
1166
1167         (gtk_notebook_real_page_position): return logic page number
1168         (gtk_notebook_search_page) search next/prev logic page
1169         (gtk_notebook_update_labels): set logic page number.
1170         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
1171         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
1172         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
1173         (gtk_notebook_button_press) (gtk_notebook_key_press)
1174         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
1175         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
1176         use gtk_notebook_search_page
1177         (gtk_notebook_page_allocate): fixed allocation bug
1178         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
1179         (gtk_notebook_init): unset GTK_NO_WINDOW flag
1180         (gtk_notebook_size_request): check whether page->child is visible.
1181         changes due to tab h/vborder, homogeneous tabs
1182         (gtk_notebook_paint): don't draw invisible tabs
1183         (gtk_notebook_switch_page): calculate page_num if it's less than 0
1184         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
1185         (gtk_notebook_insert_page): removed sanity checks
1186
1187         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
1188
1189 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
1190
1191         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
1192         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
1193
1194         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
1195         broken. (GtkWidget's default unmap handler should work fine).
1196         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
1197
1198 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
1199
1200         * gtk/gtkmenubar.[ch]: added shadow_type setting and
1201         gtk_menu_bar_set_shadow_type function to allow shadow
1202         configurability for menubars
1203
1204         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
1205         guint
1206
1207 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
1208
1209         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
1210         class creation and parent class' object initializer.
1211
1212 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1213
1214         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
1215         have assigned it to the window -- there is no point in keeping it around.
1216         (gtk_paned_unrealize): No need to destroy the cursor here.
1217
1218         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
1219         it is not needed.
1220
1221 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
1222
1223         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
1224         (gtk-blizzard-981005-0. 
1225          Christopher Blizzard <blizzard@applied-theory.com)
1226
1227         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
1228         gdk_pixmap_foreign_new to gdkx.h.
1229
1230 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
1231
1232         * gtk/Makefile.am: Added rules to generate an empty
1233         GTK+ theme called "Default" upon installation.
1234         
1235         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
1236         of fonts and fontsets. 
1237         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
1238
1239         * gtk/gtkmain.c: Change test to detect glibc's
1240         utf8 based mb* functions to be more specific.
1241
1242         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
1243         cleanups.
1244
1245 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
1246
1247         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
1248         show event_window
1249         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
1250         event_window if draw_indicator is set
1251         (gtk_toggle_button_set_mode):
1252
1253 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
1254
1255         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
1256         ensure proper type (SunPro cc complains)
1257
1258         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
1259
1260         * gtk/gtktogglebutton.c: use our own draw method so we get proper
1261         redraws on active state
1262
1263 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
1264
1265         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
1266         defines.
1267
1268         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
1269         GTP_POS_RIGHT
1270
1271 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
1272
1273         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
1274         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
1275         added ARG_WINDOW_PLACEMENT
1276
1277         * gtk/gtkclist.c (size_allocate_columns): resize column if column
1278         button > column width and auto_resize is set
1279         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
1280         consider column button width of auto resized columns
1281         (gtk_clist_parent_set): removed 
1282
1283         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
1284         (auto_resize_columns): auto_resize all columns
1285         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
1286         (column_auto_resize): respect column button width of auto resized
1287         columns
1288
1289 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
1290
1291         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
1292         we can check for latest GTK features.
1293
1294 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
1295
1296         * gtk/gtkenums.h : new enum GtkCornerType 
1297         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
1298         window_placement.
1299         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
1300         new method to set window_placement.
1301         (gtk_scrolled_window_viewport_allocate)
1302         (gtk_scrolled_window_size_allocate): few changes due to
1303         window_placement.
1304         * gtk/testgtk.c (remove_selection): fixed while loop.
1305
1306 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
1307
1308         * gtk/gtkclist.c: check if column[i].button is valid before calling
1309         gtk_widget_intersect on it in gtk_clist_draw
1310
1311         * gtk/gtkdnd.c: removed unused variable empty_bits
1312
1313         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
1314
1315         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
1316         a boolean (thanks to Elrond for noticing this)
1317
1318 1998-11-07  Jay Cox  <jaycox@earthlink.net>
1319
1320         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
1321         * gdk/gdkxid.c: declare xid_ht static
1322         * examples/*/Makefile: get the link ordering right.
1323
1324 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
1325
1326         * gtk/gtkclist.c (gtk_clist_realize): Set background of
1327         title button window to GTK_STATE_NORMAL instead of
1328         GTK_STATE_SELECTED to avoid ugly flicker.
1329
1330 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
1331
1332         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
1333         if adjustments are NULL and list size has changed
1334         (gtk_clist_size_request): return real list requsition,
1335         if adjustments are NULL.
1336         (size_allocate_columns): use button->requisition.with, if column
1337         width is not set.
1338         (list_requisition_width): new function. return full list width.
1339         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
1340         auto create adjustments.
1341         (gtk_clist_motion) (move_vertical) (move_horizontal):
1342         check adjustment != NULL.
1343
1344 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
1345
1346         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
1347         a clear/redraw, not just a redraw, so the focus
1348         gets undrawn properly.
1349
1350         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
1351         Chain to gtk_widget_unrealize() instead of duplicating
1352         code.
1353
1354 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
1355
1356         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
1357         last vestiges of old DND.
1358
1359 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
1360
1361         * gtk/gtkentry.c: Restored inner border to entries,
1362         erase cursors to background image.
1363
1364 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1365
1366         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
1367         it was identical to paint_flat_box().
1368
1369         * gtk/gtkstyle.c: Coding style fixups.
1370
1371         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
1372         test.
1373
1374         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
1375         Change 'side' for paint_[box/shadow]_gap and paint_extension
1376         to be GtkPositionType instead of a random int.
1377
1378         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
1379         "frame" as detail - an aspectframe should draw identical
1380         to a frame.
1381
1382 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
1383
1384         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
1385         from combine_child_shapes().
1386
1387         * gdk/gdkwindow.c: Merge propagate_shapes() and
1388         propagate_combine_shapes() to remove code duplication.
1389
1390 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
1391
1392         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
1393         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
1394         So allocate some mem if it's not already done.
1395
1396         * clist scrollbar merges from HEAD
1397
1398 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
1399
1400         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
1401
1402         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
1403         of 0x80000000, so we stay within the bounds of a postive signed
1404         int (it broke some compilers)
1405
1406         * gtk/gtkmenushell.c
1407         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
1408         when some of the menuitems are hidden
1409
1410         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
1411         care of that
1412
1413         * gtk/gtkwidget.c: add a dummy continue after the line label
1414         next_rect, since some compilers don't like label: }
1415
1416 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
1417
1418         * Okay, so we need the X11R6 keysyms so programs don't have to
1419         worry about them. They don't conflict anyway. Reverted the #ifdef
1420         changes to gtk/*.c
1421
1422         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
1423         special rule for them (X-derived-headers)
1424
1425 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
1426
1427         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
1428         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
1429         portable, and we really shouldn't be using awk anyway.
1430
1431         * makecursors.awk
1432         * makekeysyms.awk: bye bye
1433
1434         * gtk/gtkaccelgroup.c
1435         * gtk/gtkclist.c
1436         * gtk/gtknotebook.c
1437         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
1438
1439 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
1440
1441         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
1442         and gdkkeysyms.h. Remove those files from CVS.
1443
1444 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
1445
1446         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
1447         of the USE_XIM #ifdef
1448
1449         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1450         even with --include-deps. Slightly different from timj's fix, to avoid
1451         circular dependency with gtkmarshal.c
1452
1453         * autogen.sh
1454         * gtk/gtkclist.[ch]
1455         * gtk/gtkctree.c
1456         * gtk/gtkfontsel.[ch]
1457         * gtk/gtklist.c
1458         * gtk/gtklistitem.c
1459         * gtk/gtkobject.[ch]
1460         * gtk/testgtk.c: merges from HEAD
1461
1462         * gtk/gtkmenubar.c
1463         * gtk/gtkradiomenuitem.c
1464         * gtk/gtktreeitem.c: cleanups
1465
1466 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
1467
1468         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
1469
1470 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
1471
1472         * configure.in: AIX has libpthreads, to make sure you can have
1473         more than one thread. Also add -D_THREAD_SAFE, and reorder
1474         configure.in so CFLAGS doesn't get clobbered when we actually
1475         want to modify it
1476
1477         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
1478         in gdk_image_get
1479
1480         * gtk/testdnd.c: removed unused variable "buf"
1481
1482 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
1483
1484         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
1485         remove_link(), not remove()
1486
1487 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
1488
1489         * gdk/gdkrgb.c: use glib endian stuff
1490
1491         * configure.in: don't need to check for endianness anymore
1492
1493         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
1494
1495 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
1496
1497         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
1498         all toplevel widgets, not toplevel windows. (I.e.,
1499         plugs should be reset)
1500
1501         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
1502         _do_ need to notify the other toplevels - by the time
1503         the get the client messages, the RC file dates will
1504         have been updated.
1505
1506         * gtk/gtkcontainer.h: Added a function call to list
1507         every toplevel widget.
1508
1509         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
1510         Don't send client messages to _every_ window on display!
1511         
1512 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
1513
1514         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
1515         when dragging across widgets, only in drags
1516         starting in widget.
1517
1518 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
1519
1520         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
1521         Emit "drag_end" signal at end of drag.
1522
1523 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
1524
1525         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
1526         for "gtk-embedded" data currently set by 
1527         GtkSocket, and use that to forward client message
1528         on to embedded windows. Only reset our own toplevel -
1529         the others will handle themselves. (Now that
1530         GtkMenus live in GtkWindows)
1531
1532 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
1533
1534         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
1535         client window finding code so that it works with
1536         WM's other than fvwm.
1537  
1538 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
1539
1540         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
1541         the "GtkDrawWindow" class, which is a descendent
1542         of the Window class which leaves its background alone.
1543         Essentially, a toplevel drawing area, though it does
1544         allow adding a child.
1545
1546 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
1547
1548         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
1549         merging RC styles. Report new share/themes path for
1550         themes directory. Deref theme engines when appropriate.
1551
1552         * gtk/gtkclist.c: Set all backgrounds in _style_set().
1553         Make sure that pixel for xor_gc is never 0.
1554
1555         * gtk/gtkctree.c: Choose colors for plus/minus more
1556         carefully, in a hopefully style-independent fashion.
1557         (Still needs a bit more work)
1558
1559         * gtk/gtkwidget.c: Don't send expose events to widgets
1560         which are about to be resized and redrawn. (Needs a
1561         bit more thought.)
1562
1563         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
1564         drawing on tabs for newly allocated, un-sized
1565         pages - we'll get the size wrong.
1566
1567 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
1568
1569         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
1570         up stupidities in last commit.
1571
1572 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
1573
1574         * gtk/gtkwidget.c: When handling queued resizes, account
1575         for handleboxes, where the widget heirarchy is different
1576         than the window heirarchy by just queueing a resize on
1577         the entire handlebox if the detached child is changed.
1578
1579         - Remove widgets from the redraw queue when reparenting,
1580         even if not unrealizing. We queue a resize/redraw in
1581         any case.
1582
1583 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
1584         * gtk/gtkstyle.c: added check to see if the widget has been shaped
1585         byt the app via gtk_widget_shape_combine_mask and if it has does
1586         not reset the shape on theme change.
1587         
1588 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1589
1590         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1591         want to stat the entries (like /afs), and assume everything in
1592         those directories is a subdirectory.
1593
1594         - When following a path, try to open components even when
1595         we don't find them in their parent's directory to
1596         support automounters.
1597
1598 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
1599
1600         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
1601         now at least compiles again.
1602
1603         * gdk/gdk.c (gdk_event_translate): Don't pass events
1604         on destroyed widgets to the gdk_input layer.
1605
1606 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
1607
1608         * gtk/gtkthemes.c: Use g_module instead of dlopen()
1609
1610 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
1611
1612         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
1613         if we've changed widgets since the expose event
1614         was queued.
1615
1616 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
1617
1618         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
1619         to restore approximate bin compatibility with the
1620         non-themes branch. (This does break bin compat
1621         within the themes branch.)
1622
1623 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
1624
1625         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
1626         gdk_window_clear_area() that snuck in with the
1627         menu underlines merge.
1628
1629 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
1630
1631         * gtk/gtktext.c: Fixed some remaining background drawing,
1632           merges from main branch, cleanups.
1633
1634 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
1635
1636         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
1637           dereference NULL focus tab.
1638
1639         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
1640           functions since we need to both show/hide and 
1641           queue a redraw. (There's some duplication of drawing here, 
1642           we probably should only be queuing a redraw on the
1643           "value" portion of the scale.)
1644
1645 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
1646
1647         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
1648           into the theme-drawing framework. We do this by making them,
1649           like check/radio-buttons, no-window widgets with subwindows. We
1650           then move the value by calling gtk_widget_queue_clear() and only
1651           redraw the value in our draw() / expose() handler.  A virtual
1652           function clear_background is added which queues a clear on the
1653           "background" portion of the widget.
1654
1655 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
1656
1657         * gtk/gtktext.c (mark_bg_gc): Make background colors work
1658           again. (We can't always paint the background with a
1659           paint() function - only do that for selected text)
1660
1661 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
1662
1663         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
1664           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
1665
1666         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
1667           the themes can't be built as part of the same build since
1668           they depend on gdk_imlib.
1669
1670 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
1671
1672         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
1673           from gtkthemes.c.
1674                 
1675         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
1676           gtk/
1677
1678           - Upgrade to libtool-1.2b + patch to add shared library dependencies
1679             for Linux. (Needs to be extended to other platforms where they
1680             are safe)
1681
1682          - Check for -ldl so this branch should build on all platforms, though
1683            themes will work on all platforms they could work on.
1684
1685          - Use -version and -release simultaneously: sonames stay as they are
1686            in the current scheme, but -lgtk-1.1 changes to -lgtk.
1687
1688          - Added in extra -l flags to library LDFLAGS so we get shared library
1689            dependencies against X libs and -ldl. (But not libgtk against 
1690            libgdk or libglib yet, since dependencies against uninstalled
1691            libraries aren't portable)
1692
1693 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
1694         * gtkrc.c - added api calls to find module and theme paths from gtk.
1695           nuked gtk_install_prefix global.
1696         
1697 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1698         * fixed gtk_install_prefix global.
1699           
1700 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
1701         * added gtk_install_prefix global const variabel to find where gtk is
1702           installed.
1703           
1704 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1705         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
1706           gtk theme engines
1707         
1708 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1709         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
1710
1711 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
1712         * Fixed minor problem in gtkhandlebox.c with drawing, and some
1713           notebook stuff. Also pixmap theme is now "clean" again.
1714           
1715 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1716         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
1717           queued area resizing once more.
1718
1719 Mon Aug 10 23:09:30 EDT 1998
1720         * Added a few drawing fixes for notebook and other widgets. finished
1721           pixmap theme up to the level that can be supported so far. (need to
1722           add path discovery 9ie where is the rc fiel from - add to pixmap 
1723           path so we can get theimages from there too). then we can package 
1724           themes. After that need to add to theme seartch path stuff in users 
1725           home dir.
1726           
1727 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
1728
1729         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
1730           drawing area, draw in an expose handler.
1731
1732         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
1733           empty current page.
1734
1735 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
1736
1737         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
1738           creation of GC's so that they will be set before
1739           they are used for map events (why are they used there?)
1740
1741         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
1742           be queued in multiple times in the queue.
1743
1744 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
1745
1746         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
1747           clip rects (or do anything) for shadow_none.
1748
1749 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
1750
1751         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
1752           Yes, it was needed. draw() and expose() are _not_
1753           identical.
1754
1755 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
1756         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
1757
1758 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1759         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
1760           more baby oooh yeah more more MORE YES YES.
1761
1762 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1763         * hopefully fixed problem wiht togglebuttons acting like
1764           radiobuttons in gtktogglebutton.c
1765
1766 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1767         * fixed another drawing buglet in the frame drawing code (actually
1768           in the clearing code but anyway in gtkstyle.c)
1769
1770 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1771         * Fixed warning from colorsel widget...
1772
1773 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1774         * Fixed defautl drawing code to no longer clobber the original style
1775           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1776           help with this.
1777
1778 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1779
1780         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1781
1782         * gtk/gtktooltips.c: Pass a widget (the window) to the
1783           drawing function instead of the GtkTooltips.
1784
1785 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1786
1787         * gdk/gdkwindow.c: Abstract out checking for shape
1788           extension into a function.
1789
1790         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1791           Remove extra callls to gtk_window_draw().
1792
1793 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1794
1795         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1796
1797         * themes/th_main.c: Moved messages around so they are
1798           printed before destroying strings.
1799
1800 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1801
1802         * gdk/gdk.c: Fairly simple implementation of expose compression.
1803           (No GraphicsExpose compression yet, always compress
1804           with the equivalent of XtCompressMultiple - no compression
1805           of Expose events across non-Expose events)
1806         
1807         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1808           Find rectangle bounding two rectangles.
1809
1810         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1811           in gdk_default_draw_shadow()
1812         
1813 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1814         * Fixed drawing functions to handle switching themes on the fly 
1815           gracefully and look decent.
1816           
1817 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1818         * Added all the theme drawing code to all widgets, fixed up minor
1819           nigglies in some widgets when it comes to themes, seem to be
1820           running into some funky behavior with clipping rects in GC's. Too
1821           many files to list here. (all files that now use gtk_paint_* are
1822           affected).
1823
1824 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1825
1826         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1827           Set up the demo theme so it is loaded from the RC file.
1828
1829         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1830           bit. (use $HOME/themes/)
1831
1832         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1833           the RC file via dlopen()
1834
1835 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1836
1837         Internal handling of styles and RC styles pretty much
1838         completely reworked for Theme work.
1839
1840         * gtkthemes.[ch]: 
1841          - Added routines for virtualization of RcStyle and Style handling.
1842          - Temporary "sample" inline theme-engine. (Does nothing
1843            but print out a few messages.
1844         
1845         * gtkrc.[ch]
1846          - Made GtkRcStyle public, added flags to tell if particular
1847            colors have been set.
1848          - RC Styles are "transparent", and the final style for
1849            a widget is the composition of all matching styles
1850          - Added pointer to GtkThemeEngine, and gpointer engine_data
1851            to RC style and style.
1852          - Parse "engine" keyword, load the appropriate theme engine
1853            and call the engine's parser.
1854         
1855         *  gtkstyle.[ch]
1856          - Keep a GtkRcStyle * in styles created from Rc Styles.
1857          - Load up images from RC file at style attachment time.
1858          - Call ->engine->foo() at appropriate times.
1859          - Don't use a GCache. All incarnations for a style are
1860            just linked together in a list, depend on the RC style 
1861            code to find the existing copy.
1862
1863 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1864
1865         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1866           of partial areas. This can be done either relative
1867           to the existing windows (gtk_widget_queue_clear[_area]())
1868           or relative to the future allocation of the widget
1869           (gtk_widget_queue_draw[_area]). 
1870
1871           The initial implementation is pretty braindead, but
1872           can be improved.
1873
1874         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1875           in favor of gtk_widget_queue_clear().
1876         
1877         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1878           flags in favor of gtk_widget_queue_clear()
1879         
1880 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1881
1882         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1883           handling of partially clipped areas.
1884
1885 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1886
1887         * gtk/gtkclist.h (struct _GtkCListClass)
1888         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1889
1890 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1891
1892         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1893         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1894
1895         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1896         "hadjustment" & "vadjustment"
1897          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1898         set/get_arg functions
1899         (gtk_clist_construct): don't create/adjust scrollbars.
1900         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1901         to set h/vadjustments
1902         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1903         to query h/vadjustments
1904         (create_scrollbars): removed.
1905         (create_adjustments): replacement for create_scrollbars
1906         (gtk_clist_new): call gtk_clist_new_with_titles
1907         (gtk_clist_new_with_titles): don't warn on titles == NULL
1908         (move_horizontal): use CLAMP instead
1909         (gtk_clist_set_policy): deprecated method.
1910         use gtk_scrolled_window_set_policy instead.
1911         (vadjustment_value_changed): use clist->vadj.
1912         (adjust_scrollbars): renamed to adjust_adjustments
1913         (adjust_adjustments): former adjust_scrollbars
1914         (gtk_clist_destroy): unref adjustments
1915         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1916         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1917         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1918         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1919         (gtk_clist_set_row_height) (real_resize_column):
1920         call adjust_adjustments
1921         (gtk_clist_moveto): return if clist has no adjustments yet.
1922         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1923         Autogenerate h/vadjustments if needed.  
1924         (move_horizontal) (move_vertical): some cleanups
1925
1926         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1927         call only gtk_viewport_set_h/vadjustment and let these functions
1928         do the work.
1929         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1930         generate a new adjustment if needed
1931
1932         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1933         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1934         
1935         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1936         queue_resize if visibility of scrollbars changes
1937         (gtk_scrolled_window_remove): only call container_remove with
1938         scrolled_window->viewport automatically if viewport was autogenerated
1939         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1940         auto create a viewport only if widget does not take h/vadjustments.
1941         (gtk_scrolled_window_construct): don't generate a viewport
1942         automatically.
1943         (gtk_scrolled_window_forall): call callback with viewport in any case
1944         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1945         ARG_VIEWPORT
1946         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1947         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1948         viewport != NULL
1949
1950         * gtk/testgtk.c 
1951         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1952         in conjunction with clists/ctrees
1953
1954         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1955         in conjunction with clists
1956
1957         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1958         in conjunction with clists
1959
1960 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1961
1962         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1963         (gtk_ctree_remove_node): select focus_row if needed
1964         (cell_size_request): only get pixmap size if pixmap != NULL
1965
1966 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1967
1968         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1969         GTK_IS_WIDGET (widget):
1970
1971 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1972
1973         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1974         focus_row after a remove_row call.
1975
1976 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1977
1978         * gtk/gtkoptionmenu.c
1979         * gtk/gtkmenushell.c: make option menus work when some of the
1980         menuitems are hidden - previously, option menu would popup too
1981         high.
1982
1983 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1984
1985         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1986
1987         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1988
1989         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1990         case instead.
1991         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1992         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1993         widechar functions.
1994         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1995
1996 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1997
1998         * Released GTK+ 1.1.3
1999         
2000         * INSTALL:
2001         * NEWS:
2002         * README:
2003         * gtk+.spec:
2004         * docs/gtk-config.1: updated for v1.1.3
2005
2006         * Makefile.am
2007         * sanity_check
2008         * docs/Makefile.am: Includes new 'make release' as well as
2009           'make sanity'.  Also handles html and text creation from html,
2010           and puts them into the distribution
2011
2012         * docs/Makefile.sgml: removed, similar functionality is now in 
2013           the Makefile.am file
2014
2015         * docs/.cvsignore: ignore html and text directories
2016         * docs/glib.texi: removed (now in glib dist)
2017
2018 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
2019
2020         * gtk/gtklist.c (gtk_list_remove_items_internal): 
2021         free undo_un/selection, unselect list_item before disconnect
2022         signal functions
2023         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
2024         already
2025         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
2026         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
2027         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
2028         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
2029         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
2030         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
2031         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
2032         new functions. These functions are signal connected to inserted
2033         list_items, to handle key bindings and GtkItem::de/select/toggle
2034         signals.
2035
2036         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
2037         gtk_object_class_add_signals call.
2038         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
2039         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
2040         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
2041         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
2042         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
2043         removed. These functions are handled via connected
2044         gtk_list_signal_* functions now
2045
2046 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
2047
2048         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
2049         even with --include-deps:
2050         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
2051
2052 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
2053
2054         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
2055         gtk_object_data_set_destroy to fit the gtkobject.h API.
2056
2057         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
2058         * gtk/gtkfontsel.h:
2059         * gtk/gtkfontsel.c:
2060         Added support for an extra 'base' filter which an application can
2061         set to restrict the fonts available to the user (e.g. a terminal
2062         program only wants the user to be able to select fixed-width fonts).
2063         The type of font (bitmap/scalable/scaled bitmap) is now
2064         also a part of the filter, so that an application can
2065         request that only scalable fonts are shown.
2066         There are new functions to set the base & user filters.
2067         I've also stopped the up/down key press signals getting
2068         to the clists since the font selection widget handles
2069         them itself. It acted a bit strangely before.
2070
2071 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
2072
2073         * gtk/gtkmain.c (gtk_init): support an environment variable
2074         GTK_MODULES= which takes a colon sperated list of module names
2075         automatically loaded at gtk_init() startup.
2076
2077 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
2078
2079         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
2080
2081 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
2082
2083         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
2084         is sufficient
2085
2086 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
2087
2088         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
2089         columns
2090
2091 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
2092
2093         * gtk/gtkfilesel.h: GtkType and macro fixups
2094         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
2095         for the file selection widget to try a completion on (set the
2096         initial filter).
2097
2098 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
2099
2100         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
2101         slight speed improvement and lessens code duplication.
2102
2103 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
2104
2105         * gtk/gtkdnd.c: Always send "drag_leave" to dests
2106         without GTK_DEST_DEFAULT_MOTION. 
2107
2108 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
2109
2110         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
2111         on destroyed windows so we clear the XID table properly.
2112         Finish up restructure of return value handling that
2113         was half-done before.
2114
2115 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
2116
2117         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
2118         the window tree more comprehensively, so that we find
2119         client windows hidden under non-toplevels.
2120
2121 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
2122
2123         * gtk/gtkselection.c (gtk_selection_data_set): 
2124         Maintain the null-termintation guarantee, even when 
2125         data = NULL, length = 0. (Warn on data = NULL, 
2126         length > 0)
2127
2128 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
2129
2130         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
2131         into function prototype for drag_data_received. 
2132
2133 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
2134
2135         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
2136
2137 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
2138
2139         * gtk/gtkclist.c: rearranged some functions
2140         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
2141         flag of column
2142         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
2143         (gtk_clist_set_border): deprecated function, use
2144         gtk_clist_set_shadow_type instead.
2145         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
2146         (adjust_scrollbars): some cleanups
2147         (select_row) (unselect_row): removed. replaced by equivalent
2148         gtk_signal_emit calls
2149         (add_style_data): removed, use gtk_clist_style_set instead
2150         (gtk_clist_style_set): fill in size data, after style was set. 
2151         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
2152         (gtk_clist_set_cell_style): auto_resize columns if needed
2153         (column_auto_resize): resize column if needed for auto_resize 
2154         (real_clear): disable auto_resize while list destroy
2155         (resize_column): removed
2156
2157         * gtk/gtkctree.c : (gtk_ctree_remove_node)
2158         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
2159         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
2160         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
2161         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
2162         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
2163         auto_resize columns if needed
2164         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
2165         (real_clear): disable auto_resize while processing the tree
2166
2167         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
2168         for one column
2169
2170 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
2171
2172         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
2173         typo - look for right atom on transfer failures.
2174
2175 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
2176
2177         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
2178         for drag_data_get to match the use that was being
2179         made of it everywhere else...
2180
2181 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
2182
2183         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
2184         mechanism, that is used for the DND messages.
2185
2186           Removed all the old DND code.
2187
2188         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
2189         get the visual of a given colormap.
2190         
2191         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
2192         a color-swatch.
2193
2194         * gdk/gdk.h gdk/gdkdnd.c: The low-level
2195         X oriented portions of drag and drop protocols.
2196         Sending and receiving client messages, and navigating
2197         window trees.
2198
2199         * gdk/gdkimage.c: added a gdk_flush() when destroying
2200         SHM images to hopefully make it more likely that
2201         X will gracefully handle the segment being destroyed.
2202
2203         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
2204         DND debugging flags.
2205
2206         * gtk/gtkeditable.[ch]: Updates for the selection handling
2207         changes.
2208         
2209         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
2210         refcounted data structure for keeping track of lists
2211         of GdkAtom + information. Removed selection_handler_add
2212         in favor of a "drag_data_get" signal.
2213
2214         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
2215         dependent) parts of the DND protocols, display of drag icons,
2216         drag-under highlighting, and the "default handlers".
2217
2218         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
2219         windows that are used for reliable pointer grabs and
2220         selection handling in the DND code.
2221
2222         * gtk/testdnd.c: New test program for new DND. (Old
2223         DND tests in testgtk still need to be converted.)
2224
2225         * gtk/testselection.c: Use the new selection API.
2226         
2227         * docs/dnd_internals: Start at describing how
2228         all the new code works inside.
2229
2230         * docs/Changes-1.2.txt: New file describing source-incompatible
2231         changes in GTK+-1.2.
2232
2233 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
2234
2235         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
2236         the right list node.
2237
2238         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
2239         to the XID table so we can receive events on it.
2240
2241 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
2242
2243         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
2244         to get the timestamp from a generic event.
2245
2246 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
2247
2248         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
2249         that safely adds additional events to a widget's event 
2250         mask, even if the widget has previously been realized.
2251         (We can do this, but not remove events from the event
2252          mask).
2253
2254 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
2255
2256         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
2257         for AnyPropertyType.
2258
2259 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
2260
2261         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
2262         hashing.
2263
2264 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
2265
2266         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
2267         isn't a timestamp.
2268
2269 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
2270
2271         * gdk/gdk.c (gdk_event_translate): Removed printing
2272         of unknown window lookup warnings. (Made it
2273         a GDK_NOTE) - they happen in many circumstances.
2274
2275 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
2276
2277         * Call XFilterEvent() on events we get for unknown
2278         windows, since it may be the window Xlib uses to
2279         communicate with the IM. 
2280         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
2281
2282 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2283
2284         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2285         the adjustment.
2286
2287 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
2288
2289         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
2290         message for return_value + GTK_RUN_FIRST.
2291
2292 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
2293
2294         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
2295         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
2296
2297 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
2298
2299         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
2300         styles of inserted row
2301         (change_style): change style of focus_row
2302
2303         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
2304         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
2305         to set/get row/cell styles.
2306         (gtk_clist_realize): attach row and cell style, allocate row colors.
2307         (gtk_clist_unrealize): detach row and cell styles.
2308         (get_cell_style): new function. get correct cell style.
2309         (draw_cell_pixmap): new function. 
2310         (draw_row): draw cells with row or cell styles.
2311         (row_new): set cell and row styles to NULL.
2312         (row_delete): detach & unref cell and row styles.
2313
2314         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
2315         new functions to attach/detach styles and allocate colors.
2316         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
2317         styles of invisible nodes.
2318         (draw_cell_pixmap): new function. 
2319         (get_cell_style):  new function. get correct cell style.
2320         (gtk_ctree_draw_expander): new function. draw tree expander.
2321         (gtk_ctree_draw_lines): new function.draw tree lines.
2322         (draw_row): draw cells with row or cell styles.
2323         (row_new): set cell and row styles to NULL.
2324         (row_delete): detach & unref cell and row styles.
2325         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
2326         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
2327         Analogons of GtkCList functions 
2328         (gtk_ctree_set_spacing): new function. set spacing between
2329         tree expander and cell contents
2330         (gtk_ctree_set_expander_style): new function. set expander style
2331         of ctree.
2332         (ctree_is_hot_spot): few changes due to draw_row modifications.
2333
2334 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
2335
2336         * gtk/gtkcombo.c: try completion on MOD1-TAB.
2337         Handle case when the combo->list is empty.
2338
2339 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
2340
2341         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
2342         handlers that have not yet been disconnected (finally managed to
2343         trigger the gtk_signal_handler_unref() paranoid warning).
2344
2345 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2346
2347         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
2348         width and height which is -1 and not -2.
2349
2350 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
2351
2352         * HACKING
2353         * autogen.sh: we need libtool 1.2b now
2354
2355 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2356
2357         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
2358         and bottom attach arguments as mandatory and readjust the table size
2359         and opposing edge accordingly if required. this way the order in which
2360         the arguments are set doesn't matter.
2361
2362 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
2363
2364         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
2365         message to print out parent class name correctly.
2366
2367 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
2368
2369         * gtk/gtkobject.h: 
2370         * gtk/gtkobject.c:
2371         removed functions gtk_object_set_data_destroy and
2372         gtk_object_set_data_destroy_by_id.
2373         added functions gtk_object_remove_no_notify and
2374         gtk_object_remove_no_notify_by_id which will remove a certain data
2375         portion without invokation of its destroy notifier, this should only
2376         be used in very controled circumstances.
2377
2378 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
2379
2380         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
2381         size_allocate_title_buttons call
2382         (gtk_clist_realize): changed initial column.window position
2383
2384 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
2385
2386         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
2387         xor_gc instead
2388         * gtk/gtkctree.c (create_xor_gc): removed
2389         (gtk_ctree_button_press): set correct line_attributes for
2390         clist->xor_gc on drag start
2391         (gtk_ctree_button_release): reset clist->xor_gc
2392
2393 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
2394
2395         * gtk/gtk*.h:
2396         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
2397         which were in place to fixup emacs' cc-mode indentation.
2398         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
2399         proper way to achive this and doesn't produce problems for
2400         stupid pragma-related compiler bugs. ;)
2401
2402 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
2403
2404         * gtk/gtkclist.h: new signal GtkCList::resize_column.
2405         * gtk/gtkclist.c (draw_row): don't draw invisible columns
2406         (size_allocate_title_buttons) (size_allocate_columns):
2407         skip invisible columns
2408         (new_column_width): take min/max_width into account 
2409         (gtk_clist_button_release) (gtk_clist_motion):
2410         changes due to changed new_column_width function
2411         (LIST_WIDTH): changed define to inline function.
2412         (real_resize_column): class function for resize_column signal
2413         (gtk_clist_motion): fixed autoscrolling for column resizes
2414         (gtk_clist_set_column_visibility): don't hide last visible column,
2415         changed visible arg to gboolean
2416         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
2417         new functions : set min/max width of a column
2418         (gtk_clist_set_column_resizeable): new function : enable/disable
2419         column resize operations by mouse
2420
2421         * gtk/gtkctree.c (draw_row): don't draw invisible columns
2422         (ctree_is_hot_spot): return FALSE if tree_column is invisible
2423         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
2424         tree_column is invisible
2425         (gtk_ctree_find_all_by_row_data)
2426         (gtk_ctree_find_all_by_row_data_custom):  new function from
2427         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
2428         GtkCTreeNodes with row->data == data.
2429
2430 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
2431
2432         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
2433         memory (Martin Pool <mbp@wistful.humbug.org.au>).
2434
2435 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
2436
2437         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
2438         should have been guint32. Thanks to Tristan Colgate for finding it.
2439
2440 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2441
2442         * gtk/gtkcalendar.h:
2443           gtk/gtkcalendar.c: More changes:
2444           - The day with focus is now seperated from the day selected
2445           - The day with focus has the xor's line around it
2446           - The selected day is now standard selected style
2447           - The week names and week numbers are now also drawn
2448             with selected style
2449           - Space now selects the day which has focus
2450
2451 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2452
2453         * gtk/gtkcalendar.h:
2454           gtk/gtkcalendar.c: Some significant changes, including:
2455           - No longer draw focus around entire widget, only around
2456             the day which has focus
2457           - Draw relief around entire widget like originally planned
2458           - Show header and day names by default 
2459           - Move data private to the widget out of GtkCalendar struct
2460             and only point to it with a gpointer
2461           - Remove some old unused variables from GtkCalendar struct
2462
2463 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
2464
2465         * docs/gtk_tut.sgml: update I've had sat around:
2466           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
2467           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
2468           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
2469
2470 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
2471
2472         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
2473         
2474         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
2475         Makes it possible to individually show and hide columns.
2476         (size_allocate_columns): Adapted to keep track of hidden columns.
2477         (size_allocate_title_buttons): Likewise.
2478
2479 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
2480
2481         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
2482         fundamental types, collect an argument of the type returned from
2483         gtk_type_get_varargs_type(). removed the first macro argument which
2484         was just the same as the fundamental type of the *arg passed to
2485         the macro.
2486         * gtk/gtkarg.c (gtk_args_collect): 
2487         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
2488
2489         * gtk/gtktypeutils.h: 
2490         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
2491         gtk_type_get_varargs_type() to set and query the varargs collect
2492         type used for a fundamental type, registered outside of Gtk.
2493
2494         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
2495         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
2496         GTK_TYPE_FLOAT.
2497
2498         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
2499         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
2500         to GTK_TYPE_FLOAT.
2501
2502 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
2503
2504         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
2505         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
2506         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
2507
2508         (real_tree_expand) (real_tree_collapse):
2509         don't expand/collapse a leaf
2510
2511 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
2512
2513         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
2514         segfault when looking up a non-existant value name (reported by
2515         Pablo <pcj+gtk@primenet.com>).
2516
2517 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
2518
2519         * gtk/gtkclist.h (gtk_clist_prepend):
2520         * gtk/gtkclist.c (gtk_clist_prepend): new function.
2521         (gtk_clist_insert): added g_return_val_if_fail()
2522         statements. accept a row parameter < 0 or > clist->rows to indicate
2523         append mode.
2524         (real_clear): first clean up all internal pointers and lists (e.g.
2525         clist->row_list or clist->rows), then delete the distinct rows. this
2526         is required because of destroy notifiers, we need to have all internal
2527         structures updated and be reentrant.
2528
2529         * gtk/gtkcalendar.h: 
2530         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
2531         GtkCalendarClass signal methods.
2532         GtkType and macro fixups, put `void' into () prototypes, avoid C++
2533         style comments, indentation fixes, fixed some g_return_if_fail()
2534         statements.
2535         (gtk_calendar_paint_header):
2536         (gtk_calendar_paint_day_names): 
2537         (gtk_calendar_paint_week_numbers): 
2538         (gtk_calendar_paint_main): made these static functions.
2539         (gtk_calendar_select_month):
2540         (gtk_calendar_select_day):
2541         (gtk_calendar_mark_day):
2542         (gtk_calendar_unmark_day):
2543         (gtk_calendar_get_date): signedness corrections, use guints
2544         rather than gints.
2545         (gtk_calendar_size_request): removed unused variables.
2546
2547 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
2548
2549         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
2550         widgets in the ->widgets_by_action list that have a callback
2551         defined (not only those with a callback_action!=0).
2552
2553 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2554
2555         * gtk/gtkcalendar.h:
2556           gtk/gtkcalendar.c:
2557           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
2558
2559 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2560
2561         * gtk/gtkcalendar.h:
2562           gtk/gtkcalendar.c:
2563           examples/calendar: Added gtkcalendar widget and demo
2564
2565 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
2566
2567         * gtk/gtkclist.c (gtk_clist_sort): 
2568         (gtk_clist_clear): 
2569         (gtk_clist_unselect_all): 
2570         (gtk_clist_select_all): adde g_return_if_fail() statements.
2571
2572 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
2573
2574         * configure.in: set binary age and interface age to 0.
2575
2576         * gtk/gtkspinbutton.h: 
2577         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
2578         gtk_spin_button_configure. gtk_spin_button_construct is still defined
2579         as an alias for gtk_spin_button_configure for source compatibility,
2580         but actuall use is deprecated.
2581         typeness corrections, i.e. gint->gboolean and gint->guint.
2582         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
2583         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
2584         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
2585         GtkSpinButton::adjustment, GtkSpinButton::digits and
2586         GtkSpinButton::climb_rate.
2587         GtkType and macro fixups.
2588
2589 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2590
2591         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
2592         the *real* geometry position of a window, taken possible window
2593         manager offsets into account.
2594         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
2595         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
2596         it does fail though for amiwm which adds windows to a pseudo root
2597         window, and for icewm by a small offset because it defines the
2598         geometry position whithin its border.
2599
2600         * gtk/testgtk.c: added "saved position" test to figure how
2601         gdk_window_get_root_origin() interacts with window managers (repopup
2602         this window to figure ;).
2603
2604 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
2605
2606         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
2607         interface age 1.
2608
2609         * gtk/gtkobject.c
2610         (gtk_object_ref): 
2611         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
2612         existing code was buggy in letting ->ref_count==0 pass through and
2613         then failing the living_objs_ht assertion).
2614
2615         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
2616         pixtext fields (Roman Pozlevich <roma@botik.ru>).
2617
2618 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2619
2620         * Released GTK+ 1.1.2
2621
2622 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
2623
2624         * gtk/Makefile.am: use $(PERL) instead of perl
2625         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
2626         also much faster to render.
2627
2628 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
2629
2630         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
2631         the required memory block, rather than allocating it newly from
2632         scratch and doing a full-blown block copy on it.
2633
2634 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
2635
2636         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
2637         binary age 0, interface age 0.
2638
2639         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
2640
2641 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2642
2643         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2644         work.
2645
2646 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
2647
2648         * HACKING: indent other than GNU indent should be OK
2649           now.
2650
2651         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
2652           instead of piping through indent. If indent wasn't
2653           found in ./configure don't bother indenting at 
2654           all.
2655
2656 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
2657
2658         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
2659
2660 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
2661
2662         * gtk/Makefile.am: use $(AWK) instead of awk
2663
2664 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
2665
2666         * gtk/Makefile.am (gdk_headers): 
2667         Remove references to $(top_srcdir). 
2668         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
2669         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
2670
2671 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
2672
2673         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
2674         GData*object_data to cure compiler warnings.
2675
2676 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
2677
2678         * install-sh
2679         * missing
2680         * mkinstalldirs: updated to latest automake version
2681
2682 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
2683
2684         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
2685         (gtkinclude_HEADERS): ... here.
2686         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
2687
2688 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
2689
2690         * HACKING: added GNU indent, as it is now required to successfully
2691         build gtk+. Should this be detected in autoconf, possibly?
2692
2693 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2694
2695         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
2696         change library versioning scheme to drop LT_RELEASE
2697         from the -l line, while keeping it in the soname.
2698
2699 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2700
2701         * configure.in Makefile.in: define a MAINT-like variable REBUILD
2702         which is set if Perl and awk are found, and autogenerated sources
2703         can be rebuilt. Remove the auto-generated sources from
2704         CVS. 
2705
2706         Add dependencies so that the autogenerated sources are 
2707         rebuilt if the files they depend on change. 
2708         (This unfortunately currently results in the entire
2709         gtk/ directory being rebuilt when any header changes.
2710         Moving all enums to gtkenums.h would fix this.)
2711
2712 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
2713
2714         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
2715         gtk_object_set_data_destroy_by_id functions to set the destroy
2716         function pointer for an existing data portion.
2717
2718         * gtk/gtkobject.c: removed the GtkObjectData implementation and
2719         made all gtk_object_*data* functions use the GLib equivalents.
2720
2721 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2722
2723         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
2724         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
2725         (widget != NULL), otherwise radio button insertion will not work
2726         -- the widget argument is NULL for the first radio button in the
2727         group.
2728
2729 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2730
2731         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
2732         of g_new to malloc(), added back in the one place where
2733         it actually mattered. #include <stdlib.h>.
2734
2735         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
2736
2737 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2738
2739         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2740         want to stat the entries (like /afs), and assume everything in
2741         those directories is a subdirectory.
2742
2743         - When following a path, try to open components even when
2744         we don't find them in their parent's directory to
2745         support automounters.
2746
2747 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
2748
2749         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
2750         a new size from the WM if we asked for the same size
2751         before and our request was rejected.
2752
2753         * gtk/gtkwindow.c (gtk_window_configure_event): If
2754         in response to a request, we get a configure event
2755         with unchanged dimensions, send a synthetic expose
2756         since ForgetGravity won't expose our window.
2757
2758 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
2759
2760         * gtk/gtktext.c (adjust_adj): Change the way we
2761         set the adjustments on resize so that it tries to
2762         keep the beginning of the text in approximately
2763         the same place. 
2764
2765         Removed assertion that the above change made invalid.
2766
2767 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2768
2769         * gtk/gtktext.c: - Save first_cut_pixels when switching
2770         sizes, so that if we switch to the _same_ size,
2771         we don't move lines around.
2772
2773         - Make sure that the text area always has a size of at
2774         least 1x1, then do all computations when realized.
2775
2776         - When fetching lines in recompute_geometry, make
2777         sure we fetch enough lines to cover the screen.
2778         
2779 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2780
2781         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2782           g_free()s to free()s to avoid mixing g_new()s with 
2783           free()s.  X itself uses free() on some of the 
2784           malloced memory.
2785
2786 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2787
2788         * gtkfilesel.c: Maintain a list of directories like
2789         /afs we know contain only directories, and avoid
2790         stat'ing files in those directories. (Because
2791         stat'ing all files in /afs is extremely expensive)
2792
2793         To support automounters, try to open directories,
2794         even if we couldn't find them when reading their
2795         parent directory.
2796
2797 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2798
2799         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2800         to allow the same gtk.m4 to work for 1.0.x and
2801         1.1.x.
2802
2803 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2804
2805         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2806         to set/unset the selectable flag of a single row.
2807         (gtk_clist_get_selectable): new function 
2808         to get the state of the selectable flag
2809
2810         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2811         (gtk_ctree_node_get_selectable): clist analogons
2812         
2813 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2814
2815         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2816         pattern.
2817
2818         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2819         bugs in the 4bit gray cases.
2820
2821 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2822
2823         * configure.in: added -posix check for NeXTStep
2824
2825         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2826         a unique buffer for each thread.
2827
2828         * docs/gtk-config.1: clarified copyright
2829
2830 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2831
2832         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2833
2834         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2835
2836         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2837         ATEXIT.
2838         
2839         * ltconfig: use GLib's ltconfig which honours lcc.
2840
2841 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2842
2843         * configure.in: comment the -std1 check and save LIBS properly
2844
2845 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2846
2847         * gtk/testrgb.c: #include <stdlib.h>
2848
2849 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2850
2851         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2852         When the pointer is grabbed on an input window,
2853         either explicitely, or through press-grab, and
2854         then grabbed on a non-input window, ungrab the
2855         devices.
2856
2857 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2858
2859         * gtk/gtktypeutils.h: don't include any gdk headers.
2860         added structure definitions for GtkTypeObject and GtkTypeClass,
2861         which cover the very basic fields of GtkObject and GtkObjectClass,
2862         which are actually used by the type system.
2863         
2864         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2865         we only refer to our own structures. improved class inheritance
2866         sanity checking a bit.
2867
2868         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2869         of the GtkObject and GtkObjectClass structures, which explain
2870         their relationship to GtkTypeObject and GtkTypeClass.
2871
2872         * gtk/gtktypeutils.h:
2873         * gtk/gtkobject.h:
2874         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2875         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2876         gtkobject.h to gtktypeutils.h.
2877
2878         * gtk/gtkobject.h:
2879         * gtk/gtkobject.c:
2880         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2881         functions. to keep source compatibility, we can provide macro aliases
2882         for the corresponding gtk_type_* functions. but then again, people
2883         shouldn't have been using these functions anyways since they were part
2884         of Gtk's internal API.
2885
2886         * gtk/gtktypeutils.h:
2887         * gtk/gtktypeutils.c:
2888         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2889         functions to check GtkTypeObject and GtkTypeClass types.
2890
2891 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2892
2893         * gtk/gtkctree.h:
2894         * gtk/gtkctree.c: `const' fixups.
2895
2896         * gtk/gtkclist.h:
2897         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2898
2899         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2900         if it is passed as NULL.
2901
2902 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2903
2904         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2905         big-endian cases. Added a 4bpp packed gray mode (somewhat
2906         incorrectly hardwired to MSB), which should take care of
2907         Stric's hardware.
2908
2909 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2910
2911         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2912         GtkSIgnalQuery leak.
2913
2914 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2915
2916         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2917         GTK_MENU_DIR_CHILD: check for the existance of
2918         menu_shell->active_menu_item before accessing its child.
2919         GTK_MENU_DIR_PREV:
2920         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2921         don't, make a default selection.
2922
2923 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2924
2925         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2926         the children with _forall for sensitivity changes and with
2927         _foreach on pure state changes. this fixes a lot of the
2928         old inclusions of internal widgets into _foreach calls.
2929
2930         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2931         do the work. don't walk the subtrees of first level children.
2932
2933         * gtk/gtktreeitem.c: provide a _forall implementation,
2934         which walks the subtrees as well for include_internals.
2935
2936         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2937         the submenus as well for include_internals.
2938
2939         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2940         implemented gtk_scrolled_window_forall, which will iterate over
2941         the viewport and the scrollbars for gtk_container_forall or
2942         iterate over the viewports children for gtk_container_foreach.
2943
2944         * gtk/gtktoolbar.c: 
2945         * gtk/gtktable.c: 
2946         * gtk/gtkpaned.c:
2947         * gtk/gtkpacker.c:
2948         * gtk/gtkmenushell.c: 
2949         * gtk/gtklist.c: 
2950         * gtk/gtkfixed.c:
2951         * gtk/gtkclist.c:
2952         * gtk/gtkbox.c: 
2953         * gtk/gtkbin.c: 
2954         * gtk/gtknotebook.c:
2955         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2956
2957         * gtk/gtknotebook.c:
2958         (gtk_notebook_real_switch_page): expose tabs.
2959         (gtk_notebook_page_num): new function to return the page number
2960         of a distinct child.
2961         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2962         under some circumstances.
2963
2964         * gtk/gtktreeitem.c:
2965         (gtk_real_tree_item_select):
2966         (gtk_real_tree_item_deselect): major fixes.
2967         some general fixups wrt queue_redraw, and tree items not being
2968         NO_WINDOW widgets.
2969
2970         * gtk/gtklistitem.c:
2971         (gtk_real_list_item_select): 
2972         (gtk_real_list_item_deselect): 
2973         (gtk_real_list_item_toggle): 
2974         removed unneccessary queue_redraw calls.
2975
2976 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2977
2978         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2979         automatically popup the menu on space bar.
2980
2981 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2982
2983         * gtk/gtkcontainer.h:
2984         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2985         method), which acts similar to gtk_container_foreach(), but iterates
2986         over internal children. the GtkContainer::foreach signal vanished in
2987         favour of a new class method ->forall() that optionally includes
2988         internal widgets.
2989
2990         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2991         but a _forall implementation, since all child widgets we have are
2992         internal ones.
2993         (column_button_create): set the parent window prior
2994         to gtk_widget_set_parent().
2995
2996         * gtk/gtkwidget.c:
2997         exchanged all calls to gtk_container_foreach() with
2998         gtk_container_forall().
2999
3000         * gtk/gtkwidget.h: 
3001         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
3002         the GtkWidget::composite_child argument. to have a widget created
3003         with the flag initially, two new functions got added to wrap a widgets
3004         creation:
3005         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
3006
3007 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
3008
3009         * gtk/gtktooltips.h:
3010         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
3011         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
3012         prior to the first tip being set.
3013         don't put an extra reference on the window, since it is a toplevel,
3014         it wont get destroyed from anywhere else.
3015
3016         * overall macro and GtkType fixups.
3017
3018 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3019
3020         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
3021         constructs by more forgiving ones.  (Does anyone else feel like
3022         the color selector need rewriting?).
3023
3024 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
3025
3026         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
3027         the adjustment.
3028
3029         * gtk/gtkmenu.c: Modified reference counting so
3030         that the reference count from the toplevel that
3031         the menu creates to the menu is invisible to the
3032         application.
3033
3034 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
3035
3036         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
3037         conversion selection logic, so Suns and other big-endian
3038         machines should get faster conv routines. This is also the
3039         point where 4bpp gray and 1bpp are checked in, although I
3040         wouldn't be surprised if 1bpp is a little buggy. This is
3041         synchronized with the 0.0.7 release of GdkRgb.
3042
3043         * gtk/Makefile.am: 
3044         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
3045         appropriate change to the Makefile.am
3046
3047 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
3048
3049         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
3050         which is good for images that scroll (makes the dither patterns
3051         align correctly)
3052
3053 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
3054
3055         * gdk/gdkcolor.c:
3056         (gdk_colormap_new) (gdk_colormap_get_system):
3057         quell some warnings with g_hash_table_new
3058
3059         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
3060         when we're done with it
3061
3062         * gtk/itemfactory.c:
3063         (gtk_item_factory_from_path):
3064         (gtk_item_factory_create_item): free some strings
3065
3066         * gtk/gtklabel.c:
3067         (gtk_label_finalize): free label->pattern when done
3068         (gtk_label_parse_uline): null terminate pattern string, delete
3069         some duplicated code
3070
3071         * gtk/testthreads.c: add #include <unistd.h> for sleep()
3072
3073 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
3074
3075         * gtk/gtktext.c (recompute_geometry): Make sure the
3076         mark we pass to line start is the beginning of a 
3077         real line, not a wrapped one.
3078
3079 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
3080
3081         * gtk/gtktext.c: Reference count the fonts used in
3082         the text widget.
3083
3084         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
3085         freeing functions to be more consistent, and more 
3086         convenient; leave the old names in for backwards compatibility.
3087
3088         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
3089         allocations in pseudo-color colormaps to greatly reduce
3090         calls to XAllocColor. Keep a per-colormap hashtable to
3091         speed up finding if there is an already-allocated matching
3092         color.
3093
3094         * gdk/gdkcolor.c: Don't just match read the system colormap
3095         when the colormap is created, but synchronize our copy
3096         with the system colormap periodically.
3097         
3098         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
3099         Change XIM constants names to match GDK conventions
3100
3101         * gtk/testinput.c: Allow the drawing area to get the focus.
3102
3103         * gtk/testgtk.c: Change around the Text test to demonstrates
3104         multiple fonts, use more colors.
3105
3106         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
3107         so they work after a widget is unrealized.
3108
3109         * gtk/gtktext.[ch]: Remove the requirement that the text
3110         widget be realized before adding text (!) Allocate colors
3111         ourself, instead of requiring the caller allocate them.
3112         Allow changing styles to work properly by keeping track
3113         of the values for a certain property are default or
3114         set explicitely.
3115
3116         * gtk/gtkmenu.h: Added some comments.
3117
3118         * gtk/gtkentry.c: Changes to match XIM constants.
3119
3120         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
3121         for adding keyed data to drawables. (Uses g_dataset
3122         internally)
3123
3124         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
3125         when creating an XPM - store them as user data for the GdkPixmap,
3126         so we don't leak colors when we create pixmaps from XPM's.
3127
3128         Allocate memory for color information in large blocks instead of 
3129         as many little pieces.
3130         
3131 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
3132
3133         * gdk/gdkrgb.c: removed some unused variables
3134
3135         * gtk/gtkclist.c
3136         * gtk/gtkmain.c: #if 0'd out some unused code
3137
3138         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
3139
3140 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
3141
3142         * gtk/gtkarg.h:
3143         * gtk/gtkarg.c:
3144         * gtk/gtkwidget.h: 
3145         * gtk/gtkwidget.c: 
3146         * gtk/gtkobject.h:
3147         * gtk/gtkobject.c:
3148         * gtk/gtkcontainer.h: 
3149         * gtk/gtkcontainer.c: 
3150         (gtk_object_new):
3151         (gtk_object_set):
3152         (gtk_widget_new):
3153         (gtk_widget_set): 
3154         (gtk_container_add_with_args):
3155         (gtk_container_child_set):
3156         begin the parameter elipsis (...) after the first argument name. this
3157         change is source compatible, since it was always required, even as NULL.
3158         (gtk_args_collect): 
3159         (gtk_object_args_collect): 
3160         (gtk_container_child_args_collect):
3161         changed prototypes to pass first_arg_name, also, pass va_list variable
3162         by value (portability concerns). callers changed.
3163
3164         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
3165         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
3166         can't pass va_list variables by reference for portability reasons.
3167
3168 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
3169
3170         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
3171         get_visual calls, so that it gets implicitly initialized.
3172
3173 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
3174         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
3175         such as GtkCTree function name changes
3176         
3177 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
3178
3179         * gtk/gtkmain.h:
3180         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
3181         binary version check, returning a static string for error descriptions,
3182         or NULL on success.
3183
3184 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
3185
3186         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
3187         computed our geometry yet, and if not, ignore the request.
3188
3189         * gtk/gtktext.c (correct_cache_insert): Fiddled around
3190         some more. All the bug-test codes seem to work at once
3191         now. (fingers crossed...)
3192
3193 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
3194
3195         * gdk/gdkrgb.c: silly visual fixes
3196
3197         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
3198         works
3199
3200 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3201
3202         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
3203         anything if the event's window is not the bin window.
3204         (gtk_handle_box_motion): Likewise.
3205
3206 1998-08-19  Raph Levien  <raph@gimp.org>
3207
3208         * gtk/testgtk.c (create_color_preview): pushed the colormap and
3209         visual so it would work better with GdkRgb.
3210
3211 1998-08-19  Raph Levien  <raph@gimp.org>
3212
3213         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
3214         4bpp static_color mode (for vga displays). Also fixed a '64' value
3215         in the dither matrix, which was causing one pixel out of 16k to be
3216         dithered wrong.
3217
3218         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
3219         most of the contents. This is an API change - any apps that relied
3220         on the internal structure of GtkPreview will need some change -
3221         most notably in the use of reserved colors. The Gimp needed
3222         changes in this regard.
3223
3224 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
3225
3226         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
3227         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
3228         --g-fatal-warnings), noticed by miguel.
3229
3230 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
3231
3232         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
3233         getcwd().
3234
3235         * gdk/gdkprivate.h:
3236         * gdk/gdkglobals.c:
3237         * gdk/gdkwindow.c:
3238         * gdk/gdk.c:
3239         * gtk/gtkwindow.c: 
3240         * gtk/gtkitemfactory.c: 
3241         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
3242
3243         * gtk/gtkselection.c:
3244         * gtk/gtkpreview.c:
3245         * gtk/gtkobject.c: 
3246         * gtk/gtkmain.c: 
3247         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
3248
3249         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
3250
3251 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
3252
3253         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
3254         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
3255         in case of show_tabs == NULL
3256
3257 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
3258
3259         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
3260         to --g-fatal-warnings again. this option now causes log levels of
3261         WARNING and CRITICAL to abort().
3262
3263         * gdk/gdk.c: 
3264         * gdk/gdkdnd.c: 
3265         * gdk/gdkcc.c: 
3266         * gdk/gdkfont.c: 
3267         * gdk/gdkwindow.c:
3268         * gdk/gdkvisual.c:
3269         * gtk/gtkwidget.c:
3270         * gtk/gtktypeutils.c:
3271         * gtk/gtktree.c:
3272         * gtk/gtkfontsel.c:
3273         * gtk/gtkmain.c:
3274         * gtk/gtkobject.c:
3275         * gtk/gtkpreview.c:
3276         * gtk/gtkselection.c:
3277         * gtk/gtktext.c:
3278         * gtk/gtktree.c:
3279         * gtk/gtktreeitem.c:
3280         did a global search&replace to substitute g_print() calls with
3281         g_message(). libraries shouldn't use printf(), g_print() or
3282         g_printerr() at all.
3283         a bunch of the replacements should probably be wrapped into the
3284         G{D|T}K_NOTE() macros, so they are special cased for debugging
3285         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
3286         things.
3287
3288         * gdk/gdkdnd.c: added copyright notice.
3289
3290 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
3291
3292         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
3293         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
3294         running a PII 233. It's synced with the 0.0.5 release of
3295         GdkRgb.
3296
3297 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
3298
3299         * gtk/gtkclist.h:
3300         (struct _GtkCListClass): new class methods:
3301         (sort_list) (insert_row) (remove_row) (set_cell_contents)
3302
3303         * gtk/gtkclist.c :
3304         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3305         removed and replaced by (set_cell_contents)
3306         (set_cell_contents): function for class method set_cell_contents
3307         (real_insert_row): function for class method insert_row
3308         (real_remoce_row): function for class method remove_row
3309         (real_sort_list): function for class method sort_list
3310         (default_compare): fix to avoid problems with cell types != CELL_TEXT
3311
3312         * gtk/gtkctree.h :
3313         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
3314         (gtk_ctree_node_is_visible): new function to return visibility state
3315         of a node
3316         (gtk_ctree_show_stub): new function to set visibility of root stub
3317
3318         renamed functions :
3319         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
3320         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
3321         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
3322         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
3323         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
3324         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
3325         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
3326         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
3327         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
3328         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
3329         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
3330         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
3331         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
3332         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
3333         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
3334         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
3335         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
3336         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
3337         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
3338
3339         * gtk/gtkctree.c :
3340         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3341         removed and replaced by (set_cell_contents)
3342         (set_cell_contents): function for class method set_cell_contents
3343         (real_insert_row): function for class method insert_row
3344         (real_remoce_row): function for class method remove_row
3345         (real_sort_list): function for class method sort_list
3346         (default_compare): removed. CTree now also compares two GtkCTreeRows
3347         instead of two GtkCTreeNodes.
3348         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
3349         unlinking the node
3350         (real_tree_expand) (real_tree_collapse): fix for refcounting of
3351         node pixmaps
3352         (set_node_info): call gtk_ctree_node_set_pixtext instead of
3353         manipulating the row itself
3354         
3355         * gtk/testgtk.c: use renamed functions of GtkCTree.
3356         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
3357         at work.
3358
3359 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
3360
3361         * gtk/gtkmain.c: removed gtk_input_add_interp.
3362
3363         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
3364         keyword.
3365         (gtk_editable_get_event_time): fix default: case.
3366
3367         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
3368
3369         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
3370
3371         * gdk/gdkcolor.c:
3372         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
3373         of our functions.
3374
3375         * various minor compilation cleanups, such as bogus commas in
3376         enums and similar things.
3377
3378 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
3379
3380         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
3381         (thanx raph).
3382
3383 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3384
3385         * NEWS: updated for 1.1.2
3386         * gtk+.spec: version = 1.1.2
3387
3388 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
3389
3390         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
3391         times. changed --gtk-with-module to --gtk-module at owen's request.
3392
3393 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
3394
3395         * gtk/gtkmain.c (gtk_init): feature a new commandline option
3396         --gtk-with-module=<module> that allows additional loading and
3397         initialization of modules (e.g. GLE).
3398
3399 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
3400
3401         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
3402         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
3403
3404         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
3405         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
3406         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
3407         different *-fatal-* arguments now. this needs to be revised and
3408         compressed to a reasonable amount of arguments.
3409
3410 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
3411
3412         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
3413         "--g-fatal-warnings" causes fatal warnings in GLib,
3414         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
3415         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
3416
3417         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
3418         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
3419
3420         * gtk/testgtk.c: 
3421         * gdk/gxid.c:
3422         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
3423         since automake doesn't support per target _CFLAGS yet.
3424
3425         * configure.in: require GLib 1.1.3.
3426
3427 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
3428
3429         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
3430         to set a callback to test if a node in drag can be dropped onto
3431         it's currrent location.
3432         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
3433         to change the pointer when a drag destination is not allowed.
3434
3435 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
3436
3437         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
3438         speeds up the 565_d case by about 25% total. Thanks Ray!
3439
3440 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
3441
3442         * Changed GtkSignalFunc back to () from (void). (again!)
3443
3444         * Added file README.cvs-commits
3445         
3446 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
3447
3448         * docs/gtk_tut.sgml:
3449           - Tidy up of the menufactory example from
3450             Andy Kahn <kahn@zk3.dec.com>
3451           - New section on Range Widgets from
3452             David Huggins-Daines <bn711@freenet.carleton.ca>
3453           - Started a new section on 'Advanced Event and Signal
3454             Handling' - used an email from Owen.
3455           - New appendix on Gdk Event Types
3456           - Added the tictactoe full example code to the
3457             'Code Examples' appendix
3458
3459 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
3460
3461         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
3462           to calculate all the metrics at once of a string, including
3463           things which weren't calculated before.
3464
3465         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
3466           MenuItem type, that when put as the first thing in a
3467           menu, makes the menu tearoff. Currently drawn as a
3468           dashed line.
3469
3470         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
3471           "hide_on_activate" to the MenuItem class structure to allow
3472           check and radio buttons to be changed with <Space> without
3473           hiding the menu.
3474
3475         * gtk/gtkitemfactory.c: 
3476           - Create a AccelGroup for each MenuShell we create.
3477           - If an '_' appears before a  character 'c' in the path,
3478             then make 'c' an accelerator in the menu's accel group,
3479             and if the menuitem is menubar <alt>C an accelerator 
3480             in the itemfactory's accel group. Double '__' inserts
3481             a literal '_'
3482
3483         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
3484           which is a string. If an '_' appears in this string,
3485           the corresponding position in the label is underlined.
3486
3487           Add gtk_label_parse_uline() convenience function which
3488           takes a string with embedded underlines, sets the
3489           pattern and label, and returns the accelerator keyval.
3490
3491         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
3492           Instead, they create a GtkWindow and add themselves
3493           to that. (When torn off, another new feature, they
3494           create another GtkWindow to hold the torn off menu)
3495
3496           New function gtk_menu_set_tearoff_state()
3497         
3498         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
3499           Added action signals  for keyboard navigation of menus.
3500
3501         * gtk/gtkmenushell.c: Key press handler which activates
3502           bindings for navigation, and accelerators, for handling
3503           underline accelerators. Exported functions to select 
3504           and activate menu items in a menushell.
3505
3506         * gtk/testgtk.c: Added a new "Item Factory" test which
3507           tests GtkItemFactory and the new keyboard navigation
3508           of menus.
3509
3510 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
3511
3512         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
3513         external functions have been called. also relookup nodes after
3514         this function has been invoked.
3515
3516 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
3517
3518         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
3519           beginning of Text when creating the Text widget.
3520
3521         * gtk/testgtk.c: Grab the focus on the text widget so
3522           as to test out the above.
3523
3524 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
3525
3526         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
3527           ::changed is a notification signal and should have no default
3528           handler. A complete redraw of the Text widget does _not_ need to
3529           be done on every text insertion.
3530
3531 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
3532         (gtk-abilleira-072198-patch)
3533
3534         * gtk/gtkwindow.[ch]: 
3535           Add gtk_window_set_modal() which sets a flag; when
3536           set the window does a gtk_grab_add() when the window
3537           is shown, and a gtk_grab_remove() when the window
3538           is hidden. 
3539
3540         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
3541           that case will run "Create Dir","Delete File" and "Rename File" 
3542           dialogs as modal too.
3543
3544         * gtk/testgtk.c: Added a button with an example of creating modal 
3545           dialog boxes. Including file selection and color selection standard
3546           dialogs.
3547         
3548 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3549
3550         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
3551           Removed CAN_FOCUS by default from scrollbars, button
3552           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
3553           (Scrollbar definitely good change, toolbar bit more questionable)
3554
3555 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
3556
3557         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
3558         Pettersen).
3559
3560 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
3561
3562         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
3563           added all logical operations to gc->function.
3564
3565 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
3566
3567         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
3568         gtk_widget_size_allocate instead of gtk_widget_queue_resize
3569         if the visibility state of a scrollbar changes.
3570
3571 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
3572
3573         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
3574
3575 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
3576
3577         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
3578         gtk_clist_merge and gtk_clist_mergesort. :)
3579
3580 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
3581
3582         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
3583         `mergesort' -> `my_mergesort'.
3584
3585 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
3586
3587         * gtk/gtkenums.h: new enum GtkSortType.
3588         
3589         * gtk/gtkclist.h:
3590         * gtk/gtkclist.c:
3591         Added sorting capabilities to GtkCList. New APIs :
3592         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
3593         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
3594         New internal functions : default_compare, merge, mergesort.
3595
3596         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
3597         
3598         (gtk_clist_insert): Modified to handle gtk_clist_append and the
3599         auto sort flag. Changed the return value from void to gint to
3600         return the row number where the element was actually inserted.
3601
3602         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
3603         
3604         * gtk/gtkctree.h:
3605         * gtk/gtkctree.c:
3606         Removed the auto_sort flag, replaced ctree->node_compare with
3607         clist->compare all over the place, modified default_compare to
3608         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
3609         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
3610
3611         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
3612         sorting. The lists can be sorted by a column by clicking the 
3613         corresponding title button.
3614         
3615 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3616
3617         * Released GTK+ 1.1.1
3618
3619 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
3620
3621         * gtk/gtkctree.h:
3622         * gtk/gtkctree.c:
3623         (gtk_ctree_find): changed to return a gboolean
3624         (gtk_ctree_insert_gnode): new function for recursive insertion of a
3625         GNode tree.
3626         (gtk_ctree_real_select_recursive): fix for extended selection
3627         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
3628         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
3629
3630 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
3631
3632         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
3633         GLib version 1.1.1 is now required at minimum.
3634
3635         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
3636         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
3637
3638 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
3639  
3640         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
3641           cursor before (possibly) deleting the cursor's text
3642           property.
3643  
3644         * gtk/gtktext.c (correct_cache_delete): More attempts
3645           to clean the line-start cache up after inserting
3646           a property. Among other things, make sure to
3647           fix up text->current_line, since it is used to 
3648           refetch the changed lines.
3649  
3650 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
3651
3652         * gtk/gtktable.[ch]: Empty rows/columns of the table
3653         should not have been marked as being able to shrink.
3654         (Fixes problem with shrinking scrollbarless GIMP canvases)
3655
3656 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3657
3658         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
3659         function to find a row by its data pointer using a custom
3660         comparison function.
3661
3662 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
3663
3664         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
3665           this fixes a bug when the whole widget is made non-sesitive
3666           the buttons weren't redrawn
3667
3668 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
3669
3670         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
3671         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
3672         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
3673
3674 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
3675
3676         * gdk/gdkwindow.c (gdk_window_reparent): Change 
3677           window_private->parent pointer when reparenting.
3678
3679 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
3680
3681         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
3682         with the standalone release.
3683
3684 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
3685
3686         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
3687         (gtk_clist_button_release) (new_column_width): Few fixes for
3688         column resize. Store resize column in clist->drag_pos.
3689
3690 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
3691
3692         * gtk/gtkctree.h 
3693         * gtk/gtkctree.c 
3694         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
3695         to GtkCTreeNode *node.
3696
3697         * gtk/gtklist.h : added extended selection mode and auto scrolling.
3698         (struct _GtkList): removed unneeded variables timer, button,
3699         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
3700         Added new variables undo_selection, undo_unselection, last_focus_child,
3701         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
3702         drag_selection, add_mode.
3703  
3704         New functions :
3705         (gtk_list_extend_selection), (gtk_list_start_selection),
3706         (gtk_list_end_selection), (gtk_list_select_all),
3707         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
3708         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
3709         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
3710         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
3711         
3712         * gtk/gtklist.c : 
3713         (gtk_list_enter_notify): removed, because auto scrolling now works
3714         with gtk_list_motion_notify
3715  
3716         New functions, needed for auto scrolling :
3717         (gtk_list_motion_notify) (gtk_list_move_focus_child)
3718  
3719         New functions for extended selection support :
3720         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
3721         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
3722         (gtk_list_focus_lost)
3723         
3724         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
3725         function to support auto scrolling, and avoid out-of-sync errors in
3726         case auf GTK_SELECTION_BROWSE
3727         (gtk_list_focus): modified gtk_container_focus function to avoid out
3728         off sync errors in case auf GTK_SELECTION_EXTENDED
3729
3730         * gtk/gtklistitem.h 
3731         * gtk/gtklistitem.c :
3732         New signal functions for key binding support :
3733         (toggle_focus_row), (select_all), (list_item), (unselect_all)
3734         (list_item), (undo_selection), (start_selection), (end_selection)
3735         (extend_selection), (scroll_horizontal), (scroll_vertical),
3736         (toggle_add_mode)
3737         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
3738         GDK_KEY_RELEASE_MASK
3739         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
3740  
3741         * gtk/gtkcombo.c :
3742         (gtk_combo_popup_button_press):  grab pointer for combo->list
3743         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
3744         (gtk_combo_list_key_press): take care of which child HAS_GRAB
3745         (gtk_comb_init): don't connect combo->button with button_release_event
3746
3747 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
3748
3749         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
3750
3751 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
3752
3753         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
3754         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
3755         with horizontal and vertical autoscrolling.
3756
3757 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3758
3759         * gtk/docs/man: new directory
3760         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
3761
3762 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
3763
3764         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
3765         bug
3766
3767 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3768
3769         * docs/gtk_tut.sgml: GtkTree section from
3770           David Huggins-Daines <bn711@freenet.carleton.ca>,
3771           add a GtkText widget example
3772         * examples/text/* example/tree/* : new examples for the
3773           GtkTree and GtkText widgets
3774         * docs/gtk_tut.sgml: added an appendix to hold complete code
3775           examples that aren't in a full form elsewhere in the
3776           tutorial (e.g. scribble)
3777
3778 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3779
3780         * Released GTK+ 1.1.0
3781
3782 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3783
3784         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3785         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3786
3787 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3788
3789         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3790         values are looked up.
3791
3792         * gtk/gtktypeutils.h:
3793         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3794         gtk_type_enums_find_value to lookup enum values.
3795
3796         * gtk/gtkctree.h: 
3797         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3798         GtkCTreeExpansionType. fixed signal creations to pass the enum
3799         types not just the base type GTK_TYPE_ENUM.
3800
3801         * gtk/gtkclist.h: 
3802         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3803         types not just the base type GTK_TYPE_ENUM.
3804
3805 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3806
3807         * gtk/testgtk.c : 
3808         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3809         gtk_widget_show's. Completely rewrote the button box sample
3810         (only one window now). Removed "miscellaneous" button.
3811
3812 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3813
3814         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3815         Fixed wrong allocation for GTK_BUTTONBOX_END.
3816         (allocation->x  =>  allocation->y)
3817
3818 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3819
3820         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3821         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3822         
3823         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3824         selected rows
3825         (gtk_ctree_button_press)
3826         (gtk_ctree_button_release): fix for pointer grab
3827
3828 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3829
3830         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3831         Fixed initialization problem - dirty memory could cause problems.
3832         Also checked that bitmapped fonts can be scaled when showing the
3833         available sizes.
3834
3835 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3836
3837         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3838         (gtk_ctree_sort_recursive): test for node != NULL
3839         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3840         (gtk_ctree_last) : added sanity checks
3841         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3842
3843 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3844
3845         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3846
3847 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3848
3849         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3850
3851 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3852
3853         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3854         to check out binding priorities. someone should really write
3855         gtkrc-mode for emacs.
3856
3857         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3858         * gtk/testgtk.c (main): and move it here ;). this test says something
3859         on release of C-9. (this works only if the mouse pointer is on a
3860         spinbutton and there is no focus widget).
3861
3862         * gtk/gtkrc.h:
3863         * gtk/gtkrc.c:
3864         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3865         gtk_rc_parse_priority to parse path priority types.
3866         export rc tokens.
3867         feature binding parsing.
3868
3869 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3870
3871         * gtk/gtkbindings.h: 
3872         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3873         feature binding parsing in rc files.
3874         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3875         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3876         order the bindings with lowest priority first.
3877
3878 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3879
3880         * gdk/gdkrgb.c: actually builds and runs properly on big
3881         endian machines now, because we #include config.h. Also
3882         fixed up a compile error in the WORDS_BIGENDIAN case in
3883         gdk_rgb_convert_565_gray. I made the fix by looking at
3884         patterns in the other code; Raph can you verify this?
3885
3886         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3887         warnings
3888
3889 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3890
3891         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3892         (tree_toggle_expansion) (real_select/unselect_row)
3893         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3894
3895 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3896
3897         * gtk/gtktext.c (new_text_property): We free things from
3898         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3899
3900         * Fix up line start cache when splitting a property
3901         during an insert.
3902
3903 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3904
3905         * gtk/gtkwidget.c: restauration => restoration
3906
3907 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3908
3909         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3910         hasn't been created yet, don't do the lookup.
3911
3912 1998-07-20  Raph Levien  <raph@acm.org>
3913
3914         * gdk/gdkrgb.c: More cleanups in the config process.
3915
3916 1998-07-20  Raph Levien  <raph@acm.org>
3917
3918         * gdkrgb.c: Fixed minor config bug preventing big-endian
3919         architectures from working.
3920
3921 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3922
3923         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3924         activity indicator. It is settable now as a fraction of the
3925         total width/height using gtk_progress_bar_set_activity_blocks.
3926         Renamed gtk_progress_bar_set_number_of_blocks to
3927         gtk_progress_bar_set_discrete_blocks.
3928
3929 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3930
3931         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3932         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3933         tree to specified depth
3934         (gtk_ctree_expand_to_depth): expand tree to specified depth
3935         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3936
3937 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3938
3939         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3940         of GTK_CLIST_ADD_MOD
3941         * gtk/testgtk.c (add1000_clist): changed pixmap
3942
3943 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3944
3945         * gtk/gtkmain.h: 
3946         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3947
3948         * gtk/gtktypeutils.h:
3949         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3950
3951 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3952
3953         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3954         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3955         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3956         CHILD_ARG_POSITION
3957         (gtk_notebook_reorder_child): new funktion to change position of a
3958         notebook page
3959         (gtk_notebook_draw_arrow): draw left/right arrow with
3960         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3961
3962         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3963         added GTK_SHADOW_ETCHED_IN/OUT
3964
3965 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3966
3967         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3968           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3969         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3970         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3971
3972 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3973
3974         * gtk/gtktypeutils.h
3975         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3976
3977 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3978
3979         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3980         of list
3981
3982 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3983
3984         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3985         sropped the approach of copying all signal specific data into a
3986         GtkHandlerInfo structure. we rather keep the signal data on the stack
3987         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3988         avoids multiple lookups of the signal pointer and works savely together
3989         with destroy notifiers of handlers.
3990
3991         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3992         someone destroys the entry on the ::activate signal.
3993
3994 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3995
3996         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3997         instead of ypad (typo).
3998         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3999         border around the allocation).
4000         (gtk_arrow_init): the static requisition needs to be setup in this
4001         function rather than gtk_widget_new(), so arrow creation works without
4002         the gtk_arrow_new() constructing.
4003         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
4004
4005         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
4006         implementation for GtkWidget::size_request, so size requisition for
4007         simple statically sized widgets like GtkArrow works.
4008
4009 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
4010
4011         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
4012         prepend -I@libdir@/glib/include anymore, since glib-config handles
4013         it; --libs strips out redundant -L<path>'s properly (there was
4014         code in there to do it before, but it didn't work)
4015
4016 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
4017
4018         * gtk/gtknotebook.h: 
4019         * gtk/gtknotebook.c: signdness corrections all ove the place.
4020         implementation of object arguments: GtkNotebook::enable_popup,
4021         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
4022         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
4023         begun implementation of child args, we have GtkNotebook::tab_label, but
4024         GtkNotebook::menu_label and GtkNotebook::position still lack the
4025         implementation.
4026         (gtk_notebook_remove_page):
4027         (gtk_notebook_current_page): allow negative indices (-1) as alias for
4028         the last page.
4029
4030         * gtk/gtkentry.h:
4031         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
4032         arguments GtkEntry::max_length and GtkEntry::visibility.
4033         (gtk_entry_adjust_scroll): queue a redraw.
4034
4035         * gtk/gtkeditable.h:
4036         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
4037         object arguments GtkEditable::text_position and GtkEditable::editable.
4038         new (action) signal GtkEditable::set_editable.
4039         provide a default handler for GtkEditable::changed that queues a redraw.
4040
4041         * gtk/gtktext.h: 
4042         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
4043         set_editable.
4044
4045 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
4046
4047         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
4048         case of drag_target == NULL
4049         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
4050         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
4051         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
4052         gtk_dir_selection_file_button): fix due to changes in clist's
4053         select_row signal.
4054
4055 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
4056
4057         * gtk/gtkwidget.h:
4058         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
4059         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
4060         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
4061         to be gint16s rather than guint16s, since that's what the code expected
4062         (for a long time actually).
4063
4064         * gtk/gtkviewport.c:
4065         added support for object arguments: GtkViewport::shadow_type,
4066         GtkViewport::vadjustment and GtkViewport::hadjustment.
4067         (gtk_viewport_add): chain gtk_bin_add.
4068
4069         * gtk/gtkscrolledwindow.c: 
4070         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
4071         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
4072
4073         * gtk/gtkadjustment.h: 
4074         * gtk/gtkadjustment.c: 
4075         * gtk/gtkctree.h: 
4076         * gtk/gtkclist.h: 
4077         * gtk/gtkctree.c: 
4078         * gtk/gtkclist.c:
4079         * gtk/gtkscrolledwindow.h:
4080         * gtk/gtkscrolledwindow.c:
4081         * gtk/gtkviewport.h:
4082         * gtk/gtkviewport.c:
4083         GtkType and macro fixups.
4084
4085 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
4086
4087         * gtk/gtkctree.h :
4088         * gtk/gtkctree.c :
4089         Added focus handling, horizontal and vertical autoscrolling,
4090         extended Selection Mode, key bindings
4091         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
4092         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
4093         Removed gtk_ctree_clear.
4094         
4095         * gtk/gtkclist.h :
4096         * gtk/gtkclist.c : 
4097         Added focus handling, horizontal and vertical autoscrolling,
4098         extended Selection Mode, key bindings
4099
4100 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
4101
4102         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
4103         source tree. For more information on GdkRgb, please see:
4104         http://www.levien.com/gdkrgb/
4105
4106         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
4107         bothers me slightly that the feature is in gdk, and this file is
4108         in gtk, but it's probably ok.
4109
4110         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
4111
4112         * gdk/gdkrgb.c:
4113         * gdk/gdkrgb.h: Added this module.
4114
4115         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
4116
4117         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
4118
4119 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
4120
4121         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
4122         to this function. it needs to relookup the signal multiple times.
4123         this fixes spurious segfaults that could show up with signal intensive
4124         code, when classes are created during a pending emission (which is
4125         normal case).
4126
4127 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
4128
4129         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
4130         child if it isn't a label.
4131
4132 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
4133
4134         * gtk/gtkdialog.h: 
4135         * gtk/gtkseparator.h: 
4136         * gtk/gtkhseparator.h: 
4137         * gtk/gtkvseparator.h: macro and GtkType fixups.
4138
4139 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
4140
4141         * gtk/testgtk.c (create_cursors): display the current cursor name.
4142
4143         * gtk/gtktypeutils.h: 
4144         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
4145         the fundamental type definition. the GtkArg union now only covers
4146         the required storage types for argument values. adapted the GTK_VALUE_*
4147         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
4148
4149         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
4150         code, fixed int/float collection. fixed a bug in the sanity checking
4151         code for GtkObjects.
4152
4153         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
4154         argument collection code.
4155
4156         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
4157         macros when distinguishing the return type.
4158
4159 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
4160
4161         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
4162           is not NULL before trying to g_list_remove the child. A patch
4163           from Michael Lausch.
4164
4165 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
4166
4167         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
4168         collection (always casted to doubles upon argument passing).
4169
4170 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
4171
4172         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
4173         object_init_func for derived objects with the object's ->klass field
4174         still pointing to the corresponding base class, otherwise overridden
4175         class functions could get called with partly-initialized objects.
4176         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
4177
4178 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
4179
4180         * gtk/gtkobject.h:
4181         * gtk/gtkobject.c:
4182         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
4183
4184         * gtk/gtkcontainer.h:
4185         * gtk/gtkcontainer.c:
4186         (gtk_container_child_arg_get_info): new function which wraps
4187         gtk_arg_get_info().
4188
4189 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
4190
4191         * gtk/gtkcontainer.c:
4192         (gtk_container_arg_get): 
4193         (gtk_container_arg_set): 
4194         * gtk/gtkobject.c:
4195         (gtk_object_arg_set): 
4196         (gtk_object_arg_get):
4197         strictly check for the associated get/set arg functions. if an
4198         arg is readable or writable, the associated class functions *must*
4199         be provided.
4200
4201 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
4202
4203         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
4204         padding into account if there is an accelerator.
4205
4206 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
4207
4208         * gtk/gtkcontainer.c:
4209         (gtk_container_add_with_args): collect the arguments with
4210         gtk_container_child_args_collect, not through gtk_object_args_collect.
4211         (gtk_container_child_set): likewise.
4212
4213 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
4214
4215         * gtk/gtktypeutils.h: 
4216         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
4217         which is derived from GTK_TYPE_STRING.
4218
4219         * gtk/gtkbindings.c: reworked the argument type handling.
4220
4221 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4222
4223         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
4224           so that it seems to allow normal operation in those modes,
4225           although you will only see black  (GIMP toolbar now pops up,
4226           just don't create a new image and GIMP now works in 4 bit.)
4227
4228 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4229
4230         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
4231           array, which was too low (?)
4232
4233 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
4234
4235         * gtk/gtkcontainer.h: 
4236         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
4237         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
4238         we now export a new function gtk_container_child_args_collect().
4239         for consistency with the object arguments, a few functions got renamed:
4240         gtk_container_child_arg_get -> gtk_container_child_get,
4241         gtk_container_child_arg_set -> gtk_container_child_set,
4242         gtk_container_child_arg_getv -> gtk_container_child_getv,
4243         gtk_container_child_arg_setv -> gtk_container_child_setv,
4244         gtk_container_add_with_argv -> gtk_container_addv.
4245         note, gtk_container_add_with_args() remained, because its equivalent
4246         would be gtk_container_add(,, ...) which would break all existing code.
4247         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
4248         we expect the `arg_name' argument to be a const static string now.
4249         (gtk_container_get_child_arg_type): function removed.
4250
4251 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
4252
4253         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
4254         this is a static inline function that collects command line arguments
4255         from a va_list. this file can just be included in all places that
4256         need this functionality.
4257
4258         * gtk/gtkarg.h: 
4259         * gtk/gtkarg.c: new files which implement most of the argument
4260         handling stuff from gtkobject.c. also collected a few more
4261         gtk_arg_* utility functions from else places.
4262
4263         * gtk/gtkobject.h: 
4264         * gtk/gtkobject.c: moved most of the argument handling code into
4265         gtkarg.c. we now export gtk_object_args_collect() as a non-public
4266         method with a blind va_list pointer.
4267         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
4268         const static string now.
4269         (gtk_object_get_arg_type): function got removed.
4270
4271         * gtk/gtkwidget.c: 
4272         (gtk_widget_set): 
4273         (gtk_widget_new): adaptions for gtk_object_args_collect().
4274
4275         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
4276         fundamental type name so as to have a valid prefix, e.g. "bool"->
4277         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
4278         though that should probably be something like GtkNone since the
4279         type itself is called GTK_TYPE_NONE.
4280         even the internal type names need to avoid name clashes and must live
4281         in their own namespace, several code portions rely on that.
4282         we should relly have typedefs such as typedef gchar* GtkString; so the
4283         fundamental type names can be used for code dumpers just like with all
4284         the Gtk/Gdk types.
4285
4286 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
4287
4288         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
4289         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
4290         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
4291         (GTK_RELIEF_HALF).
4292         (gtk_button_paint): set the background for prelighted buttons with
4293         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
4294         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
4295         the shadow type (otherwise we get strange shadows for coloured buttons).
4296         (gtk_button_set_relief): queue a redraw after changing
4297         the relief.
4298         (gtk_button_class_init): 
4299         (gtk_button_set_arg): 
4300         (gtk_button_get_arg): added object argument "GtkButton::relief".
4301
4302         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
4303
4304 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
4305
4306         * gtk/gtkbutton.h:
4307         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
4308         GTK_BIN (button)->child to button->child to keep source compatibility.
4309
4310         * gtk/gtkoptionmenu.c:
4311         * gtk/gtkclist.c:
4312         * gtkcheckbutton.c: don't refer to button->child, but
4313         GTK_BIN (button)->child instead.
4314
4315 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
4316
4317         * docs/gtkfaq.sgml: update anon CVS info
4318
4319 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
4320
4321         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
4322         functions.
4323
4324         * gdk/gdkwindow.c:
4325         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
4326         to XFree() calls.
4327
4328 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4329
4330         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
4331         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
4332
4333 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
4334
4335         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
4336
4337 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
4338
4339         * gtk/gtkwidget.h:
4340         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
4341
4342         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
4343         error that prevented signal to entry addition for signals with
4344         parameters.
4345
4346 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
4347
4348         * ltconfig: fix for properly detecting shared lib support on
4349         SunPro cc (taken from libtool 1.2.a)
4350
4351 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
4352
4353         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
4354
4355 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
4356
4357         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
4358         rc set pattern is favoured, this is needed for overriding of style
4359         patterns with subsequently parsed rc files.
4360
4361 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
4362
4363         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
4364         error messages.
4365
4366 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
4367
4368         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
4369         modifier as well.
4370         (gtk_accelerator_name): add "<Release>" to the accelerator name if
4371         neccessary.
4372
4373         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
4374         account.
4375
4376         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
4377         default handler for key-release events, which checks for activation
4378         of GDK_RELEASE_MASK key bindings.
4379
4380         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
4381
4382 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
4383
4384         * gtk/gtkarrow.h: GtkType and macro fixups.
4385         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
4386         "GtkArrow::shadow_type".
4387
4388 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
4389
4390         * gtk/gtkalignment.h:
4391         * gtk/gtkbin.h: GtkType and macro fixups.
4392         
4393         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
4394         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
4395         GtkAlignment::xscale, GtkAlignment::yscale.
4396
4397 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
4398
4399         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
4400         fucntions from all parent types upon class initialization.
4401
4402         * gtk/gtkcontainer.c:
4403         (gtk_container_get_type): announce gtk_container_base_class_init to
4404         the type system.
4405         (gtk_container_base_class_init): new function to feature base class
4406         initialization.
4407         (gtk_container_get_child_arg): 
4408         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
4409         and set_child_arg methods of the class indicated through the argument
4410         name.
4411
4412         * gtk/gtkobject.c:
4413         (gtk_object_base_class_init): new function to feature base class
4414         initialization.
4415         (gtk_object_init_type): announce gtk_object_base_class_init to the type
4416         system.
4417         (gtk_object_class_init): setup the get_arg and set_arg pointers for
4418         GtkObjectClass.
4419         (gtk_object_setv): 
4420         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
4421         instead of bothering the type system with this.
4422
4423         * gtk/gtkaccellabel.c: 
4424         * gtk/gtkbutton.c: 
4425         * gtk/gtkradiobutton.c: 
4426         * gtk/gtktable.c:
4427         * gtk/gtktogglebutton.c: 
4428         * gtk/gtktipsquery.c: 
4429         * gtk/gtkbox.c: 
4430         * gtk/gtkpacker.c: 
4431         * gtk/gtkwidget.c: 
4432         * gtk/gtkwindow.c: 
4433         * gtk/gtkframe.c: 
4434         * gtk/gtkmisc.c:
4435         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
4436         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
4437         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
4438         arg functions to take a GtkObject argument.
4439
4440         gtk/gtkadjustment.c:
4441         gtk/gtkalignment.c:
4442         gtk/gtkarrow.c:
4443         gtk/gtkaspectframe.c:
4444         gtk/gtkbbox.c:
4445         gtk/gtkbin.c:
4446         gtk/gtkcheckbutton.c:
4447         gtk/gtkcheckmenuitem.c:
4448         gtk/gtkclist.c:
4449         gtk/gtkcolorsel.c:
4450         gtk/gtkcombo.c:
4451         gtk/gtkctree.c:
4452         gtk/gtkcurve.c:
4453         gtk/gtkdata.c:
4454         gtk/gtkdialog.c:
4455         gtk/gtkdrawingarea.c:
4456         gtk/gtkeditable.c:
4457         gtk/gtkentry.c:
4458         gtk/gtkeventbox.c:
4459         gtk/gtkfilesel.c:
4460         gtk/gtkfixed.c:
4461         gtk/gtkfontsel.c:
4462         gtk/gtkgamma.c:
4463         gtk/gtkhandlebox.c:
4464         gtk/gtkhbbox.c:
4465         gtk/gtkhbox.c:
4466         gtk/gtkhpaned.c:
4467         gtk/gtkhruler.c:
4468         gtk/gtkhscale.c:
4469         gtk/gtkhscrollbar.c:
4470         gtk/gtkhseparator.c:
4471         gtk/gtkimage.c:
4472         gtk/gtkinputdialog.c:
4473         gtk/gtkitem.c:
4474         gtk/gtkitemfactory.c:
4475         gtk/gtklist.c:
4476         gtk/gtklistitem.c:
4477         gtk/gtkmenu.c:
4478         gtk/gtkmenubar.c:
4479         gtk/gtkmenuitem.c:
4480         gtk/gtkmenushell.c:
4481         gtk/gtknotebook.c:
4482         gtk/gtkoptionmenu.c:
4483         gtk/gtkpaned.c:
4484         gtk/gtkpixmap.c:
4485         gtk/gtkpreview.c:
4486         gtk/gtkprogressbar.c:
4487         gtk/gtkradiomenuitem.c:
4488         gtk/gtkrange.c:
4489         gtk/gtkruler.c:
4490         gtk/gtkscale.c:
4491         gtk/gtkscrollbar.c:
4492         gtk/gtkscrolledwindow.c:
4493         gtk/gtkseparator.c:
4494         gtk/gtkspinbutton.c:
4495         gtk/gtkstatusbar.c:
4496         gtk/gtktext.c:
4497         gtk/gtktoolbar.c:
4498         gtk/gtktooltips.c:
4499         gtk/gtktree.c:
4500         gtk/gtktreeitem.c:
4501         gtk/gtkvbbox.c:
4502         gtk/gtkvbox.c:
4503         gtk/gtkviewport.c:
4504         gtk/gtkvpaned.c:
4505         gtk/gtkvruler.c:
4506         gtk/gtkvscale.c:
4507         gtk/gtkvscrollbar.c:
4508         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
4509         match the modified GtkTypeInfo structure.
4510
4511 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
4512
4513         * gtk/testgtk.c: use rand() instead of random() for portability
4514
4515 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
4516
4517         * configure.in
4518         * acconfig.h
4519         * gdk/gdk.c: use native Xlib XConvertCase if it's available
4520
4521 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
4522
4523         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
4524         XConvertCase() functionality from X11R6 on X11R5 systems.
4525
4526 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
4527
4528         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
4529         gdk_string_height, gdk_char_height to retrieve the exact
4530         height of a text.
4531
4532 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
4533
4534         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
4535           by Stefan Mars <mars@lysator.liu.se>
4536         * examples/clist/clist.c examples/clist/Makefile: example code
4537           for GtkCList widget from the Tutorial
4538
4539 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
4540
4541         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
4542         if the container is not visible, we might be a toplevel! this holds
4543         for all other base container implementations as well, that are
4544         candidates to derive toplevels from. in general the resizing code will
4545         care about visibility itself.
4546         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
4547         * gtk/gtkbox.c (gtk_box_remove): likewise.
4548
4549         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
4550         gtk_window_set_hints(), since we haven't calculated the new position
4551         yet.
4552
4553         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
4554         *mask are alway initialized in a sane way, regardless of the return
4555         value.
4556
4557 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
4558
4559         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
4560         to gtk_container_child_arg_setv, but takes a variable argument list.
4561         new function gtk_container_get_child_arg_type, which is needed by
4562         gtk_object_collect_args.
4563
4564         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
4565         take a function pointer to figure the argument type.
4566         adapted callers to pass gtk_object_get_arg_type.
4567         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
4568         gtk_object_get_arg_type..
4569
4570         * gtk/gtkpacker.h: 
4571         * gtk/gtkpacker.c:
4572         (gtk_packer_reorder_child): new function to change the packing order
4573         of a child.
4574         (gtk_packer_size_request): 
4575         (gtk_packer_size_allocate): take container->border_width into acount.
4576
4577         * gtk/gtkpacker.c: implemented widget arguments:
4578         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
4579         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
4580         implemented child arguments:
4581         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
4582         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
4583         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
4584         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
4585
4586         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
4587         not the alignment.
4588
4589         * gtk/gtkeventbox.h:
4590         * gtk/gtkeventbox.c: GtkType and macro fixups.
4591
4592         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
4593         sensitivity of an entry.
4594
4595         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
4596         for insensitive base and text.
4597
4598         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
4599         widget state dependent.
4600         (gtk_entry_style_set): likewise.
4601         (gtk_entry_state_changed): set background color on state changes.
4602         (gtk_entry_draw_text): for non selected text, use state dependent
4603         colors.
4604
4605         * gtk/gtktogglebutton.c: support for widget arguments
4606         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
4607
4608 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
4609
4610         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
4611         code for 1.0.x-like parameters. Changed internal interface of
4612         gtk_spin_button_real_spin. Several fixes to avoid emission of
4613         "value_changed" where possible.
4614
4615 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
4616
4617         * gtk-boxed.defs: s/GkWidget/GtkWidget/
4618
4619 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
4620
4621         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
4622         to select the resize_mode for the idle-labels container.
4623
4624         * gtk/gtkframe.h: 
4625         * gtk/gtkframe.c: GtkType and macro corrections.
4626
4627         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
4628         support widget argument "GtkRadioButton::group".
4629
4630 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
4631
4632         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
4633         unconditionally if resize_mode has changed.
4634
4635         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
4636         GTK_RESIZE_QUEUE on the scrolled window.
4637         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
4638
4639 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
4640
4641         * gtk/gtkcontainer.h:
4642         * gtk/gtkcontainer.c:
4643         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
4644         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
4645         (gtk_container_queue_resize): new function to queue a container for
4646         a *size* reallocation (doesn't affect its position, and thus its
4647         parent is left untouched usually).
4648         (gtk_container_get_resize_container): new function to retrive the next
4649         most resize container which is not itself queued for a resize.
4650         (gtk_container_idle_sizer): new function to carefully process the
4651         container_resize_queue since it can change during invokation of
4652         gtk_container_check_resize().
4653         (gtk_container_resize_children): total rework of this function to
4654         properly handle resize containers. makes a lot of assumptions whitch
4655         are stated in the comments.
4656
4657         * gtk/gtkcontainer.c:
4658         (gtk_container_real_check_resize): only requeue ourselves if we are not
4659         a resize container.
4660         (gtk_container_clear_resize_widgets): care for automatic deletion of our
4661         resize_widgets list on size_allocate through a handler connection.
4662
4663         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
4664         focus and default widget of a window, so to take the burden from
4665         gtk_widget_unparent.
4666
4667         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
4668         to be clever, but actually messed up the resize_children logic and
4669         caused unneccessary allocations on its whole branch. besides this,
4670         it messed up the display by not invoking a redraw after the allocation.
4671
4672         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
4673         that it is the child again that is queued for a resize.
4674         (gtk_table_attach): likewise.
4675         (gtk_table_remove): likewise.
4676
4677 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4678
4679         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
4680         gtk_entry_adjust_scroll.  Required if you change the cursor
4681         position and want to sync it up with your code (Midnight Commander
4682         gtk front end needs this).
4683
4684         * gtk/gtktable.c: Deal with tables that have size 0, 0.
4685
4686 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
4687
4688         * examples/README.1ST: new file to explain how the
4689           code examples should be extracted from the tutorial.
4690
4691 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
4692
4693         * gtk/gtkctree.c (draw_row): added new "line style"
4694         GTK_CTREE_LINES_TABBED 
4695         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
4696         search the glist pointer of an GtkCTreeRow
4697
4698 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
4699  
4700         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
4701         from, and clean up, the dependencies.  Generate to intermediate
4702         files to prevent problems with Ctrl-C.
4703
4704         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
4705
4706 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
4707
4708         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
4709         - Bug fix for precision problem causing occasional double emission 
4710           of "value_changed" signal (hopefully works now).
4711         - API change (should be binary compatible) : 
4712           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
4713           Modified cursor example appropriately.
4714           To spin by something other than step_/page_increment, use
4715           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
4716         - Made GTK_SHADOW_NONE the default. ;)
4717         - Fixed casting of GtkAdjustment* to GtkWidget* in
4718           gtk_spin_button_value_changed.
4719
4720 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
4721
4722         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
4723         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
4724         resize widget list before queuing the container for a new reize.
4725         (gtk_container_need_resize): changed return value to FALSE, since this
4726         used to indicate that no further resizes are needed.
4727         (gtk_container_set_arg): 
4728         (gtk_container_get_arg): 
4729         (gtk_container_class_init): implemented GtkContainer::resize_mode
4730         argument.
4731
4732         (gtk_container_resize_children): when we walk up the tree of a resize
4733         widget we need to stop if we are the current parent.
4734
4735         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
4736         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
4737         (gtk_widget_hide_all): retrive the toplevel widget from via
4738         gtk_widget_get_resize_container().
4739
4740 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
4741
4742         * gtk/gtklist.c (gtk_list_button_press): Only respond
4743           to selection with button 1. This allows context-sensitive
4744           menus to work correctly.
4745
4746 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
4747
4748         * gtk/gtkaccelgroup.c: 
4749         * gtk/gtkbindings.c: 
4750         * gtk/gtkcontainer.c:
4751         * gtk/gtkitemfactory.c:
4752         * gtk/gtkobject.c: 
4753         * gtk/gtksignal.c:
4754         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
4755         g_quark_from_static_string calls to save memory.
4756
4757         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
4758         function _after_ the new data has been setup.
4759         minor changes to object data functions to feature the GQuark type.
4760
4761 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4762
4763         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
4764           from argv.
4765
4766 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4767
4768         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4769           to be more readable perl, to spit out stuff that looks
4770           more like readable C, and to pipe output through indent
4771           so output looks a lot like readable C. No functional
4772           changes.
4773
4774 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4775
4776         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4777           necessary when switching to a masked pixmap. (Based on a patch
4778           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4779
4780 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4781
4782         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4783           bindings. (move_cursor, kill_word, etc, etc, etc). 
4784
4785           removed the time argument from
4786           gtk_editable_cut/copy/paste_clipboard (source but not
4787           binary incompatible...) Instead get time from
4788           gtk_get_current_event ().
4789         
4790         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4791           signals.
4792
4793 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4794
4795         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4796
4797         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4798              parent class to GtkNotebookClass when splitting the widget in
4799              two.  Also updated some comments.
4800
4801         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4802                button without a font selected.
4803
4804              Fixed bug in set_font_name - I hadn't updated the code to
4805                search for the style in the font_style clist - it was
4806                still assuming the style row was equal to its index,
4807                but it isn't any more.
4808         
4809              Changed 'Reset' button on filter page to 'Clear Filter'.
4810              Deleted old code relating to the old 'Filter Fonts' toggle
4811              Updated some comments.
4812              Cleared 'Actual Fontname' if no font is set.
4813
4814         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4815              destroying the GtkFontSelection instead of the
4816              GtkFontSelectionDialog.
4817
4818 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4819
4820         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4821           flag to make all warnings fatal errors.
4822
4823         * gtk/testthreads.c: moved <pthreads.h> include inside 
4824           #ifdef USE_PTHREADS
4825
4826 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4827
4828         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4829           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4830
4831         - Added new function gtk_container_set_resize_mode() for
4832           fine-grained control of where resize-queueing is done.
4833
4834         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4835         - Added GtkContainer::check_resize to replace need_resize.
4836
4837         - Added function gtk_container_check_resize() to trigger
4838           queued resizes, and gtk_container_resize_children() to
4839           Figure which children need to be size-allocated. (logic
4840           moved from gtkwindow.c)
4841
4842         - Reorganized code in gtkwindow.c
4843         
4844         - Set the resize-mode for viewports so that resizes within
4845           a viewport don't propagate out of it. 
4846         
4847 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4848
4849         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4850
4851         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4852         g_return_val_if_fail, because the function *does* return a value.
4853
4854 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4855
4856         * gtk/gtkaccellabel.h:
4857         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4858         request the size of the accelerator portion of an accel label.
4859         (gtk_accel_label_size_request): don't request for the accelerators size.
4860         (gtk_accel_label_expose_event): only draw the accelerator if we got
4861         enough extra space.
4862
4863         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4864         width from children.
4865
4866         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4867         object (after removal has been requested) check if there is still an
4868         accelerator remaining to avoid adding two accelerators on an object.
4869         this can happen for locked accelerators (or accelerator-frozen widgets).
4870         (gtk_menu_size_request): feature childrens accelerator width in size
4871         requests.
4872
4873         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4874         gtk_widget_freeze_accelerators() for dynamically created menu items.
4875
4876         * gtk/gtksignal.h: 
4877         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4878         which will return a handler_id > 0 if the specified function is pending
4879         for `signal_id'.
4880
4881         * gtk/gtkwidget.h:
4882         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4883         a signal handler function to stop accelerator addition.
4884         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4885         which will prevent (undo) any accelerators from being added to or
4886         removed from a widget.
4887
4888 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4889
4890         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4891         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4892         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4893
4894 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4895
4896         * gdk/gdk.h:
4897         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4898         the current GdkWindow the pointer is on if there is any.
4899         
4900         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4901         and one column, so we don't construction logic at all. changed a few
4902         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4903         unsigned int wraps.
4904
4905         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4906         portion, added an additional check for parent != widget.
4907
4908         * more GtkType and macro fixups.
4909
4910 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4911
4912         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4913         "clip" parameter, which is the clipping rectangle to use.  This
4914         eliminates the extremely annoying flicker when exposing parts of
4915         the handlebox.
4916
4917 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4918
4919         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4920         resizing
4921
4922 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4923
4924         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4925         != 0 on the argument.
4926
4927         * gtk/gtktable.h: 
4928         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4929         shrinking and expanding of tables. implementation of widget arguments
4930         and child arguments. many signedness corrections.
4931
4932 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4933
4934         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4935         not only the child, otherwise we might end up taking away other
4936         childrens space after the resize.
4937
4938         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4939         an unknown menu path from any source, that path must always be flagged
4940         as "modified", since we don't really know whether it has its default
4941         value or not.
4942
4943         * gtk/gtktree.c:
4944         * gtk/gtkpacker.c:
4945         * gtk/gtknotebook.c:
4946         * gtk/gtkmenushell.c:
4947         * gtk/gtklist.c:
4948         * gtk/gtkpaned.c:
4949         * gtk/gtkfixed.c: 
4950         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4951
4952         * gtk/gtkbox.h: 
4953         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4954         arguments. implemented child arguments.
4955
4956         * more GtkType and macro fixups.
4957
4958 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4959
4960         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4961
4962         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4963         and gtk_clist_get_hadjustment.
4964
4965         * gtk/gtkcontainer.c:
4966         implementation of children arguments, new class member functions
4967         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4968         n_child_args.
4969         (gtk_container_child_type): new function which returns the type of a
4970         child that the container expects for its next addition.
4971         (gtk_container_add_child_arg_type): new function to introduce a new
4972         child argument at class creation time.
4973         (gtk_container_query_child_args): new function to query all child
4974         arguments that are supported by a container class.
4975         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4976         child argument.
4977         (gtk_container_child_arg_setv): new function to set a child argument for
4978         a certain container and child combination.
4979         (gtk_container_add_with_args):
4980         (gtk_container_add_with_argv): new functions to feature addition of a
4981         new child in combination with the setting of certain child arguments.
4982
4983         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4984         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4985         this should really be done through class cretion hooks some day.
4986
4987         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4988         guint : 16.
4989
4990         * gtk/gtkpacker.h:
4991         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4992         follow the gtk convention for lower case variable names (important
4993         for language wrappers and widget arguments), and made them guint : 16.
4994
4995         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4996         fields.
4997
4998 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4999
5000         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
5001         change the character pair for single line comments.
5002         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
5003         GtkItemFactoryClass.
5004         (gtk_item_factory_parse_rc_string): likewise.
5005
5006 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
5007
5008         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
5009         lists from the klass structure to a static structure
5010         in gtkfontsel.c; cleans up global the namespace.
5011
5012 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5013
5014         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
5015         bug with /*< skip >*/ and remove warning.
5016         
5017 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
5018
5019         * gtk/Makefile.am: Made the gtkmarshal.* generation
5020         rules maintainer-only.
5021
5022 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
5023
5024         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
5025           gtk/Makefile.am gtk/makenums.pl 
5026
5027         Removed out the G_ENUM/FLAGS mechanism in favor
5028         of a perl script that parses the standard headers
5029         (with occasional /*< nick=foo >*/ style overrides)
5030         and extracts the enumerations.
5031
5032           gtk/maketypes.awk: Small improvments to the
5033           translation of names. (Avoid splitting gc into
5034           g_c_.)
5035         
5036 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
5037
5038         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
5039         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
5040         
5041 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
5042
5043         * gtk/gtkentry.c:
5044         - Restored gtk_entry_adjust_scroll to static 
5045         - Changed text positioning code so that we always
5046           display as large a portion of the text as possible.
5047
5048 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
5049
5050         * gtk/gtktext.c (gtk_text_finalize): Free internal
5051         structures of text widget. Also, unreference pixmaps
5052         when unrealizing.
5053         
5054 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
5055
5056         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
5057         3.3.1 bug workaround to number keys starting at 1.
5058
5059 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
5060
5061         * docs/gtk_tut.sgml: Fixed urls for complete example
5062         source for scribble+widget-writing examples.
5063
5064 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
5065
5066         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
5067         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
5068         specs of the form c #abcdef [ more keys ] properly.
5069
5070 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
5071
5072         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
5073         (gtk_spin_button_set_shadow_type):
5074         New API to set the shadow type of the arrow panel.
5075
5076 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
5077
5078         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
5079         code for drawing the child in two places at once. Unfortunately,
5080         not only does it not work anymore (because reparenting has
5081         been fixed), but it also triggers reparent/expose loops
5082         in some cases.
5083
5084         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
5085         an unecessary unrealize.
5086
5087 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
5088
5089         * gdk/gdkwindow.c (gdk_window_reparent): Update the
5090           old and new parents' child window lists properly.
5091
5092 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
5093
5094         * gtk/gtkpacker.h:
5095         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
5096         and GtkSideType, to be consistent with the rest of Gtk's enum
5097         definitions. wrapped the enum definitions with the G_ eunm wrappers.
5098         spelled out the GTK_ANCHOR_* enum values, since single letters don't
5099         work out corectly as nick-names (left the old values as aliases).
5100         some signdness corrections (border-width, spacing), could stand more.
5101
5102 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5103
5104         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
5105           Added gtkpacker
5106
5107         * examples/packer/pack.c, examples/packer/Makefile: Added
5108           gtkpacker example
5109
5110 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
5111
5112         * gtk/gtktext.c (remove_cache_line): Fixed broken
5113         list-removal code.
5114
5115         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
5116         Check bounds before deleting.
5117
5118 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
5119
5120         * autogen.sh: Support ACLOCAL_FLAGS
5121
5122 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
5123
5124         * gtk-config.in: Added missing quotes.
5125
5126 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
5127
5128         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
5129
5130 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
5131
5132         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
5133         G_COMPILED_WITH_DEBUGGING.
5134
5135         * configure.in (fd_set): Explain check better.
5136
5137         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
5138         the version from which gtk+'s libtool forked.  Needed for people
5139         who use post-1.2 alphas of libtool.
5140
5141 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
5142
5143         * glib/* Moved to glib module
5144
5145         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
5146           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
5147
5148           configuration changes for the above:
5149          
5150           - Use AM_PATH_GLIB by default to find glib; also accept
5151             a --with-glib option for using an uninstalled glib.
5152          
5153           - Put --enable-debug information into config.h so
5154             that we rebuild when it changes. (was in glibconfig.h)
5155
5156 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
5157
5158         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
5159
5160         * gtk/gtknotebook.h (struct _GtkNotebookClass):
5161         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
5162         added missing argument (according to Joseph Coleman's bug report)
5163
5164         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
5165         function to fix notebook focus handling
5166         
5167 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
5168
5169         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
5170           glib/gutils.c glib/testglib.c glib/gdataset.c
5171           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
5172           gtk/gtktext.c gtk/gtkbindings.c:
5173
5174          renamed g_const_pointer => gconstpointer
5175
5176 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
5177
5178         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
5179         invoked with (NULL, NULL); (this worked sometime ago).
5180
5181         * gtk/gtktypeutils.h: 
5182         * gtk/gtktypeutils.c: enum and flags type creation can now be done
5183         through gtk_type_register_enum() and gtk_type_register_flags(),
5184         which allow to specify the enum value arrays directly.
5185         the NULL terminated value arrays can be retrived through
5186         gtk_type_enum_get_values() and gtk_type_flags_get_values();
5187         (gtk_type_children_types): new function to query derived types.
5188
5189 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
5190
5191         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
5192         environment to genmarshal.pl.
5193         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
5194         rule), and removed it where not needed (in the dependencies).
5195
5196         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
5197
5198 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
5199
5200         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
5201         was just g_direct_hash.
5202
5203 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
5204
5205         * configure.in: x_libs=, not $x_libs=. Enough said.
5206           (Case only hit for --disable-xshm)
5207         
5208 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
5209
5210         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
5211           when testing for X libraries, don't replace them. Because
5212           the user might have specified the path to the X libraries
5213           themself before running configure.
5214
5215         * examples/**.c: Changed all gpointer * to gpointer
5216         
5217 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5218
5219         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
5220         fleur_cursor field.  Now the cursor is created/destroyed on demand
5221         by the routines that need it.
5222
5223         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
5224         (gtk_handle_box_motion): The fleur cursor is created and destroyed
5225         only when needed.
5226
5227 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
5228
5229         * gtk/gtktypeutils.h: 
5230         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
5231         gtk_enum_set_values to gtk_type_enum_get_values and
5232         gtk_type_enum_set_values respectively, since they are actually type
5233         system features.
5234
5235         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
5236         my last commit. ;)
5237
5238 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
5239
5240         * gtk/gtkselection.h: 
5241         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
5242         gtk_selection_data_free.
5243
5244         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
5245         for "selection_received", which was completely bogus.
5246         * other fixups to gtk_signal_new() calls all over the place.
5247
5248         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
5249         * gtk/gtktypebuiltins_vars.c: type variable implementations.
5250         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
5251         declarations.
5252         * gtk/gtktypebuiltins_evals.c: enum value arrays.
5253         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
5254         gtk.defs.
5255         * gtk/gtk.defs: generated file with scheme syntax for type definitions
5256         of gtk and gdk structures and enums.
5257         * gtk/gtktypeutils.h: 
5258         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
5259         macros anymore (this fixes binary incompatibility with new enum
5260         definitions).
5261
5262         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
5263         key bindings for this widget.
5264         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
5265         handler.
5266
5267         * gtk/gtkobject.h:
5268         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
5269         again. new functions gtk_object_class_user_signal_new () and
5270         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
5271         flag on the signal creation.
5272
5273 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
5274
5275         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
5276
5277 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
5278
5279         * gdk/gdkprivate.h: 
5280         * gdk/gdktypes.h: 
5281         * gtk/gtkprivate.h: 
5282         * gtk/gtkwidget.h: 
5283         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
5284
5285         * reworked enum value array generation code. gtk.defs is a generated
5286         file now.
5287
5288 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
5289
5290         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
5291         check menu items in the compatibility code (this required me to remove
5292         the "<check>" part from the menu item name, grrr).
5293
5294 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
5295
5296         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
5297         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
5298         
5299 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
5300
5301         * gtk/gtkitemfactory.h: 
5302         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
5303         additions to the dumping code to feature GtkPatternSpec.
5304         even found a bug to fix in the original code ;)
5305         
5306 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
5307
5308         * gtk/gtkitemfactory.c: support different types of callbacks, to
5309         maintain existing code.
5310
5311 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
5312
5313         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
5314
5315         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
5316         this should eventually be done by gentypeinfo.el somewhen.
5317         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
5318
5319         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
5320         enum values of an enum type.
5321
5322         * gtk/gtk.defs:
5323         * gtk/gtkcurve.h: 
5324         * gtk/gtkobject.h: 
5325         * gtk/gtkprivate.h: 
5326         * gtk/gtkwidget.h:
5327         * gtk/gtkenums.h: 
5328         brought enum/flags definitions in sync, added a few more enum
5329         definitions for bindings and pattern matching.
5330
5331         * some more macro and GtkType fixups in various places.
5332
5333         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
5334         as a key-release modifier for the binding system.
5335
5336 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
5337
5338         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
5339         was a stale list pointer that is already present in GtkMenuShell.
5340
5341         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
5342         GtkMenuShell::selection_done which is emitted after the menu shell
5343         poped down again and all possible menu items have been activated.
5344
5345 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
5346
5347         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
5348         before activation of the menuitem, so the menu is actually taken off the
5349         screen prior to any menu item activation.
5350
5351         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
5352         for NULL nodes.
5353
5354         * gtk/gtkwidget.h:
5355         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
5356         the emission of the "add-accelerator" signal on a widget. this is
5357         usefull to prevent accelerator installation on certain widgets.
5358
5359         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
5360         labels left justified, by setting their alignment. stop accelerator
5361         installation for the menu items, since we use dynamic menus.
5362
5363 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
5364
5365         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
5366         should *really* use GtkItemFactory. this is only for preserving source
5367         compatibility where possible, use of GtkMenuFactory is deprecated as of
5368         now.
5369
5370         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
5371         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
5372         missed this possibility when i added gtk_object_class_add_user_signal
5373         in late january.
5374
5375         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
5376
5377 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
5378
5379         * gtk/gtkaccelgroup.h: 
5380         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
5381
5382         * gtk/gtkaccellabel.h: 
5383         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
5384         display of the accelerators associated with a certain widget.
5385
5386         * gtk/gtkitemfactory.h: 
5387         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
5388         parsing and accelerator handling.
5389
5390         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
5391         positioning a menu.
5392         (gtk_menu_map): removed the allocation code.
5393         (gtk_menu_size_allocate): care for redrawing of children and resize
5394         our widget->window correctly.
5395         (gtk_menu_key_press): feature the new accelerator groups.
5396
5397         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
5398         submenu if neccessary.
5399
5400         * gtk/gtkmenuitem.c:
5401         * gtk/gtkcheckmenuitem.c:
5402         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
5403         function variants.
5404
5405         * gdk/gdk.c:
5406         (gdk_keyval_from_name): 
5407         (gdk_keyval_name): new functions for keyval<->key-name associations.
5408         (gdk_keyval_to_upper): 
5409         (gdk_keyval_to_lower): 
5410         (gdk_keyval_is_upper): 
5411         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
5412         regards to their cases.
5413
5414 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
5415
5416         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
5417         widget's class path.
5418         (gtk_widget_path): new function to calculate a widget's name path.
5419
5420         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
5421         pattern matching, features reversed pattern matches.
5422
5423 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
5424
5425         * examples/extract.sh, examples/extract.awk:
5426           New files to automagically extract code examples from the
5427           tutorial.
5428
5429 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
5430
5431         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
5432         * gtk/gtkcontainer.c (gtk_container_focus_move):
5433         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
5434
5435 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
5436
5437         * docs/gtk_tut.sgml: minor changes to support auto
5438           extraction of example code
5439
5440 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
5441
5442         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
5443           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
5444
5445 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
5446
5447         * docs/gtk_tut.sgml:
5448           - new section on Events
5449           - change all delete_event callbacks to include
5450             a GdkEvent parameter
5451           - clean up the formatting
5452
5453         * examples - helloworld.c, helloworld2.c, notebook.c,
5454           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
5455           rulers.c, table.c, wheelbarrow.c: change all delete_event
5456            callbacks to include a GdkEvent parameter.
5457
5458 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5459
5460         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
5461         field of crossing events.
5462         (struct _GdkEventCrossing): Added the following fields: time, x,
5463         y, x_root, y_root, mode, focus, state.
5464
5465         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
5466         crossing event structure.
5467
5468         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
5469         changes to the crossing event structure.
5470
5471 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
5472
5473         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
5474
5475 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
5476
5477         * docs/gtk_tut.sgml:
5478            - GtkTooltips, update to current API
5479            - change all 'gpointer *data' to 'gpointer data'
5480            - other minor changes
5481
5482 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
5483
5484         * configure.in (LDFLAGS): Bomb out with a moderately
5485           helpful message if detection of X libraries fails.
5486
5487 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
5488
5489   [ Combination of:
5490      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
5491      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
5492
5493         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
5494           gtk/gtksignal.c gtk/gtktext.c: 
5495
5496           Fixups for warnings from adding const to type of GHashFunc,
5497           GCompareFunc
5498         
5499         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
5500           ansi-warnings fixups.
5501
5502 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
5503
5504         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
5505         Locate child at (border_width,border_width), not
5506         (2*border_width,2*border_width). [ The border is _outside_
5507         widget->window ]
5508         
5509         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
5510           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
5511
5512 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5513
5514         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
5515         used in gnome-libs
5516
5517 1998-05-22    <sopwith@redhat.com>
5518
5519         * gtk/gtkeventbox.c: Pass size_allocate on to the child
5520         regardless of whether it is visible or not. Also
5521         locate child at (border_width,border_width), not (0,0)
5522
5523 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
5524
5525         * gtk/gtkhandlebox.c: Added style_set handler.
5526
5527 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
5528  [ From: Chris Lahey  <clahey@umich.edu> ]
5529         
5530         * gtk/gtkeditable.c, gtk/gtkeditable.h,
5531           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
5532           and set_position functions to get and set the cursor position.
5533
5534         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
5535           signal status. Make GtkText do user-controlled insertion
5536           and deletion through the Editable widget so that these
5537           signals are properly emitted.
5538
5539         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
5540           display asterisks instead of empty space when visible = FALSE)
5541
5542 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
5543
5544         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
5545         signal.
5546
5547 1998-05-21    <sopwith@redhat.com>
5548
5549         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
5550         custom routine for loading images specified in gtkrc's.
5551
5552 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
5553
5554         * configure.in: Use pthread_attr_init() as a test function,
5555         since most of the rest of -lpthread is macros on DU4.
5556
5557 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
5558
5559         * gtk/gtkcombo.c: implemented completion in the entry.
5560
5561 1998-05-18    <sopwith@moebuis.labs.redhat.com>
5562
5563         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
5564
5565 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
5566
5567         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
5568         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
5569         to be of runtype GTK_RUN_LAST.
5570
5571         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
5572         "need-resize".
5573
5574         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
5575         "widget-selected".
5576
5577 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
5578
5579         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
5580         text retrived from GtkEntry. only intercept the Tab key if there
5581         was some text to complete.
5582
5583 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
5584
5585         Basic thread-awareness:
5586
5587         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
5588
5589         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
5590         gdk_threads_[init/enter/leave] for applications, plus
5591         gdk_threads_wake to wake the mainloop thread out of
5592         the select().
5593
5594         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
5595
5596 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
5597
5598         * gtk/testgtk.c (list_clear): Account for the fact
5599         that gtk_list_clear_items is not inclusive. (Clears
5600         [start, end))
5601
5602 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
5603
5604         * gdk/gdk.c: include gdkkeysyms.h always
5605         
5606
5607 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
5608
5609         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
5610         the visibility_notify_event method and changed method order.
5611
5612 1998-05-14    <sopwith@moebuis.labs.redhat.com>
5613
5614         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
5615
5616 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
5617
5618         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
5619         from Olli Helenius <ollhel@batman.jytol.fi>.
5620
5621         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
5622         freeing types.
5623         (gtk_type_set_chunk_alloc): new function to allow allocation of new
5624         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
5625         thorugh g_malloc).
5626
5627         * gtk/gtkobject.c (gtk_object_finalize): free an object through
5628         gtk_type_free().
5629
5630         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
5631         GtkButtons to 16.
5632         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
5633         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
5634
5635 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
5636
5637         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
5638           GPOINTER_TO_UINT fixes.
5639
5640         * gtk/gtksignal.c: Include <string.h> for memset.
5641
5642 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
5643         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
5644
5645         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
5646         Cleanups, comments and the ability to have rulers with 
5647         a reversed direction.
5648
5649 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
5650
5651         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
5652         that Sopwith missed when changing stat => lstat.
5653
5654 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
5655
5656         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
5657           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
5658         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
5659
5660         * gdk/gdk.c: Print sizeof() results
5661         as g_print("%ld", (glong)sizeof(foo)), to deal with
5662         sizeof() being long on Alpha's.
5663
5664         * gtk/testgtk.c: include <string.h> for strlen
5665
5666 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
5667         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
5668         
5669         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
5670         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
5671
5672         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
5673
5674 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5675         (From: Christopher James Lahey <clahey@umich.edu>)
5676         
5677         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
5678           gtk/testgtk.c:
5679
5680         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
5681         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
5682         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
5683         the default relief for the toolbars buttons. Added an
5684         toggle for the toolbar test in testgtk.c.
5685
5686 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
5687
5688         * docs/gtk-config.1: Rewritten and hopefully improved.
5689
5690 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
5691
5692         * docs/Makefile.am
5693         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
5694
5695 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5696
5697         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
5698         GtkPreview's visual and colormap, otherwise things can BadMatch.
5699
5700         * gtk/testgtk.c (create_color_preview): 
5701         (create_gray_preview): Removed pushing/popping of visual/colormap
5702         now that GtkPreview does things correctly.
5703
5704         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
5705         (gtk_color_selection_draw_wheel): Pick the style from the correct
5706         place (the colorsel->wheel_area widget) so that the GCs will match
5707         with where we are going to paint to.
5708
5709         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
5710         of visual/colormap now that GtkColorSelection does things the
5711         right way.
5712
5713 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
5714
5715         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
5716         previously unused window->need_resize flag to mark if a window's
5717         descendents changed size while the window was not visible. In this
5718         case, when the window becomes visible, we reallocate everything,
5719         since we didn't keep track of what actually changed.
5720
5721         (Fixes bug where changing the popdown strings of a
5722         combo to something of the same length caused them to
5723         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
5724
5725 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
5726
5727         [security audit by Alan Cox]
5728
5729         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
5730         exceed maximum assumed size.
5731
5732         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
5733         not exceed maximum assumed size.
5734         (gtk_menu_factory_remove): likewise.
5735         (gtk_menu_factory_find_recurse): likewise.
5736
5737 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
5738
5739         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
5740         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
5741         redrawn if that is still neccessary. don't allow queueing of already
5742         destructed objects.
5743         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
5744         widgets which are in the queue can be destroyed safely, handle
5745         requeueing properly.
5746         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
5747         widgets which are in the queue can be destroyed/unrealized safely.
5748
5749 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
5750
5751         * gtkfaq.sgml: add question on multi-threading,
5752           minor URL cleanups.
5753
5754 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
5755
5756         * configure.in (cflags_set): preserve automake CFLAGS.
5757
5758         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
5759         and libgdk-1.1.la. this means we need to change certain portions of
5760         the Makefile.am on major/minor version bumps.
5761
5762         * ltmain.sh: the -release option is not required anymore.
5763         
5764         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
5765         of the first argument to be of type GtkObject. unconditionally compile
5766         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5767         gtk_object_unref macro wrappers for this function.
5768
5769 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5770
5771         * gtk/gtkobject.h:
5772         * gtk/gtkobject.c:
5773         (gtk_object_data_try_key):
5774         (gtk_object_data_force_id): these are now macros substituting the old
5775         functions. we just use the corresponding g_dataset_* functions for
5776         key->id associations. (this is to assure unique key<->id associations).
5777
5778 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5779
5780         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5781         to gboolean.
5782
5783         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5784
5785 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5786
5787         * configure.in (LIBS): Try to figure out if this
5788         is Digital Unix and we need -std1 to get the
5789         right prototypes.
5790
5791 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5792
5793         * docs/gtk_tut_it.sgml: update of Italian tutorial
5794           translation from Daniele Canazza <dcanazz@tin.it>
5795
5796 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5797
5798         * gtk/gtkfeatures.h.in: new file used as template for
5799         * gtk/gtkfeatures.h: new file to define macros indicating newly
5800         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5801
5802         * gtk/gtksignal.c:
5803         (gtk_signal_emitv_by_name):
5804         (gtk_signal_emitv):
5805         new functions to emit signals with an already provided parameter set.
5806         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5807         (gtk_signal_real_emit): prototype changes, so this functions always
5808         gets its parameters and signal structure as arguments.
5809         (gtk_signal_emit): provide the signal structure and parameter list for
5810         gtk_signal_real_emit.
5811         (gtk_signal_emit_by_name): likewise.
5812
5813 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5814
5815         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5816         signal connections through unsetting GTK_CONNECTED.
5817         (gtk_signal_handler_insert): reflect the presence of signal connections
5818         through setting GTK_CONNECTED.
5819         (gtk_signal_real_emit): only check for handler emissions if the object
5820         has the GTK_CONNECTED flag set.
5821         (gtk_signal_handler_pending): don't check for pending handlers if the
5822         GTK_CONNECTED flag is not set for this object.
5823
5824         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5825         a GtkObject has signal handler connections.
5826
5827         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5828         set for this object call gtk_signal_handlers_destroy().
5829         
5830         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5831         multiple processing of macro args.
5832
5833         * gtk/gtktypeutils.c:
5834         * gtk/gtkobject.c:
5835         * gtk/gtkwidget.c:
5836         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5837
5838 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5839
5840         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5841         draw-queue when we are done. 
5842
5843         (gtk_widget_queue_draw/_queu_resize): Always return
5844         FALSE and avoid having two idles at the same time.
5845         
5846 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5847
5848         * gtk/gtktext.c: Various fixes to make sure cache
5849         lines are freed if line_start_cache doesn't point to the
5850         beginning of the cache.
5851
5852 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5853
5854         * style_set improvements for GtkText and GtkEntry
5855
5856 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5857
5858         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5859         been initialized.
5860
5861 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5862
5863         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5864         data chunks through a global object data structure list. unlink
5865         object data before invoking its destroy function.
5866         (gtk_object_finalize): slight modification to allow usage of object
5867         data during object finalization.
5868
5869 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5870
5871         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5872         signal names, e.g. "signal-name" is now an alias for "signal_name".
5873         (gtk_signal_handler_new): allocate handlers through a global handler
5874         structure list, that's faster than memchunks.
5875         (gtk_emission_new): allocate emissions through a global emission
5876         structure list, that's faster than memchunks.
5877
5878 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5879
5880         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5881
5882         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5883         but will immediately change the library name.
5884
5885         * gdk/Makefile.am:
5886         * gtk/Makefile.am: specify -postfix and -version-info
5887
5888         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5889         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5890
5891 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5892
5893         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5894         background (fg_set -> bg_set confusion).
5895
5896 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5897
5898         * gtk/testgtk.c (unselect_all): Removed code that caused an
5899         endless loop.
5900
5901 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5902
5903         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5904         linear array rather than a hash table.
5905         be carefull *not* to keep any GtkSignal pointers across invokations
5906         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5907         general code cleanups, made all allocations through memchunks.
5908         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5909         for the signal names to avoid multiple hashing of the signal name on
5910         lookups for the several hirarchy levels of an object.
5911
5912 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5913
5914         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5915         to speed things up and remove code duplication.
5916
5917         Reintegrated buffer overflow patches, and added
5918         some extra paranoia.
5919         
5920 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5921
5922         * gdk/gdk.c (gdk_event_translate): A guint * was
5923         being passed where X expected a Keysym *, and
5924         keysyms are long's on Alpha Linux. This was causing
5925         segfaults in Xlib, apparently because of alignment.
5926         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5927         
5928 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5929
5930         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5931         set GDK_EXPOSURE_MASK for DrawingAreas
5932
5933 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5934
5935         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5936         (superceded by RC file reparsing capabilities)
5937
5938         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5939         events. (Shouldn't be sent to the InputOnly leader, which
5940         it is now by gdk_event_send_clientmessage_toall
5941
5942         * gtk/testgtk.c: Added extra button to rcfiles test
5943         to send out _GDK_READ_RCFILES events.
5944         
5945 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5946
5947         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5948         reversed conditionals that caused segfault on some
5949         platforms.
5950
5951 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5952
5953         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5954         cast to GTK_OBJECT for gtk_object_ref.
5955
5956 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5957
5958         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5959         checking for signal initialization in gtksignal.c.
5960
5961         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5962         a long debugging period ;)
5963
5964 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5965
5966         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5967         New function to wrap XSetDashes; modified gtkctree.c to use it.
5968
5969 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5970
5971         * configure.in: Added $x_libs in the other_libraries field in the
5972         check for XShapeCombineMask.
5973
5974 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5975
5976         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5977         gtk_type_is_a().
5978         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5979         linear array rather than a hash table. it actually speeded up testgtk
5980         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5981         pointers across invokations of gtk_type_node_next_and_invalidate() and
5982         therefore gtk_type_unique()!
5983
5984         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5985         inheritance of a class pointer.
5986         (GTK_OBJECT): modifications for speedups.
5987         (GTK_IS_OBJECT): likewise.
5988         (GTK_OBJECT_CLASS): likewise.
5989         (suggested by owen).
5990
5991         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5992
5993         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5994
5995         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5996         since its derivation changed 4 month ago ;(. showed up with the unique
5997         type name checking code in gtk_type_unique().
5998
5999         * random guint->GtkType and macro fixups.
6000
6001 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
6002
6003         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
6004         Configure events that would result in a negative
6005         size.
6006
6007 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
6008
6009         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
6010         "glibconfig.h" and another about writing another IRC
6011         client.
6012
6013 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
6014
6015         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
6016         parameters to log are doubles. Digital Unix apparently
6017         is missing the argument in its prototype.
6018
6019 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
6020
6021         * gtk/gtklabel.c (gtk_label_state_changed): Don't
6022         force a clear until the widget is actually on
6023         screen.
6024
6025 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
6026
6027         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
6028         to make this consistent with the gtk-1-0 tree.
6029
6030 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
6031
6032         * configure.in acheader.h gdk/gdkwindow.c 
6033         Check for Shape extension both on the client and server
6034         side. (And, more importantly, check for the shape extension
6035         so we may include -lXext even when compiling with --disable-xshm)
6036
6037         Don't set override_redirect on all shaped windows. It isn't
6038         necessary.
6039
6040         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
6041         and foreign windows. Use this to check if we
6042         need to get the colormap from X.
6043
6044 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
6045
6046         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
6047         between the default and the button always in GTK_STATE_NORMAL.
6048
6049         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
6050         callback.
6051
6052 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
6053
6054         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
6055           Fix a buffer overflow on pixmaps that claim to have
6056           more than 31 characters per pixel.
6057
6058           (gdk_pixmap_read_string): Don't wrap around strings longer
6059           than half of address space ;-)
6060
6061         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
6062         that were used for printing integers.
6063
6064         * */* (almost):
6065
6066         Style: All 
6067           int foo () { ... }
6068         changed to
6069           int foo (void) { ... }
6070
6071         Even where there were proper prototypes elsewhere.
6072
6073         * gdk/gxid.c (handle_claim_device): Some extra checks.
6074         It isn't safe against being fed bad X id's, but at
6075         least it should be safe against deleting all your
6076         files.
6077
6078 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
6079
6080         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
6081         to set the adjustments value when there is no current emission.
6082         [ Removed by mutual agreement owt 5/3/1998 ]
6083
6084         * gtk/gtksignal.c: added new functions to retrive the number of
6085         existing emissions for a certain signal.
6086         (gtk_signal_n_emissions): new function.
6087         (gtk_signal_n_emissions_by_name): new function.
6088
6089 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
6090
6091         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
6092         set the current focus_child of a container, does proper referencing and
6093         adjusts the vadjustment/hadjustment associated with the focus widget.
6094
6095         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
6096         containers via gtk_container_set_focus_child.
6097
6098         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
6099         where appropriate.
6100
6101         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
6102         child since not every child removal goes through this function (this
6103         showed up after gtk_container_set_focus_child() started to reference the
6104         focus_child of a container).
6105
6106         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
6107         of a container from gtk_container_remove into this place.
6108
6109 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
6110
6111         * gtk/gtksignal.c: added new functions to operate on intermediate
6112         function pointers. implemented incremental blocking.
6113         (gtk_signal_disconnect_by_func): new function.
6114         (gtk_signal_handler_block_by_func): new function.
6115         (gtk_signal_handler_unblock_by_func): new function
6116
6117 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
6118
6119         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6120         Always show the scrollbars when the policy is
6121         GTK_POLICY_ALWAYS...
6122
6123 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
6124
6125         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
6126         "value_changed" if we really passed a new value.
6127         (gtk_adjustment_changed): new function to emit the "changed" signal.
6128         (gtk_adjustment_set_value): new function to emit the "value_changed"
6129         signal.
6130
6131 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
6132
6133         * gtk/gtkcombo.c: Further changes to the way the window
6134         is popped up so that it will be compatible with 
6135         auto-scrolling in the future.
6136
6137 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
6138
6139         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
6140         the combo-list is empty since that will cause the combo to operate
6141         on a non existing GtkList window.
6142         (gtk_combo_get_pos): provide the combo list with a usfull default
6143         height if empty.
6144         (gtk_combo_popup_button_press): grab the focus.
6145         (gtk_combo_activate): grab the focus.
6146
6147 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
6148
6149         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
6150         function to reset the RC styles for a heirarchy
6151
6152         Clear the window background if necessary in
6153         gtk_window_style_set.
6154
6155         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
6156         rereads all previously read RC files.
6157
6158         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
6159         (Should it just be called gdk_get_toplevels?)
6160
6161         * gtk/testgtk.c: New test to reload RC files.
6162
6163 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
6164
6165         * gtk/gtkclist.h:
6166         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
6167         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
6168         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
6169         the GTK_ prefix (this solution involved less changes in the
6170         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
6171         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
6172         from lars & stefan to support the derivation of GtkCtree.
6173
6174         * gtkctree.h:
6175         * gtkctree.c:
6176         initial import of a tree widget derived from gtkclist, courtesy
6177         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
6178         it just damn rocks!
6179
6180 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
6181
6182         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
6183         for us.
6184         (gtk_list_insert_items):
6185         (gtk_list_remove_items_internal): 
6186         (gtk_list_clear_items): 
6187         remove a possible pointer grab, we might get thrown into a loop
6188         otherwise.
6189         (gtk_list_button_press): grab the pointer *before* selecting the child,
6190         because selection of items may cause the lists children to change,
6191         resulting in a grab release.
6192         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
6193         children.
6194         (gtk_list_shutdown): remove all children from the list.
6195         (gtk_real_list_unselect_child): 
6196         (gtk_real_list_select_child): *always* put our internal structures into
6197         sane state *before* signal emisions (i.e. list->selection updates prior
6198         to gtk_list_item_[de]select() calls).
6199
6200         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
6201         focused child walks out of the window.
6202         removed CAN_FOCUS for the combo arrow's button since it doesn't react
6203         to keyboard events ("clicked" connection is missing).
6204
6205 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
6206
6207         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
6208         getting colormap for FOREIGN windows to go along with
6209         Raster's fix for visuals.
6210
6211 Merges from gtk-1-0
6212 ===================
6213         
6214 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
6215
6216         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6217         Check to catch the case when the viewport fits in either
6218         direction or both, instead of flip-flopping infinitely.
6219
6220         Only show/hide the scrollbars once at the end.
6221
6222 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
6223
6224         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
6225         Include the scrollbars in the foreach call.
6226         (gtk-fortier-980405-0.patch; 
6227          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
6228
6229         The notebook widget
6230         really should also include its tabs, but that might cause
6231         problems for programs if they
6232
6233 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
6234
6235         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
6236         resize if the size actually changed. 
6237         (gtk-johannes-980414-0.patch ;  
6238          johannes@nada.kth.se (Johannes Keukelaar) )
6239
6240 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6241
6242         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6243           ltmain.sh ltconfig config.sub config.guess:
6244
6245         Reverted back to libtool-1.2 (plus minor patches) so as not to
6246         force the issue for everyone else.
6247
6248 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6249
6250         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6251         Updated to libtool 1.2a.
6252
6253         * gtk/gtkclist.c: Draw the in-between lines with style->base
6254         instead of style->white.
6255         
6256 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6257
6258         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
6259         Cache the colormap and children of a window locally
6260         instead of fetching them from the server when needed.
6261         Huge performance difference for creating/destroying
6262         windows.
6263
6264         * gtk/gtkstyle.c: Find the depth from the cached
6265         visual, instead of asking the server.
6266
6267         * gtk.m4: Distribute the new version which tries to
6268         figure out what went wrong and give helpful error
6269         messages.
6270
6271         * ltmain.sh ltconfig config.sub config.sh: 
6272         Updated to libtool 1.2a
6273
6274         * gtk/gtktext.c: Fixed a bug where the drawn level
6275         was being messed up when the text was scrolled
6276         during a deletion.
6277         
6278 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
6279
6280         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
6281         the filesystem under you (fix from Josh)
6282
6283 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
6284
6285         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
6286         if the viewport already exists before iterating over it, maybe we
6287         haven't been constructed yet.
6288
6289 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
6290
6291         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
6292         the GtkBin widget already has a child.
6293
6294         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
6295         check that child->parent == NULL;
6296
6297 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
6298
6299         * gtk/gtkselection.c (gtk_selection_clear): Only return
6300         FALSE when the clear event is been rejected, not when
6301         widget has already lost the selection. (Which should
6302         only happen when we are setting the selection to another
6303         widget ourself.)
6304         
6305 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
6306
6307         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
6308
6309         Removed the "check visibility after gtk_widget_unparent" bug 
6310         in hopefully the last three places.
6311
6312 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
6313
6314         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
6315         rc-files.
6316
6317 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
6318
6319         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
6320         for CAN_FOCUS widgets.
6321
6322         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
6323         adjustments for the table.
6324         (create_list): feature automatic adjustment of the scrolled window to
6325         always contain the focused child.
6326         (create_main_window): keep the focussed button always inside of the
6327         scrolled windoww.
6328
6329         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
6330         adjustments, to contain the allocation of the currently focused child.
6331         (gtk_container_set_focus_hadjustment): new functin to set the
6332         horizontal focus adjustment.
6333         (gtk_container_set_focus_vadjustment): new functin to set the vertical
6334         focus adjustment.
6335
6336         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
6337         clamp the currents adjustment page into a specific range.
6338
6339         * random GtkType fixups for gtk_*_get_type() functions.
6340
6341 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
6342
6343         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
6344         Account for the fact that gtk_tree_item_remove_subtree
6345         will be called recursively. 
6346
6347         Handle removing a collapsed subtree.
6348
6349         (From Andy Dustman <adustman@comstar.net>)
6350         
6351         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
6352         root tree when removing items from a non-previously
6353         mapped tree.
6354
6355         * gtk/testgtk.c: Added a remove_subtree button.
6356         
6357 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
6358
6359         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
6360         before object removing data. This change fixes a bug where 
6361         removing the last weak references would cause it to be 
6362         triggered.
6363
6364 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6365
6366         * gdk/Makefile.am: Removed mostly useless dependency that
6367         was causing problems for SGI's make, when used with
6368         the 'make dist' form of GTK+. (Dependency caused dependencies
6369         to be redone when BUILT_SOURCES changed)
6370
6371 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
6372
6373         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
6374         like a menu.
6375         
6376         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
6377         to gtkitem.c so dragging can also work in lists.
6378
6379         * gtk/gtklist.[ch]: Track child enter events and use
6380         those to allow dragging the selection. 
6381
6382 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
6383
6384         * gtk/gtktext.c: Try enabling background pixmaps for editable text
6385         widgets.  There is a bit of flashing, but not too bad. If you
6386         don't want the flashing, you can always not set a background
6387         pixmap.
6388
6389 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6390
6391         * gtk/gtktext.c: Fixed a bug where the drawn level
6392         was being messed up when the text was scrolled
6393         during a deletion.
6394         
6395 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6396
6397         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
6398         bug:  There is no need to set the ExposureMask in the XGrabPointer
6399         (this caused DnD programs to crash).
6400
6401 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
6402
6403         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
6404         field to be of type guint.
6405         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
6406         ref_count>0;
6407         (gtk_accelerator_table_install): keep a per object list of accelerator
6408         tables that refer to this object.
6409         (gtk_accelerator_table_remove): remove the accelerator table from the
6410         per object list.
6411         (gtk_accelerator_table_clean): warn if there are any object references
6412         left in an accelerator table upon destruction.
6413         (gtk_accelerator_tables_delete): new function to delete object
6414         references from the accelerator tables associated with this object.
6415
6416         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
6417         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
6418         of an accelerator can be prevented by gtk_signal_emit_stop().
6419         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
6420         so there are no stale pointers in accelerator tables left.
6421
6422 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6423
6424         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
6425         visible before we unparent it.
6426
6427 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
6428
6429         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
6430         running_timeouts list with the tmp_list link itself, not with a new
6431         GList structure pointing to our link. that would fill up memory and
6432         causes the GList.data fields of the running_timeouts list to point to
6433         GList structures and not GtkTimeoutFunction structures which is a
6434         *really* bad thing.
6435         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
6436         the above entry ;).
6437
6438 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
6439
6440         * gtk/gtkradiomenuitem.h: 
6441         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
6442         ala gtk_radio_button_set_group.
6443         (gtk_radio_menu_item_init): assure that we always have at least a group
6444         that points to self.
6445
6446         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
6447         added g_return_if_fail() statements.
6448         (gtk_radio_button_init): assure that we always have at least a group
6449         that points to self.
6450
6451 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
6452
6453         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
6454
6455 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
6456
6457         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
6458         (Damon Chaplin), which i got wrong when applying Damon's patch the last
6459         time.
6460
6461 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6462
6463         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
6464         that when we are running with a non-installed colormap,
6465         in 8-bit pseudo-color, we actually are using the system
6466         visual. (Fixes *Bad Match* errors on Digital Unix machines
6467         with multiple 8-bit pseudo-color visuals)
6468
6469 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6470
6471         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
6472         by whoever thought that randomly changing ints to unsigned int
6473         without reviewing the code was a good idea.  It is, btw not
6474         mentioned in the ChangeLog as usual, but I know it was not Elliot
6475         the culprit this time. 
6476
6477 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
6478
6479         * Released GTK+ 1.0.0