Commit Graph

591 Commits

Author SHA1 Message Date
Tim Janik
8102e79daf feature check menu items in the compatibility code (this required me to
Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
        check menu items in the compatibility code (this required me to remove
        the "<check>" part from the menu item name, grrr).
1998-06-07 13:44:34 +00:00
Tim Janik
50a9ba1f26 further additions to fit the gimp's code. additions to the dumping code to
Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
        additions to the dumping code to feature GtkPatternSpec.
        even found a bug to fix in the original code ;)
1998-06-07 12:22:45 +00:00
Tim Janik
210cb3f5a0 support different types of callbacks, to maintain existing code.
Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: support different types of callbacks, to
        maintain existing code.


... changes to the item factory to ease support of the gimp's code...
1998-06-07 07:52:26 +00:00
Tim Janik
cd8e439b9b remove these files, we got gtkaccelgroup.[ch] now. 1998-06-07 07:05:12 +00:00
Tim Janik
a391196ba5 fixed an assertment.
Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.

        * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
        this should eventually be done by gentypeinfo.el somewhen.
        * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.

        * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
        enum values of an enum type.

        * gtk/gtk.defs:
        * gtk/gtkcurve.h:
        * gtk/gtkobject.h:
        * gtk/gtkprivate.h:
        * gtk/gtkwidget.h:
        * gtk/gtkenums.h:
        brought enum/flags definitions in sync, added a few more enum
        definitions for bindings and pattern matching.

        * some more macro and GtkType fixups in various places.

        * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
        as a key-release modifier for the binding system.

Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
        was a stale list pointer that is already present in GtkMenuShell.

        * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
        GtkMenuShell::selection_done which is emitted after the menu shell
        poped down again and all possible menu items have been activated.

Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
        before activation of the menuitem, so the menu is actually taken off the
        screen prior to any menu item activation.

        * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
        for NULL nodes.

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
        the emission of the "add-accelerator" signal on a widget. this is
        usefull to prevent accelerator installation on certain widgets.

        * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
        labels left justified, by setting their alignment. stop accelerator
        installation for the menu items, since we use dynamic menus.

Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
        should *really* use GtkItemFactory. this is only for preserving source
        compatibility where possible, use of GtkMenuFactory is deprecated as of
        now.

        * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
        to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
        missed this possibility when i added gtk_object_class_add_user_signal
        in late january.

        * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.

Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelgroup.h:
        * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.

        * gtk/gtkaccellabel.h:
        * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
        display of the accelerators associated with a certain widget.

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
        parsing and accelerator handling.

        * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
        positioning a menu.
        (gtk_menu_map): removed the allocation code.
        (gtk_menu_size_allocate): care for redrawing of children and resize
        our widget->window correctly.
        (gtk_menu_key_press): feature the new accelerator groups.

        * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
        submenu if neccessary.

        * gtk/gtkmenuitem.c:
        * gtk/gtkcheckmenuitem.c:
        * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
        function variants.

        * gdk/gdk.c:
        (gdk_keyval_from_name):
        (gdk_keyval_name): new functions for keyval<->key-name associations.
        (gdk_keyval_to_upper):
        (gdk_keyval_to_lower):
        (gdk_keyval_is_upper):
        (gdk_keyval_is_lower): new functions to check/translate keyvalues with
        regards to their cases.

Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
        widget's class path.
        (gtk_widget_path): new function to calculate a widget's name path.

        * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
        pattern matching, features reversed pattern matches.
1998-06-07 06:48:56 +00:00
Manish Singh
f522f36dd1 Commented out the MEM_PROFILE and MEM_CHECK from gmem.c, causing problems
with GdkImages.

Updates some .cvsignores

-Yosh
1998-06-06 21:16:57 +00:00
Lars Hamann
7c8ae8a5f5 reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER 1998-06-02 19:32:33 +00:00
Jay Painter
57967d9a98 Added function gtk_clist_swap to swap two rows in a clist; I also have
finally fixed pixmap clipping so pixmaps are always cliped to the row.
1998-06-02 02:51:46 +00:00
Elliot Lee
bd191b6537 Revert, as per Owen's request 1998-05-25 02:41:36 +00:00
Elliot Lee
ab37cadbfe Make GtkEditable use signals instead of calling klass->... for stuff. Could someone look at the get_chars routine to see how to return the value properly? 1998-05-24 20:56:35 +00:00
Owen Taylor
53d06396b8 Locate child at (border_width,border_width), not
Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkeventbox.c (gtk_event_box_size_allocate):
        Locate child at (border_width,border_width), not
	(2*border_width,2*border_width). [ The border is _outside_
	widget->window ]

	* gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
	  functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1998-05-23 21:55:40 +00:00
Arturo Espinosa
fdd65ddef3 Oops. Commited a file I should not have. Revert change 1998-05-22 23:48:02 +00:00
Miguel de Icaza
d0f3668232 Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be used in gnome-libs
1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
	used in gnome-libs
1998-05-22 23:43:03 +00:00
Elliot Lee
63596d22ae Fix size_allocate to pass on to the child even if child isn't visible.
Fix size_allocate to pass on to the child even if child isn't visible.
Also locate child at (border_width, border_width) not (0,0)
1998-05-22 21:33:44 +00:00
Owen Taylor
579856439b Added style_set handler.
Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkhandlebox.c: Added style_set handler.

Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
 [ From: Chris Lahey  <clahey@umich.edu> ]

	* gtk/gtkeditable.c, gtk/gtkeditable.h,
	  gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
	  and set_position functions to get and set the cursor position.

        * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
	  signal status. Make GtkText do user-controlled insertion
	  and deletion through the Editable widget so that these
	  signals are properly emitted.

	* gtk/gtkentry.c: Changed gtk_entry_set_visibility to
	  display asterisks instead of empty space when visible = FALSE)
1998-05-22 07:07:11 +00:00
CEST 1998 Paolo Molaro
bf874e967e use GTK_TYPE_GDK_EVENT in (un)?select_row signal.
Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>

	* gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
	signal.
1998-05-22 06:55:20 +00:00
Elliot Lee
47c47914d6 I should have named it gtk_rc_set_image_loader() initially - fixed 1998-05-21 19:26:19 +00:00
Elliot Lee
cefd52f52f Allow user to set a custom image loading routine for loading bg_pixmap's
Allow user to set a custom image loading routine for loading bg_pixmap's specified in the
gtkrc's.
1998-05-21 19:24:01 +00:00
Paolo Molaro
4d3f6feb37 Tue, 19 May 1998 11:51:02 +0200 Paolo Molaro <lupus@debian.org>
* added generic functions for completion in glib.
	* used the above functions in the gtkcombo widget.
1998-05-19 10:17:31 +00:00
Elliot Lee
67baa4b4a6 Allow GTK_DEBUG=signals - VERY useful ;-)
Allow GTK_DEBUG=signals - VERY useful ;-)
1998-05-18 22:34:43 +00:00
Tim Janik
c174981e0b changed "proximity-in-event", "drop-data-available-event",
Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
        "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
        to be of runtype GTK_RUN_LAST.

        * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
        "need-resize".

        * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
        "widget-selected".
1998-05-18 04:31:03 +00:00
Tim Janik
5aa450f97b g_strdup() the text retrived from GtkEntry. only intercept the Tab key if
Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
        text retrived from GtkEntry. only intercept the Tab key if there
        was some text to complete.
1998-05-16 07:22:00 +00:00
Owen Taylor
dc93f21ffe Basic thread-awareness:
Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>

	Basic thread-awareness:

	* acconfig.h configure.in: New option --with-threads=[yes/posix/no]

	* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
	gdk_threads_[init/enter/leave] for applications, plus
	gdk_threads_wake to wake the mainloop thread out of
	the select().

	* gtk/Makefile.am: gtk/testthreads.c: Test program for threads
1998-05-16 02:14:09 +00:00
Owen Taylor
457148333e Basic thread-awareness:
Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>

	Basic thread-awareness:

	* acconfig.h configure.in: New option --with-threads=[yes/posix/no]

	* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
	gdk_threads_[init/enter/leave] for applications, plus
	gdk_threads_wake to wake the mainloop thread out of
	the select().

	* gtk/Makefile.am: gtk/testthreads.c: Test program for threads

Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/testgtk.c (list_clear): Account for the fact
	that gtk_list_clear_items is not inclusive. (Clears
	[start, end))
1998-05-16 02:13:12 +00:00
Manish Singh
123e299bcf ignore furry autogened files
-Yosh
1998-05-16 01:56:43 +00:00
Manish Singh
c71c5f6a9e bye bye autogenerated file
-Yosh
1998-05-15 23:07:59 +00:00
Tim Janik
152ff34893 [binray incompatibility]
[binray incompatibility]


Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>

        * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
        G_GNUC_NORETURN and G_GNUC_CONST.

        * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
        (g_scanner_msg_handler): "\n" at end of line!
        (g_scanner_foreach_symbol): new function to iterate over the symbol
        table (GScanner does value-wrapping).

Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
        the visibility_notify_event method and changed method order.
1998-05-15 08:09:18 +00:00
Tim Janik
004f0982e1 typedef gint gboolean; this is needed to provide portability with
Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>

        * glib.h: typedef gint gboolean;
        this is needed to provide portability with big-endian platforms (e.g.
        try sizeof(bool) for c++ on big-endians - it's 4).
        this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
        plus, gint to gboolean casts and vice versa need to be possible without
        loss.

Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
        freeing types.
        (gtk_type_set_chunk_alloc): new function to allow allocation of new
        types from a mem_chunk of certain size (n_chunks==0 indicates allocation
        thorugh g_malloc).

        * gtk/gtkobject.c (gtk_object_finalize): free an object through
        gtk_type_free().

        * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
        GtkButtons to 16.
        * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
        * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
1998-05-14 21:13:18 +00:00
4
344a271704 gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
1998-05-14    <sopwith@moebuis.labs.redhat.com>

        * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget

Can you say "binary incompatible"? :-)
1998-05-14 18:01:35 +00:00
Owen Taylor
4283c9de4f A few more GPOINTER_TO_UINT fixes.
Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktypeutils.c gtk/gtksignal.c: A few more
	  GPOINTER_TO_UINT fixes.

	* gtk/gtksignal.c: Include <string.h> for memset.

Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
	(Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)

	* gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
	Cleanups, comments and the ability to have rulers with
	a reversed direction.
1998-05-13 04:59:38 +00:00
Owen Taylor
43dfe74c56 Fixed up a stat() that Sopwith missed when changing stat => lstat.
Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
	that Sopwith missed when changing stat => lstat.

Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
	  gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
	GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.

	* gdk/gdk.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	sizeof() being long on Alpha's.

	* gtk/testgtk.c: include <string.h> for strlen

Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>

 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
	GPOINTER_TO_[U]INT for storing small integers integers
	inside pointers.

	* glib/testglib.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	size_t being long on Alpha's.
1998-05-13 00:24:57 +00:00
Elliot Lee
eae7b32f85 Use lstat() to tell when an rc file was modified, not stat(), because we
Use lstat() to tell when an rc file was modified, not stat(), because we
could be pointing symlinks around.
1998-05-12 22:11:56 +00:00
Owen Taylor
c9e78a1094 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)

	* glib.h gstring.c gmessages.c: Added some missing
	const to arguments.

	* gutils.c (g_strsignal.c): Added missing return statements.

Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)

	* gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
	Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>

	* gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass

Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
	(From: Christopher James Lahey <clahey@umich.edu>)

	* gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
	  gtk/testgtk.c:

	Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
	(old style), or GTK_RELIEF_NONE - no relief in the NORMAL
	state. Added gtk_toolbar_{set,get}_button_relief, which set/get
	the default relief for the toolbars buttons. Added an
	toggle for the toolbar test in testgtk.c.
1998-05-12 21:30:52 +00:00
Federico Mena Quintero
2fa59370f7 The commit to the stable branch is on its way...
1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkpreview.c (gtk_preview_realize): Create the window using
	GtkPreview's visual and colormap, otherwise things can BadMatch.

	* gtk/testgtk.c (create_color_preview):
	(create_gray_preview): Removed pushing/popping of visual/colormap
	now that GtkPreview does things correctly.

	* gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
	(gtk_color_selection_draw_wheel): Pick the style from the correct
	place (the colorsel->wheel_area widget) so that the GCs will match
	with where we are going to paint to.

	* gtk/testgtk.c (create_color_selection): Removed pushing/popping
	of visual/colormap now that GtkColorSelection does things the
	right way.
1998-05-12 03:15:45 +00:00
Owen Taylor
962386fb82 Use the previously unused window->need_resize flag to mark if a window's
Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
	previously unused window->need_resize flag to mark if a window's
	descendents changed size while the window was not visible. In this
	case, when the window becomes visible, we reallocate everything,
	since we didn't keep track of what actually changed.

	(Fixes bug where changing the popdown strings of a
	combo to something of the same length caused them to
	blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
1998-05-12 01:02:22 +00:00
Tim Janik
075cb4320d [security audit by Alan Cox]
Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>

        [security audit by Alan Cox]

        * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
        exceed maximum assumed size.

        * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
        not exceed maximum assumed size.
        (gtk_menu_factory_remove): likewise.
        (gtk_menu_factory_find_recurse): likewise.
1998-05-12 00:34:28 +00:00
Tim Janik
f15bd558ab queue the idle_sizer with GTK_PRIORITY_INTERNAL - 1, so widgets get first
Tue May 12 00:21:33 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
        GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
        redrawn if that is still neccessary. don't allow queueing of already
        destructed objects.
        (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
        widgets which are in the queue can be destroyed savely, handle
        requeueing properly.
        (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
        widgets which are in the queue can be destroyed/unrealized savely.
1998-05-11 22:32:52 +00:00
Tim Janik
ad137948b9 compilation fixups 1998-05-11 15:30:05 +00:00
Tim Janik
e8df8ce17b preserve automake CFLAGS.
Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>

        * configure.in (cflags_set): preserve automake CFLAGS.

        * Makefile.am: fully rename the created libraries to libgtk-1.1.la
        and libgdk-1.1.la. this means we need to change certain portions of
        the Makefile.am on major/minor version bumps.

        * ltmain.sh: the -release option is not required anymore.

        * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
        of the first argument to be of type GtkObject. unconditionally compile
        this function. removed __GNUC__ dependancy of the gtk_object_ref and
        gtk_object_unref macro wrappers for this function.

Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>

        * configure.in: preserve automake CFLAGS.

        * Makefile.am: fully rename the created library to libglib-1.1.la.
        this means we need to change certain portions of the Makefile.am on
        major/minor version bumps.

        * ltmain.sh: the -release option is not required anymore.

        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
        avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
        MIN, ABS and CLAMP, these macros might be screwed from other headers.
1998-05-11 08:31:16 +00:00
Tim Janik
01003779e9 new file, gdatasets implement the object data mechanism from GtkObject. a
Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>

        * gdataset.c: new file, gdatasets implement the object data
        mechanism from GtkObject. a generic data pointer is associated with
        a certain location and a key id.

Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        (gtk_object_data_try_key):
        (gtk_object_data_force_id): these are now macros substituting the old
        functions. we just use the corresponding g_dataset_* functions for
        key->id associations. (this is to assure unique key<->id associations).
1998-05-11 00:48:44 +00:00
Stefan Jeske
cb12593d57 Started documentation of GtkCTree. 1998-05-10 17:05:39 +00:00
Tim Janik
86be352e82 bugfixes, cleanups and macro reduction, nothing major though ;) 1998-05-10 07:44:43 +00:00
Tim Janik
315affdfcb minor cleanups and merges 1998-05-10 05:19:00 +00:00
Owen Taylor
f75d8b0c23 Try to figure out if this is Digital Unix and we need -std1 to get the
Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in (LIBS): Try to figure out if this
	is Digital Unix and we need -std1 to get the
	right prototypes.

Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>

	* glib/gmem.c: Experimentally restore GMemChunk
	to its primeval state - where mem areas are
	freed incrementally instead of searching the tree
	every time a mem area is completely empty. Also,
	always keep one mem chunk around. (Reduced calls
	to malloc() a lot, but doesn't really improve
	performance significiantly)

Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
	draw-queue when we are done.

	(gtk_widget_queue_draw/_queu_resize): Always return
	FALSE and avoid having two idles at the same time.

Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Various fixes to make sure cache
	lines are freed if line_start_cache doesn't point to the
	beginning of the cache.

Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>

	* style_set improvements for GtkText and GtkEntry

Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
	to speed things up and remove code duplication.

	Reintegrated buffer overflow patches, and added
	some extra paranoia.

Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c (gdk_event_translate): A guint * was
	being passed where X expected a Keysym *, and
	keysyms are long's on Alpha Linux. This was causing
	segfaults in Xlib, apparently because of alignment.
	(Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)

Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
	set GDK_EXPOSURE_MASK for DrawingAreas

Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
	(superceded by RC file reparsing capabilities)

	* gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
	events. (Shouldn't be sent to the InputOnly leader, which
	it is now by gdk_event_send_clientmessage_toall

	* gtk/testgtk.c: Added extra button to rcfiles test
	to send out _GDK_READ_RCFILES events.

Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkselection.c (gtk_selection_clear): Fixed
	reversed conditionals that caused segfault on some
	platforms.

Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
	cast to GTK_OBJECT for gtk_object_ref.
1998-05-10 02:46:20 +00:00
Tim Janik
9775962a96 new file used as template for new file to define macros indicating newly
Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkfeatures.h.in: new file used as template for
        * gtk/gtkfeatures.h: new file to define macros indicating newly
        introduced features, such as GTK_HAVE_SIGNAL_INIT.

        * gtk/gtksignal.c:
        (gtk_signal_emitv_by_name):
        (gtk_signal_emitv):
        new functions to emit signals with an already provided parameter set.
        (provided by Kenneth Albanowski <kjahds@kjahds.com>).
        (gtk_signal_real_emit): prototype changes, so this functions always
        gets its parameters and signal structure as arguments.
        (gtk_signal_emit): provide the signal structure and parameter list for
        gtk_signal_real_emit.
        (gtk_signal_emit_by_name): likewise.
1998-05-09 01:17:03 +00:00
Tim Janik
142c848308 reflect the presence of signal connections through unsetting
Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
        signal connections through unsetting GTK_CONNECTED.
        (gtk_signal_handler_insert): reflect the presence of signal connections
        through setting GTK_CONNECTED.
        (gtk_signal_real_emit): only check for handler emissions if the object
        has the GTK_CONNECTED flag set.
        (gtk_signal_handler_pending): don't check for pending handlers if the
        GTK_CONNECTED flag is not set for this object.

        * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
        a GtkObject has signal handler connections.

        * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
        set for this object call gtk_signal_handlers_destroy().

        * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
        multiple processing of macro args.

        * gtk/gtktypeutils.c:
        * gtk/gtkobject.c:
        * gtk/gtkwidget.c:
        * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
1998-05-08 23:20:48 +00:00
Tim Janik
1f455e53c0 asure that the type system has been initialized.
Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
                been initialized.
1998-05-07 17:08:58 +00:00
Tim Janik
2934f4f58c allocate object data chunks through a global object data structure list.
Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
                data chunks through a global object data structure list. unlink
                        object data before invoking its destroy function.
                                (gtk_object_finalize): slight modification to allow usage of object
                                        data during object finalization.
1998-05-07 11:12:57 +00:00
Tim Janik
8460f39363 speedups speedups speedups....
this one is actually noticable on widget destruction.

Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
        signal names, e.g. "signal-name" is now an alias for "signal_name".
        (gtk_signal_handler_new): allocate handlers through a global handler
        structure list, that's faster than memchunks.
        (gtk_emission_new): allocate emissions through a global emission
        structure list, that's faster than memchunks.
1998-05-07 09:23:50 +00:00
Tim Janik
39ff37dc74 postfix -lg* libraries with LT_RELEASE.
Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>

        * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.

        * ltmain.sh: added a new commandline flag -postfix similar to -release,
        but will immediately change the library name.

        * gdk/Makefile.am:
        * gtk/Makefile.am: specify -postfix and -version-info

        * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
        GTK_BINARY_AGE. calculate LT_* variables for libtool.
1998-05-07 04:04:15 +00:00
Arturo Espinosa
513a06e966 ChangeLog 1998-05-06 23:38:10 +00:00
Stefan Jeske
1afc96a702 Removed code that caused an endless loop.
* gtk/testgtk.c (unselect_all): Removed code that caused an
	endless loop.
1998-05-06 08:22:31 +00:00
Tim Janik
518a8a9c4e reimplemented the signal storage system to use a linear array rather than
Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c: reimplemented the signal storage system to use a
        linear array rather than a hash table.
        be carefull *not* to keep any GtkSignal pointers across invokations
        of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
        general code cleanups, made all allocations through memchunks.
        (gtk_signal_lookup): we now do the lookup of signals through a key_id
        for the signal names to avoid multiple hashing of the signal name on
        lookups for the several hirarchy levels of an object.

Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
        checking for signal initialization in gtksignal.c.

        * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
        a long debugging period ;)

Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
        gtk_type_is_a().
        * gtk/gtktypeutils.c: reimplemented the type storage system to use a
        linear array rather than a hash table. it actually speeded up testgtk
        for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
        pointers across invokations of gtk_type_node_next_and_invalidate() and
        therefore gtk_type_unique()!

        * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
        inheritance of a class pointer.
        (GTK_OBJECT): modifications for speedups.
        (GTK_IS_OBJECT): likewise.
        (GTK_OBJECT_CLASS): likewise.
        (suggested by owen).

        * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.

        * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.

        * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
        since its derivation changed 4 month ago ;(. showed up with the unique
        type name checking code in gtk_type_unique().

        * random guint->GtkType and macro fixups.
1998-05-06 01:43:56 +00:00
Stefan Jeske
c3e04d86ec New function to wrap XSetDashes; modified gtkctree.c to use it.
* gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
	New function to wrap XSetDashes; modified gtkctree.c to use it.
1998-05-05 15:00:12 +00:00
Stefan Jeske
a92832509d New function (just like gtk_clist_moveto).
* gtk/gtkctree.[ch] (gtk_ctree_scroll_to): New function (just like gtk_clist_moveto).
1998-05-04 09:40:35 +00:00
Owen Taylor
2780a82a0e One or two trivial changes from the gtk-1-0 branch. 1998-05-04 02:59:52 +00:00
Owen Taylor
d142827b34 Merges from the gtk-1-0 branch
Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>

	* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
	"glibconfig.h" and another about writing another IRC
	client.

Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
	parameters to log are doubles. Digital Unix apparently
	is missing the argument in its prototype.

Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtklabel.c (gtk_label_state_changed): Don't
	force a clear until the widget is actually on
	screen.

Hopefully nothing else though CVS think there are a whole
bunch more changed files.
1998-05-04 02:10:36 +00:00
Owen Taylor
4851efe296 configure.in acheader.h gdk/gdkwindow.c Check for Shape extension both on
Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in acheader.h gdk/gdkwindow.c
	Check for Shape extension both on the client and server
	side. (And, more importantly, check for the shape extension
	so we may include -lXext even when compiling with --disable-xshm)

	Don't set override_redirect on all shaped windows. It isn't
	necessary.

	* gdk/gdkwindow.c: Set ->colormap to NULL for root
	and foreign windows. Use this to check if we
	need to get the colormap from X.

Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
	between the default and the button always in GTK_STATE_NORMAL.

	* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
	callback.

Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
	  Fix a buffer overflow on pixmaps that claim to have
	  more than 31 characters per pixel.

	  (gdk_pixmap_read_string): Don't wrap around strings longer
 	  than half of address space ;-)

	* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
	that were used for printing integers.

	* */* (almost):

	Style: All
	  int foo () { ... }
	changed to
	  int foo (void) { ... }

^^^^^^^ This is why some many files changed

	Even where there were proper prototypes elsewhere.

	* gdk/gxid.c (handle_claim_device): Some extra checks.
	It isn't safe against being fed bad X id's, but at
	least it should be safe against deleting all your
	files.
1998-05-03 22:41:32 +00:00
Tim Janik
c0b9232351 hmmmm, corrections? 1998-05-03 20:48:15 +00:00
Tim Janik
5c9af6b5aa new function to set the adjustments value without causing a current
Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
                to set the adjustments value without causing a current emission of
                        "value_changed" to be restarted.

                                * gtk/gtksignal.c: added new functions to retrive the number of
                                        existing emissions for a certain signal.
                                                (gtk_signal_n_emissions): new function.
                                                        (gtk_signal_n_emissions_by_name): new function.
1998-05-03 19:13:24 +00:00
Tim Janik
19bbe0557f new function to set the current focus_child of a container, does proper
Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
                set the current focus_child of a container, does proper referencing and
                        adjusts the vadjustment/hadjustment associated with the focus widget.

                                * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
                                        containers via gtk_container_set_focus_child.

                                                * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
                                                        where appropriate.

                                                                * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
                                                                        child since not every child removal goes through this function (this
                                                                                showed up after gtk_container_set_focus_child() started to reference the
                                                                                        focus_child of a container).

                                                                                                * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
                                                                                                        of a container from gtk_container_remove into this place.
1998-05-03 15:45:08 +00:00
Tim Janik
2ca03393f5 added new functions to operate on intermediate function pointers.
Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c: added new functions to operate on intermediate
                function pointers. implemented incremental blocking.
                        (gtk_signal_disconnect_by_func): new function.
                                (gtk_signal_handler_block_by_func): new function.
                                        (gtk_signal_handler_unblock_by_func): new function
1998-05-02 20:48:49 +00:00
Owen Taylor
864a386300 merging owen's bug fix
Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
                Always show the scrollbars when the policy is
                        GTK_POLICY_ALWAYS...
1998-05-02 19:01:33 +00:00
Tim Janik
d466bcb7a0 only emit "value_changed" if we really passed a new value.
Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
                "value_changed" if we really passed a new value.
                        (gtk_adjustment_changed): new function to emit the "changed" signal.
                                (gtk_adjustment_set_value): new function to emit the "value_changed"
                                        signal.
1998-05-02 18:35:23 +00:00
Tim Janik
998ac31096 do not just return if the combo-list is empty since that will cause the
Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
                the combo-list is empty since that will cause the combo to operate
                        on a non existing GtkList window.
                                (gtk_combo_get_pos): provide the combo list with a usfull default
                                        height if empty.
                                                (gtk_combo_popup_button_press): grab the focus.
                                                        (gtk_combo_activate): grab the focus.
1998-05-02 04:20:55 +00:00
Lars Hamann
67c79cda67 removed unneeded GtkCTree::draw_lines (gtk_ctree_get_node_info): New
* gtkctree.[ch]: removed unneeded GtkCTree::draw_lines
(gtk_ctree_get_node_info): New funtion to get data of ctree row.
(draw_row): changed drawing order of tree lines, draw triangles
in case of GTK_CTREE_LINES_NONE.
1998-05-01 23:45:18 +00:00
Owen Taylor
b0a28fdadd Further changes to the way the window is popped up so that it will be
Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcombo.c: Further changes to the way the window
	is popped up so that it will be compatible with
	auto-scrolling in the future.
1998-05-01 19:39:27 +00:00
Owen Taylor
de210bbdec New function to reset the RC styles for a heirarchy
Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
	function to reset the RC styles for a heirarchy

        Clear the window background if necessary in
	gtk_window_style_set.

	* gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
	rereads all previously read RC files.

	* gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
	(Should it just be called gdk_get_toplevels?)

	* gtk/testgtk.c: New test to reload RC files.
1998-05-01 16:15:39 +00:00
Tim Janik
61554862e6 ctree import 1998-05-01 13:20:55 +00:00
Tim Janik
befef270ab prefixed all clist flags with GTK_ to avoid name clashes. redefined
Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h:
                * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
                        clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
                                GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
                                        the GTK_ prefix (this solution involved less changes in the
                                                gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
                                                        the mem_chunk==NULL test in gtk_clist_construct. merged in changes
                                                                from lars & stefan to support the derivation of GtkCtree.

                                                                        * gtkctree.h:
                                                                                * gtkctree.c:
                                                                                        initial import of a tree widget derived from gtkclist, courtesy
                                                                                                of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
                                                                                                        it just damn rocks!


Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
        for us.
        (gtk_list_insert_items):
        (gtk_list_remove_items_internal):
        (gtk_list_clear_items):
        remove a possible pointer grab, we might get thrown into a loop
        otherwise.
        (gtk_list_button_press): grab the pointer *before* selecting the child,
        because selection of items may cause the lists children to change,
        resulting in a grab release.
        (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
        children.
        (gtk_list_shutdown): remove all children from the list.
        (gtk_real_list_unselect_child):
        (gtk_real_list_select_child): *always* put our internal structures into
        sane state *before* signal emisions (i.e. list->selection updates prior
        to gtk_list_item_[de]select() calls).

        * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
        focused child walks out of the window.
        removed CAN_FOCUS for the combo arrow's button since it doesn't react
        to keyboard events ("clicked" connection is missing).
1998-05-01 13:16:49 +00:00
Owen Taylor
05bc6a5b36 Merged changes from gtk-1-0. Check ChangeLog for details. 1998-05-01 04:23:59 +00:00
Owen Taylor
8850ce814d Allow the user to use the popup list like a menu.
Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcombo.[ch]: Allow the user to use the popup list
	like a menu.

	* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
	to gtkitem.c so dragging can also work in lists.

	* gtk/gtklist.[ch]: Track child enter events and use
	those to allow dragging the selection.

Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Try enabling background pixmaps for editable text
	widgets.  There is a bit of flashing, but not too bad. If you
	don't want the flashing, you can always not set a background
	pixmap.

Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Fixed a bug where the drawn level
	was being messed up when the text was scrolled
	during a deletion.
1998-04-30 15:18:19 +00:00
Owen Taylor
5647eeecf3 merging changes from owen:
Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>

        * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
        that when we are running with a non-installed colormap,
        in 8-bit pseudo-color, we actually are using the system
        visual. (Fixes *Bad Match* errors on Digital Unix machines
        with multiple 8-bit pseudo-color visuals)

-r HEAD and -r gtk-1-0 are in sync now!
1998-04-24 01:03:32 +00:00
Tim Janik
3e3c14e9ef changed ref_count field to be of type guint. added check for ref_count>0;
Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
                field to be of type guint.
                        * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
                                ref_count>0;
                                        (gtk_accelerator_table_install): keep a per object list of accelerator
                                                tables that refer to this object.
                                                        (gtk_accelerator_table_remove): remove the accelerator table from the
                                                                per object list.
                                                                        (gtk_accelerator_table_clean): warn if there are any object references
                                                                                left in an accelerator table upon destruction.
                                                                                        (gtk_accelerator_tables_delete): new function to delete object
                                                                                                references from the accelerator tables associated with this object.

                                                                                                        * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
                                                                                                                GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
                                                                                                                        of an accelerator can be prevented by gtk_signal_emit_stop().
                                                                                                                                (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
                                                                                                                                        so there are no stale pointers in accelerator tables left.



this change is binary compatible, so just touch gtkaccelerator.h -r gtkwidget.h
1998-04-24 00:26:01 +00:00
Federico Mena Quintero
9546a9dc14 Remember whether the widget was visible before we unparent it.
1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
	visible before we unparent it.
1998-04-23 04:26:20 +00:00
Tim Janik
f83adda582 ts ts ts, GList structures have a ->prev field as well!!! 1998-04-22 12:11:26 +00:00
Tim Janik
0dc21c5690 prepend the running_timeouts list with the tmp_list link itself, not with
Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
                running_timeouts list with the tmp_list link itself, not with a new
                        GList structure pointing to our link. that would fill up memory and
                                causes the GList.data fields of the running_timeouts list to point to
                                        GList structures and not GtkTimeoutFunction structures which is a
                                                *really* bad thing.
                                                        (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
                                                                the above entry ;).
1998-04-22 02:20:50 +00:00
Tim Janik
57703d0170 new function ala gtk_radio_button_set_group. (gtk_radio_menu_item_init):
Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkradiomenuitem.h:
                * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
                        ala gtk_radio_button_set_group.
                                (gtk_radio_menu_item_init): assure that we always have at least a group
                                        that points to self.

                                                * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
                                                        added g_return_if_fail() statements.
                                                                (gtk_radio_button_init): assure that we always have at least a group
                                                                        that points to self.
1998-04-18 20:33:35 +00:00
Tim Janik
c7c0e3d58d corrected a brace position (Damon Chaplin), which i got wrong when
Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
                (Damon Chaplin), which i got wrong when applying Damon's patch the last
                        time.
1998-04-15 04:00:45 +00:00
Owen Taylor
385164d6f9 Don't read the character past the end of the text.
Mon Apr 13 21:40:14 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (find_char_width): Don't read the
	character past the end of the text.

	* gtk/gtkrange.c (gtk_real_range_timer): If the mouse
	button has been released before the timer is activated,
	don't keep on scrolling.

	* gdk/gdk.c (gdk_event_translate): Filter subsequent configure
	events after we discard the first. Removed obsolete and
	sometimes very slow GdkOtherEvent. (Left in gdktypes.h
	with signal in GTK)
1998-04-14 01:39:40 +00:00
Michael K. Johnson
1d6172102d removed duplicate call to gtk_widget_set_policy.
Mon Apr 13 15:04:26 1998  Michael K. Johnson <johnsonm@redhat.com>

        * gtk/testgtk.c (create_clist): removed duplicate call to
        gtk_widget_set_policy.
1998-04-13 19:09:00 +00:00
Tim Janik
18dfa1ae90 check for accelerator table to be != NULL.
Mon Apr 13 05:03:11 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c (gtk_window_add_accelerator_table): check for
                accelerator table to be != NULL.
                        (gtk_window_remove_accelerator_table): likewise.
1998-04-13 04:42:11 +00:00
Owen Taylor
a3ee7a9416 An old allocation error.
Sun Apr 12 22:43:22 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate):
	An old allocation error.

	* gtk/gtkviewport.c (gtk_viewport_add): Don't map
	when adding a not-VISIBLE widget to a VISIBLE
	viewport.
1998-04-13 02:45:25 +00:00
PDT 1998 Shawn T. Amundson
92006c8e78 Changed LGPL address for FSF in all .h and .c files
Sun Apr 12 18:54:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Changed LGPL address for FSF in all .h and .c files
1998-04-13 02:02:47 +00:00
Owen Taylor
e6af5d49ae Set a flag so instead of clearing the area in advance. That looked
Sun Apr 12 20:09:40 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtklabel.[ch] (gtk_label_expose): Set a flag so
	instead of clearing the area in advance. That looked
	_really_ bad.

	* gtk/gtkcontainer.c (gtk_container_class_init): Changed
	"focus" to RUN_LAST.

	* gtk/gtkentry.c (gtk_entry_realize): Fixed place
	where allocation was used where requisition was meant.
	(Found by David J N Begley <david@avarice.nepean.uws.edu.au>)

	* gtk/gtkwindow.c (gtk_window_set_default): Fixed
	assertion in when setting default to NULL>
	("Damon Chaplin" <DAChaplin@email.msn.com>)

	* gtk/gtkwidget.c (gtk_widget_unparent): Unset the
	default widget on the toplevel, if necessary.

Sun Apr 12 02:04:21 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkpreview.c: Removed unecessary and harmful
	htons/ntohs when storing properties. (X does the byte
	swapping itself)
1998-04-13 00:20:17 +00:00
Owen Taylor
0dfc14aa8b Removed incorrect part of assertion that was causing failures for
Sat Apr 11 02:01:31 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (scroll_down): Removed incorrect part of
	assertion that was causing failures for scrolling a single
	line very short text widget.
1998-04-11 06:06:51 +00:00
Owen Taylor
6114e5b813 Fixed a sign problem (typedef gint guint!). Added some checks to make sure
Sat Apr 11 01:41:55 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (expose_text): Fixed a sign problem
	(typedef gint guint!). Added some checks to make sure things
	are positive.
1998-04-11 05:50:16 +00:00
Tim Janik
9c585e9210 don't shut down the tooltip on expose events.
Sat Apr 11 05:51:22 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktooltips.c (gtk_tooltips_event_handler): don't shut down the
                tooltip on expose events.

                        * gtk/testgtk.c (create_progress_bar): add an example tooltip.
1998-04-11 03:54:34 +00:00
Owen Taylor
3a02948170 Picky --enable-ansi cleanups.
Thu Apr  9 18:36:31 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmisc.c gdk/gdkwindow gtk/gtkentry.c gtk/testgtk.c:
	Picky --enable-ansi cleanups.

	* gtk/gtkstatusbar.c (gtk_statusbar_pop): Pop top message
	off _belonging_to_this_context_. (gtk-d4bjorn-980409-0)

	From "Damon Chaplin" <DAChaplin@email.msn.com>

	* gtk/gtktable.c (gtk_table_size_request_pass3): Small fix to size
	requisition code.

	* gtk/gtknotebook.c: Make sure not to do things to page->tab_label
	if it doesn't exist.
1998-04-10 00:44:35 +00:00
Owen Taylor
26df647a0f (Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)
Thu Apr  9 14:24:35 1998  Owen Taylor  <owt1@cornell.edu>

	(Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)

	* gtk/gtkcurve.c (gtk_curve_interpolate): Added a
	missing g_free.

	* gtk/gtkcurve.c (gtk_curve_graph_events): Limits
	were off by one, resulting in writing past array
	bounds. Removed some unused code.

	* gdk/gdk.c (gdk_dnd_drag_begin): The event structure
	used for gdk_event_put should be a GdkEvent, not a
	subtype, since it will all be copied.

	* gtk/gtkcolorsel.c: Added a unrealize handler that
	unref's the GC's that were created.

	* gtk/testgtk.c (clist_warning_test): ref and sink
	child because it may never be added to anything.
1998-04-09 19:12:12 +00:00
Elliot Lee
2a2323d64e Combobulator fixes..... ....
Combobulator fixes.....
....

.....


......



.......



........

April fools! ;-)
1998-04-09 02:55:46 +00:00
Owen Taylor
3a1eebe683 Removed unsed variables (gtk-jbuhler-980408-0)
Wed Apr  8 20:50:02 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwindow.c (gtk_window_set_hints): Removed unsed
	variables (gtk-jbuhler-980408-0)
1998-04-09 00:50:20 +00:00
Owen Taylor
520fd17eca Make sure widgets get removed from the resize queue before the connection
Wed Apr  8 17:27:40 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c (gtk_widget_unparent): Make sure
	widgets get removed from the resize queue before the
	connection between them and the resize queue is broken
	by unparenting their parent.
1998-04-08 21:40:45 +00:00
Owen Taylor
0d1eb423a1 Handle border width correctly on realize after allocate.
Wed Apr  8 01:33:58 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkviewport.c (gtk_viewport_realize): Handle border
	width correctly on realize after allocate.
1998-04-08 05:41:40 +00:00
Owen Taylor
1c77b5f926 Removed, because that's what a NULL comparison function means. And it
Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>

	* gutils.c (g_direct_compare): Removed, because that's what
	a NULL comparison function means. And it wasn't 64 bit safe.

Tue Apr  7 19:14:03 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdkpixmap.c: Added maximum field widths to prevent
	possible '%s' scanf overflows. Replaced scanf("%c")
	with getc(), Don't interpret /*/ as a full comment. Use
	g_realloc/g_new.

	* gtk/gtkwidget.h gtk/gtkprivate.h: Changed all flag
	tests to check for ((GTK_WIDGET_FLAGS(widget) & FLAG) != 0)
	instead of (GTK_WIDGET_FLAGS(widget) & FLAG)

	* gtk/gtkfilesel.c: Use getwd() instead of getcwd() on
	SunOS, because getcwd() hangs up in a wait4().
	(Found by David Monniaux <monniaux@clipper.ens.fr>)

	- Check device/inode/mtime not just inode/mtime, when
	caching scanned directories.
	(From: scottk@ig.utexas.edu (Scott Kempf))

	* gdk/gdkpixmap.c: Check for 0 width/height when
	creating pixmaps.

	* gtk/*.c: Global substitution of recently introduced
	"MAX (0," for allocations to "MAX (1,", since
	creating a backing pixmap with a zero width or height
	fails.

	* gdk/gdkwindow.c (gdk_window_new): Don't set all the
	WM properties for child windows. Don't set the base
	size, since the value we set will be taken as a minimum
	size.
1998-04-07 23:59:25 +00:00
Tim Janik
13de9dc34f don't take '\n' into account for size computation (Damon Chaplin).
Wed Apr  8 00:00:48 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_expose): don't take '\n' into account for
                size computation (Damon Chaplin).

                        * gtk/gtkvscale.c (gtk_vscale_draw_value): adjusted static snprintf()
                                buffer size to 32 characters (Damon Chaplin).
                                        * gtk/gtkhscale.c (gtk_hscale_draw_value): likewise.

                                                * gtk/gtkmain.c (gtk_main_iteration_do): gdk_flush() the X-queue if
                                                        iteration_done==TRUE since we will most likely not get invoked again
                                                                (Marius Vollmer).
1998-04-07 23:29:04 +00:00
Elliot Lee
39a05c0b55 gtk_button_remove(): When removing a child widget from a button, we don't
gtk_button_remove():
	When removing a child widget from a button, we don't want to check
	the child's visibility after removal (for the purpose of knowing
	whether a queue_resize is needed), we want to check it *before*,
	because the child may be destroyed during the
	gtk_widget_unparent()

	The diff is clearer than this stupid log message. :)
1998-04-07 19:51:06 +00:00
Owen Taylor
8051b9d2bc Set the window hints on every map so that GTK_WIN_POS_MOUSE works
Mon Apr  6 23:48:29 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwindow.c (gtk_window_realize): Set the
	window hints on every map so that GTK_WIN_POS_MOUSE
	works correctly.
1998-04-07 04:17:27 +00:00
Federico Mena Quintero
30533f0397 Added function to set the homogeneous flag of the table (needed by derived
1998-04-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtktable.h:
	* gtk/gtktable.c (gtk_table_set_homogeneous): Added function to
	set the homogeneous flag of the table (needed by derived widgets
	and such).

1998-04-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkradiobutton.h: Add prototype for gtk_radio_button_new_with_label_from_widget.
1998-04-06 22:33:32 +00:00
Owen Taylor
0f9fe89727 Take border in account properly.
Mon Apr  6 08:05:23 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkbutton.c (gtk_button_paint): Take border in
	account properly.

	* gtk/gtktext.c (gtk_text_realize): Don't recompute
	geometry when creating with initial 1x1 geometry,
	since our calculations can't handle that. Leave
	text->line_start_cache NULL as sign we don't have
	a real geometry yet.

	* gtk/gtkentry.c (gtk_entry_motion_notify): Use the x
	value we get from gdk_window_get_pointer, not from
	event->x - since we always specify OwnerGrabButtonMask
	(why???), event->x can refer to another window.
1998-04-06 12:59:06 +00:00
Owen Taylor
61ca241924 Make tab key move in reading order (left-to-right top to bottom) - which
Mon Apr  6 00:28:28 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkcontainer.c (gtk_container_focus_tab): Make
	tab key move in reading order (left-to-right top
	to bottom) - which might have been the original intended
	behavior modulo sorting bugs.

	* gtk-config.in: Never output -I/usr/include from --cflags
1998-04-06 04:31:15 +00:00
Owen Taylor
79d880ccb7 Fixed bug where right justified menu would overlap last left justified
Sun Apr  5 21:47:12 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmenubar.c: Fixed bug where right justified
	menu would overlap last left justified item.
1998-04-06 02:00:48 +00:00
Owen Taylor
20fee708a3 Fixed assignment of adjustment->value to negative values. Moved a few
Sun Apr  5 19:30:23 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkclist.c: Fixed assignment of adjustment->value
	to negative values. Moved a few other allocation type things
	around in ways that may or may matter. Fixed some allocation
	errors (scrollbars were overlapping main window).

	* gtk/gtkbutton.c (gtk_real_button_released): Small hack to keep
	button labels from vanishing when the invoked operation blocks.

	* gtk/gtkbox.c (gtk_box_remove): Assigning GTK_WIDGET_VISIBLE (widget)
	to a gboolean (char) is _bad_. GTK_VISIBLE == 256.
1998-04-05 23:30:26 +00:00
Owen Taylor
1a099c2ced Reverted broken implementation of removing the current timeout/idle.
Sun Apr  5 15:08:25 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c: Reverted broken implementation of removing
	the current timeout/idle. Substituted a (hopefully) functional one.
1998-04-05 19:23:38 +00:00
Tim Janik
ab7989217a take expired timeouts into account, otherwise things like e.g.
Sun Apr  5 09:35:55 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_events_pending): take expired timeouts into
                account, otherwise things like e.g. spin-buttons don't work.
                        also, count gtk_main_quit() as an event.
1998-04-05 09:18:08 +00:00
Tim Janik
6e28c40061 fixed panel allocation and stacking order, fixed the base class
Sun Apr  5 08:03:01 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkspinbutton.c: fixed panel allocation and stacking order,
                fixed the base class realization.

                        * gtk/gtkmisc.c: implemented widget arguments.

                                * gtk/gtkentry.c: fixes in _realize to behave similar to
                                        _size_allocate.
1998-04-05 06:58:29 +00:00
Owen Taylor
977b13d37f Test for need to recompute geometry with GTK_WIDGET_REALIZED(), not
Fri Apr  3 23:15:55 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c: Test for need to recompute geometry with
	GTK_WIDGET_REALIZED(), not GTK_WIDGET_DRAWABLE().
1998-04-04 04:21:26 +00:00
Federico Mena Quintero
bfd68b4357 New function to draw a nifty "textured metal" frame. Could be useful in
1998-04-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkhandlebox.c (draw_textured_frame): New function to draw a
	nifty "textured metal" frame.  Could be useful in gtkstyle.c, maybe.
	(gtk_handle_box_paint): Paint a handle that does not make you puke
	when you look at it.
1998-04-04 03:06:07 +00:00
Owen Taylor
71824a2cd5 Call recompute_geometry() upon realization, since it can't be done in the
Fri Apr  3 21:03:38 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (gtk_text_realize): Call recompute_geometry()
	upon realization, since it can't be done in the previous
	size_allocate.
1998-04-04 02:04:50 +00:00
Owen Taylor
e2ae4aec47 Make debug string parsine case-insensitive
Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>

	* gutils.c (g_parse_debug_string): Make debug string
	parsine case-insensitive

Fri Apr  3 20:36:52 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c gtk/gtkmain.c: Accept debug options
	in the form --g[td]k[-no]-debug=xxx as well
1998-04-04 01:56:54 +00:00
Owen Taylor
32cd050cfe More extensive debugging output
Fri Apr  3 17:14:55 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c: More extensive debugging output

	* gtk/gtkalignment.c gtk/gtkbutton.c gtk/gtkcheckbutton.c
	  gtk/gtkclist.c gtk/gtkeventbox.c gtk/gtkhandlebox.c
	  gtk/gtk[hv]box.c gtk/gtk[hv]paned.c gtk/gtklist.c
	  gtk/gtkmenu.c gtk/gtkmenubar.c gtk/gtkmenuitem.c
	  gtk/gtknotebook.c gtk/gtktable.c gtk/gtktree.c
	  gtk/gtktreeitem.c gtk/gtkviewport.c

	Avoid assigning negative values to unsigned allocation.width and
	height

	* gtk/gtkwindow.c:

	Instead of realizing the widget, then size allocating, (resulting
	in XMoveResizeWindows for all children, do the size allocation
	first, then realize.

	In gtk_real_window_move_resize, combine move and resize
	into a single GDK/X call when possible.

	* gtk/gtkclist.c gtk/gtkdrawingarea.c:

	Remove assumption that the widget will be size allocated _after_
	it is realized.

	* gtk/gtklist.c (gtk_list_motion_notify): Removed useless
	debugging message.
1998-04-03 23:17:16 +00:00
Tim Janik
30f22e0208 forgot to set the initial `0' cursor.
Tue Mar 31 06:37:16 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (create_cursors): forgot to set the initial `0' cursor.
1998-03-31 04:39:57 +00:00
Owen Taylor
f59f2039c0 Add a "style_set" callback, so the font can be changed at run time.
Mon Mar 30 21:29:43 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkentry.c: Add a "style_set" callback, so the
	font can be changed at run time. (needed for GIMP text
	tool)
1998-03-31 02:36:51 +00:00
Tim Janik
a20f83d9a9 show the menu_label unconditionally (even if it is not a default label).
Tue Mar 31 01:17:23 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtknotebook.c (gtk_notebook_menu_item_create): show the menu_label
                unconditionally (even if it is not a default label).
                        (gtk_notebook_update_labels): if we have a tab_label, then use its label
                                as the default menu_label.
1998-03-31 00:38:59 +00:00
Owen Taylor
4bf5d761bc Improved main loop test. (Quits main loop properly, makes it more obvious
Mon Mar 30 16:35:57 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c: Improved main loop test. (Quits main
	loop properly, makes it more obvious to the user
	what is going on)

	* gtk/gtkwidget.c (gtk_widget_unparent): Reset the
	allocation _after_ clearing the window.

	* configure.in: If can't find XShmAttach in Xext, check
	in XextSam (for AIX).

	* gtk/gtkmain.c (gtk_events_pending): Remember, small
	numbers are _high_ priority for idle queues.

	* gtk/gtkmain.c (gtk_handle_current_timeouts): Allow
	removing the currently running timeout.

	* gtk/testgtk.c (timeout_test): Use the right prototype
	for callback.
1998-03-30 23:04:51 +00:00
Tim Janik
8eb7761e72 removed this function, it was unneeded and not exported.
Mon Mar 30 21:40:21 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.c (gtk_clist_row_from_ypixel): removed this function,
                it was unneeded and not exported.

                        * gtk/gtkwidget.c (gtk_widget_ref) (gtk_widget_unref): don't check-cast
                                the widgets to volatile GtkObjects (which was there for debugging
                                        purposes only). these functions should probably be macros, but that
                                                would break binary compatibility again, sigh.
                                                        (gtk_widget_destroy): removed superfluous check-casts, since the
                                                                neccessary checks are done in gtk_object_destroy anyways. this should
                                                                        be a macro as well but stays as a function for the above reasoonings.
1998-03-30 20:03:36 +00:00
Tim Janik
2f5621e566 Added wrapping capabilities to GtkSpinButton. New function :
Sun Mar 29 22:29:00 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkspinbutton.[ch] gtk/testgtk.c (gtk_spin_button_set_wrap):
                Added wrapping capabilities to GtkSpinButton. New function :
                        gtk_spin_button_set_wrap (Lars Hamann and Stefan Jeske).
1998-03-29 20:40:10 +00:00
Owen Taylor
93e1585614 Disconnect from combo->entry, not combo. (From: Daniel Skarda
Sat Mar 28 21:18:42 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkcombo.c (gtk_combo_disable_activate):
	Disconnect from combo->entry, not combo.
	(From: Daniel Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>)

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm): Deal
	better with xpm's with bad colors in them.

Plus, 3rd attempt to commit gtklabel changes
1998-03-29 02:44:43 +00:00
Owen Taylor
b2c30ad95d Don't clear the window on an expose event. On draws, just clear the
Fri Mar 27 17:58:41 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
	the window on an expose event. On draws, just clear the
	portion we are redrawing.

	* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
	of fontset ascent/descent.

	* gtk/gtkwidget.[ch]: Added new function to show a toplevel
	window and wait for it to be mapped, gtk_window_show_now ()
1998-03-28 00:10:49 +00:00
Owen Taylor
f2cfc17be8 Missed one 1998-03-27 17:24:04 +00:00
Owen Taylor
e0ea1f0c14 If the widget is _not_ a descendant of a Window widget, propagate key
Fri Mar 27 00:13:18 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c (gtk_propagate_event): If the widget is _not_
	a descendant of a Window widget, propagate key presses like
	other events.

	* gtk/gtkentry.c gtk/gtktext.c: Ignore multiple simultaneous
	button presses instead of treating subsequent presses as
	release/press pairs for tablet compatibility.

	* configure.in config.h.in: Removed inline checks, because they
	are duplicated in glib.

	* gtk/gtkwidget.c (gtk_widget_draw): When gtk_widget_draw ()
	occurs with queued draw already in place, redraw _entire_
	widget. (Pointed out by Tim Janik)
1998-03-27 05:17:11 +00:00
Tim Janik
11f79ebe18 make a clear distinction between key press/release events, which will be
Thu Mar 26 23:12:54 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_propagate_event): make a clear distinction between
                key press/release events, which will be sent to a widgets toplevel
                        ancestor and be forwarded from there, and all other events that need to
                                get propagated up the widget tree (pointed out by Owen Taylor).
1998-03-26 22:18:56 +00:00
Tim Janik
c2906f2bea always display the correct active state.
Thu Mar 26 21:37:57 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): always
                display the correct active state.

                        * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): always
                                display the correct active state.

                                        * gtk/gtkwidget.c (gtk_widget_set_arg): CAN_FOCUS and CAN_DEFAULT flag
                                                changes need to queue a resize.

                                                        * gtk/gtkbutton.c (gtk_button_paint): take border_width into
                                                                consideration for restrict area.

                                                                        * gtk/gtktogglebutton.c (gtk_toggle_button_class_init): enable the
                                                                                draw_default member of GtkButton, otherwise the diplay is messed up
                                                                                        for CAN_DEFAULT toggles.
                                                                                                (gtk_toggle_button_draw_focus): always display whether the toggle button
                                                                                                        is active or not.

                                                                                                                * gtk/gtkwidget.c (gtk_widget_set_state):
                                                                                                                        (gtk_widget_set_sensitive):
                                                                                                                                (gtk_widget_set_parent):
                                                                                                                                        (gtk_widget_propagate_state): take into consideration, whether we really
                                                                                                                                                want to change childrens states, or just restauration of old states.
1998-03-26 21:57:45 +00:00
Owen Taylor
a74e338517 When gtk_widget_draw() is called on a REDRAW_PENDING widget, draw it and
Thu Mar 26 15:33:50 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c: When gtk_widget_draw() is called on a
	REDRAW_PENDING widget, draw it and remove it from the
	queue instead of doing nothing.

	* gtk/Makefile.am gdk/Makefile.am: Switch order of includes
	directories, to make doubly sure that wrong glibconfig.h
	isn't used. (See also glib/ChangeLog)

	* gtk/gtkentry.c (gtk_entry_draw_focus): Don't draw the
	cursor unless the entry is editable.

	(From: Stefan Jeske <jeske@braunschweig.netsurf.de>)
1998-03-26 20:57:29 +00:00
Tim Janik
d38e339ebb do not propagate unhandled key events on widgets with parent==NULL twice.
Thu Mar 26 08:31:58 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_propagate_event): do not propagate unhandled key
                events on widgets with parent==NULL twice.
1998-03-26 07:47:04 +00:00
Tim Janik
b47085512c removed a leftover g_print() call
-timj
1998-03-25 03:33:15 +00:00
Tim Janik
cb98231c7d implemented new flag shrink_on_detach (TRUE by default) which will cause
Tue Mar 24 14:59:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkhandlebox.h:
                * gtk/gtkhandlebox.c: implemented new flag shrink_on_detach (TRUE by
                        default) which will cause the handle boxes requisition to collapse in
                                case the child is already detached.


                                removed duplicate ChangeLog entry from owen.
1998-03-24 14:04:07 +00:00
Jay Painter
36e83663cf Quick fix for size allocation -- needs more work overall 1998-03-24 08:52:41 +00:00
Owen Taylor
102b1de4b4 Use reversed arrow for menus ala Motif (and fix Options menus, which had X
Tue Mar 24 00:17:42 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkcombo.c gtk/gtkmenu.c: Use reversed arrow for
	menus ala Motif (and fix Options menus, which had X cursor
	before), and show normal arrow when inside ComboBox.

	* gtk/gtkfilesel.c: Various memory leaks removed, as
	pointed out by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>

	* docs/gtk_tut.sgml: Change compiling explaination
	to refer to gtk-config.
	(From: johannes@nada.kth.se (Johannes Keukelaar))
1998-03-24 05:27:00 +00:00
Federico Mena Quintero
d362159181 Fixed xthickness -> ythickness typo.
1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkclist.c (gtk_clist_size_allocate): Fixed xthickness ->
	ythickness typo.
1998-03-24 05:17:01 +00:00
Ben Gertzfield
3f5c7acc33 Added gtk/testgtk.1 man page for testgtk 1998-03-24 04:01:21 +00:00
Tim Janik
7de464ffe8 save the widgets visibility flag for evaluation after the widget got
* gtk/gtkbox.c (gtk_box_remove): save the widgets visibility flag for
                evaluation after the widget got destroyed, discovered by Johannes
                        Keukelaar <johannes@nada.kth.se>.
1998-03-24 03:34:38 +00:00
Federico Mena Quintero
c88afb81f9 Select the row which got its data changed, and not (0, 0).
1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkclist.c (gtk_clist_set_row_data_full): Select the row
	which got its data changed, and not (0, 0).
1998-03-24 03:09:59 +00:00
Owen Taylor
34e324ca70 /home/otaylor/commit 1998-03-24 01:43:21 +00:00
Tim Janik
7bd32a06cf check for text!=NULL. (gtk_entry_prepend_text): likewise. some else picky
Mon Mar 23 15:26:25 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkentry.c (gtk_entry_append_text): check for text!=NULL.
                (gtk_entry_prepend_text): likewise.
                        some else picky indentation fixes.
1998-03-23 14:50:58 +00:00
CST 1998 Shawn T. Amundson
690e34968a added this directory with stuff from the tutorial, updated to compile and
Mon Mar 23 12:03:03 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * examples/: added this directory with stuff from
          the tutorial, updated to compile and work with recent
          changes
1998-03-23 06:36:09 +00:00
Owen Taylor
923f3f6992 Added optional word wrap, controlled by new function
Mon Mar 23 01:04:51 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.[ch] testgtk.c: Added optional word wrap, controlled
	  by new function gtk_text_set_word_wrap; and a check button
	  in the Text test.

	* gtk/gtktext.c: First line wasn't getting updated
	properly when selection was removed.
1998-03-23 06:27:31 +00:00
Owen Taylor
f0f650948a Fixed some problems with !gtk_use_mb introduced in the last change.
Sun Mar 22 23:33:50 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkentry.c (gtk_entry_insert_text): Fixed some
	  problems with !gtk_use_mb introduced in the last change.
1998-03-23 04:33:59 +00:00
Owen Taylor
03a7c4551b Fix so children don't get bogus draws.
Sun Mar 22 21:00:43 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkpaned.c: Fix so children don't get bogus draws.
1998-03-23 03:48:45 +00:00
Tim Janik
6b411f4b47 leave container_class->add and container_class->remove untouched if we
Mon Mar 23 01:08:30 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.c (gtk_clist_class_init): leave container_class->add and
                container_class->remove untouched if we don't implement them.

                        * gtk/gtkcontainer.c (gtk_container_class_init): add missing NULL
                                initialization for the class method (*foreach). implement a default
                                        handler to output a warning for (*add) and (*remove).
1998-03-23 03:31:11 +00:00
Jay Painter
b78286eab5 fixed sending null strings to gdk_string_width 1998-03-23 01:08:03 +00:00
Owen Taylor
16aa9c1964 fixes to locale checks
Sun Mar 22 16:25:46 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c (gtk_init): fixes to locale checks

	* gtk/testgtk.c (create_dnd): Create the dnd icons separately
	  to avoid strange interactions with shapes demo.

	* gtk/gtkentry.[ch]:
	  - Limit the length of the text to 2048 to prevent long delays
	  - Fix problems with buffer overruns
	  - Draw only the onscreen portion of the text to prevent wrapping
	    of shorts in the X drawing code.
	  - Keep track of character positions and x-offsets to speed
	    up algorithms.
1998-03-22 21:31:10 +00:00
CST 1998 Shawn T. Amundson
ac05ab301d use button_box for buttons
Sun Mar 22 11:37:51 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcolorsel.c:
        * gtk/gtkfilesel.c: use button_box for buttons
1998-03-22 16:59:59 +00:00
Owen Taylor
8cff9d3307 Don't respond to drops when grab is in effect. (workaround)
Sat Mar 21 19:07:01 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (dnd_drop): Don't respond to drops when
	  grab is in effect. (workaround)

	* gdk/gdkfont.c (gdk_fontset_load): More details on
	  error messages.

	* gdk/gdk.c: Translate va_list to XVaNestedList instead
	  of just casting it.

	* gtk/gtkmain.c: Make temporary copy of string returned by
	  setlocale, since it may be changed by subsequent calls.
1998-03-22 00:07:53 +00:00
Tim Janik
995d97b001 major overhaul of the code, fixed all known bugs (hopefully ;).
Sat Mar 21 22:54:31 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkhandlebox.h:
        * gtk/gtkhandlebox.c: major overhaul of the code, fixed all
        known bugs (hopefully ;).

Sat Mar 20 15:33:17 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_real_show): queue the resize for the
        parent.

Thu Mar 19 02:00:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_unrealize): unset flags after emission,
        especially GTK_MAPPED, since that might not have been taken care of
        by an UNMAP emission.
1998-03-21 22:11:26 +00:00
CET 1998 Paolo Molaro
a7960ed953 gtk/gtkcombo.[ch] "activate" signal can be disabled now
Sat Mar 21 10:39:02 CET 1998 Paolo Molaro <lupus@debian.org>

	* gtk/gtkcombo.[ch] "activate" signal can be disabled now
1998-03-21 09:45:03 +00:00
Radek Doulik
0328873baf changed packing in toolbar elements, so texts are always at the bottom
Fri Mar 20 20:49:33 1998  Radek Doulik  <rodo@aquarius>

        * gtk/gtktoolbar.c (gtk_toolbar_insert_element): changed packing
        in toolbar elements, so texts are always at the bottom
1998-03-21 07:46:04 +00:00
Manish Singh
2a2fff763d #define M_PI if it isn't already initialize transparent properly, to make
* gtk/gtkcolorsel.c: #define M_PI if it isn't already
* gtk/testgtk.c: initialize transparent properly, to make purify happy

-Yosh
1998-03-19 01:07:48 +00:00
Tim Janik
3c03a6787d perform the neccessary checks on funtion begin. use the scrolled_window
Thu Mar 19 00:37:44 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_construct): perform the
                neccessary checks on funtion begin. use the scrolled_window that got
                        passed to this function, and not a new one.
1998-03-18 23:49:36 +00:00
Owen Taylor
f9739e8343 ( From: James Henstridge <james@daa.com.au> )
Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
	( From: James Henstridge <james@daa.com.au> )

	* gtk/gtkclist.c: Don't remove, then destroy labels in
	  gtk_clist_set_column_[*], just remove them.

	* gtk/gtkmain.c (gtk_invoke_timeout_function): call
	  marshal when appropriate, not function.

Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (create_main_window): Alphabetize tests

	* gtk/gtk[hv]paned.c: Change division on resize if
	  necessary to keep handle visible.

	* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
	  _init() functions.

	* gtk/gtkscrolledwindow.c: Added missing _construct()
	  functions.
1998-03-18 21:11:04 +00:00