Commit Graph

786 Commits

Author SHA1 Message Date
Owen Taylor
3c57c96148 Properly clean up when handling events for move-resize emulation. (Problem
Thu Jul 12 13:53:28 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
	clean up when handling events for move-resize emulation.
	(Problem traced down by Matthias Clasen, #57271)
2001-07-12 17:58:43 +00:00
Owen Taylor
515852ba91 Jul 6 15:38:33 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_class_init):
	G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
	restore some workingness.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix
	handle of window type for input-only windows.
2001-07-06 19:41:00 +00:00
Owen Taylor
191e83b32a Add gdk_set_pointer_hooks() to allow pointer-querying to be hooked by an
Mon Jul  2 01:09:37 2001  Owen Taylor  <otaylor@redhat.com>

 	* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
 	gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
 	Add gdk_set_pointer_hooks() to allow pointer-querying to
 	be hooked by an event record/playback system like GERD.
	(#56914)
2001-07-05 13:41:34 +00:00
Owen Taylor
c1a14d036d Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)), not
Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
	  gtk/gtkwidget.c:
	Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
	not GTK_WIDGET_GET_ANCESTOR ... see
	http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
	Indicate the best practice in the docs for gtk_widget_get_toplevel().

	* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
	so GtkPlug can give the correct signals when transforming
	from a child to a toplevel.

	* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
	reparentation correctly.

	* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
	Propagate the previous_toplevel argument down properly.

	* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
	of wrong atr list.

	* gtk/gtkplug.[ch]: Add an "embedded" signal.

	* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
	signals.

	* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
	functions gtk_plug_get_id(), gtk_socket_get_id(),
	to avoid the user having to worry about realization,
	and gdkx.h.

	* tests/testsocket.c: Extend to try out the new signals
	and gtk_plug/socket_get_id().

	* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
	setting of underline attributes.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
	DestroyNotify events from SubstructureNotifyMask

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
	Switch GDK_WINDOW_TYPE (window) as needed.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
	allow creation of toplevel windows as children of
	foreign windows.

	* gtk/gtkplug.c: Remove hacks involving changing private
	fields of GdkWindow.

	* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
	exactly the same signals and notification
	be emitted for local embedding as for inter-process
	embedding.
2001-07-05 02:58:34 +00:00
Owen Taylor
f409cd9b7f For XEMBED embedding add a _XEMBED_INFO property to the client with
Mon Jul  2 16:53:25 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
	XEMBED embedding add a _XEMBED_INFO property to the
	client with version number and a "mapped" flags.
	Use the mapped flag instead of the racy MapRequestEvent

        * gtk/gtksocket.c: Clean up the gtk_socket_steal()
	code to reliably set things (when the child is a passive
	embedder participating in the XEMBED protocol) intead
	of just being a hack for embedding non-participating
	programs. Fix various bugs and race conditions.

	* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
	work by simply making the GtkSocket the gtk parent
	of the GtkPlug. Set a flag in this case and make
	the GtkPlug work like a normal container by overriding
	methods such as check_resize and "chaining past" GtkWindow
	to GtkBin.

 	* gtk/gtkentry.c (gtk_entry_real_activate)
	  gtk/gtkmain.c (gtk_propagate_event):
 	Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).

	* gtk/gtkwidget.c (gtk_widget_get_toplevel,
	gtk_widget_get_ancestor):
	Explain	why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
	might not give the expected result and recommend
	an alternative.

	* tests/testsocket.c tests/testsocket_child.c
	tests/testsocket_common.c tests/Makefile.am: Extended
	to test different type of adding plugs to sockets
	(local,active,passive),	and to test mapping/unmapping
	the plug.

 	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
 	mark the window as destroyed until after we
 	called _gdk_windowing_window_destroy().
	(_gdk_windowing_window_destroy() may use GDK functions
	on the window.)

 	* gdk/x11/gdkinput.c: Remove the check for finalization -
 	devices can be finalized under some circumnstances.

 	* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix
 	small problem with GDK_TYPE_DEVICE.
2001-07-03 14:14:30 +00:00
Havoc Pennington
b6cc525fa0 fix to use constants not atoms.
2001-07-02  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to
	use constants not atoms.
2001-07-03 01:39:36 +00:00
Tim Janik
93db42e7a6 s/signal_newc/signal_new/
Mon Jul  2 06:35:10 2001  Tim Janik  <timj@gtk.org>

        * gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/

        * gtk/gtkobject.c (gtk_object_destroy): invoke
        g_object_run_dispose().

        * gtk/gtkwindow.c:
        * gtk/gtkwidget.c:
        * gtk/gtkobject.c:
        * gtk/gtklist.c: s/shutdown/dispose/ for the GObject
        method.
2001-07-02 05:03:21 +00:00
Owen Taylor
fbfc305174 Allow %NULL for style to mean "revert to default style"
Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
	for style to mean "revert to default style"

	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
	  gtk_widget_restore_default_style): Make this functions
	deprecated aliases for gtk_widget_set_style (widget, NULL).

	* gtk/gtkwidget.[ch]: Remove:
	   gtk_widget_set_default_style ()
	   gtk_widget_push_style ()
	   gtk_widget_pop_style ()
	These functions interact are overriden by RC files, and
	thus virtually useless, and complicated.

Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Add a GtkRcContext structure to hold
	most of the previous global variables in gtkrc.c. This is
	in preparation for multi-head, since each screen can
	have different GtkSettings and RC information.

	* gtk/gtkrc.[ch]:

	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
	GtkSettings parameter to GtkRcStyle::parse.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
	Add two new settings gtk-theme-name, gtk-key-theme-name,
	for RC files that are loaded by name after reading
	the default RC files.

	* gtk/gtkrc.c: Allow priorities for styles, as wll as
	bindings.

	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
	and use it by default for RC files loaded via
	gtk-theme-name, gtk-key-theme-name.

	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
        gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
	tests/testgtkrc: Require pathnames to be absolute.

	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
	the source when parsing, since the operation of looking up a
	pixmap from an RC file depends on the parsing context.

	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
	reset RC styles on all widgets when files are reparsed.

	* tests/testgtk.c (create_rc_file)
	  gtk/gtkwindow.c (gtk_window_read_rcfiles):
	Simplify, now that gtk_rc_reparse_all() resets styles on
	all widgets itself.

	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
	return value.

	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
	GtkSettings argument.

	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
	gtk_settings_get_global().

	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
	to get the appropriate GtkSettings for a widget. (For now,
	just gets the default GtkSetttings.)

	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
        changes.

	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
	getting a style for a path without actually having a widget.
	(Allows using a style for a subpart of a widget, for
	example.)

	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
	the RC files to be reloaded for just one GtkSettings
	(not sure how useful this really is.)

	* gtk/gtkrc.h: Deprecate
	gtk_rc_add_widget_name/widget_class/class_style
2001-06-30 16:08:25 +00:00
Alex Larsson
ba02311234 Convert GdkDevice to a GObject.
2001-06-30  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkinput-none.c:
	* gdk/linux-fb/gdkinput.c:
	* gdk/linux-fb/gdkinputprivate.h:
	Convert GdkDevice to a GObject.

	* linux-fb/gdkprivate-fb.h:
	* linux-fb/gdkvisual-fb.c:
	Convert GdkVisual to a GObject.
2001-06-30 04:30:32 +00:00
Alex Larsson
43696e841d Convert GdkVisual to a GObject.
2001-06-29  Alex Larsson  <alexl@redhat.com>

	* gdk/gdkvisual.h:
	* gdk/gdkcolor.c:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkvisual-x11.c:
	Convert GdkVisual to a GObject.

	* gdk/gdkinput.h:
	* gdk/gdkevents.c:
	* gdk/x11/gdkinputprivate.h:
	* gdk/x11/gdkinput-gxi.c:
	* gdk/x11/gdkinput-none.c:
	* gdk/x11/gdkinput-x11.c:
	* gdk/x11/gdkinput-xfree.c:
	* gdk/x11/gdkinput.c:
	Convert GdkDevice to a GObject.
2001-06-30 02:56:50 +00:00
Owen Taylor
85224117f4 Fix args to g_type_init().
Thu Jun 28 22:53:18 2001  Owen Taylor  <otaylor@redhat.com>

	*  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init().
2001-06-29 02:54:55 +00:00
Havoc Pennington
0bee26c7ba Clip the retrieved image data to the screen, using a server grab to avoid
2001-06-28  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
	image data to the screen, using a server grab to avoid race
	conditions.

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
	check for NULL return from gtk_image_new_from_stock(), it never
	returns NULL.
	(gtk_item_factory_create_item): fix bug where we parsed the stock
	ID as an inline pixbuf

	* gtk/gtktext.c (gtk_text_key_press): numeric keypad support

	* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
	support

	* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad

	* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_filter_keypress): keypad

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad

	* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes

	* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support

	* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
	should be binding-setted)

	* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes

	* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes

	* gtk/gtkcalendar.c: numeric keypad fixes

	* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
	support

	* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
	screwup

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	clip the render area to the drawable's clip region in advance,
	so we don't get data from the server that we don't need.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	check return value of gdk_pixbuf_get_from_drawable(), fall back
	to bilevel alpha if we can't get the pixbuf to composite against.

	* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap

	* gdk/gdkimage.c (gdk_image_get_colormap): add
	gdk_image_set_colormap, gdk_image_get_colormap

	* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
	take a region of the image, instead of converting the entire
	image.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
	keybinding signal. Add default bindings for it. Add default
	handler for show_help that shows the tooltip for the widget.

	* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
	"close" keybinding signal, remove key press handler.

	* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
	it's not our usual practice to leave a deprecated function around
	with a runtime warning, plus we don't want it to appear in docs,
	plus if we make them yellow no one will want to change them
	anyhow.
2001-06-29 01:59:02 +00:00
Tim Janik
00f85bf815 !GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for resize queueing.
Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
        GTK_WIDGET_REALIZE() for resize queueing.

        * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
        GTK_WIDGET_REALIZE() for post event delivery destruction upon
        GDK_DESTROY.

        * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
        sompensate for former (pre-2.0) connect_after() facility.
        (gtk_widget_send_expose):
        (gtk_widget_event): assert the widget is realized, since event delivery
        to non-realized widgets is essentially a bug. event handlers should
        be able to unconditionally rely on widget->window (unless they
        emit events on their own which can trigger widget destruction).
        (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
        logic. event delivery happens as follows:
        a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
        b) if !was_handled in (a) and the widget is still realized, emit event-
           specific signal (RUN_LAST handler). returns was_handled.
        c) emission of GtkWidget::event-after for notification if the widget is
           still realized (regardless of was_handled from previous stages, no
           class handler). no return value.
        d) was_handled gets passed on to caller, to determine further
           propagation. if the widget got unrealized meanwhile, was_handled
           is returned as TRUE.

        * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
        gdk_event_get_coords().
2001-06-28 22:49:20 +00:00
James Henstridge
cd3ddf900f The following changes correspond to bug #56812
2001-06-29  James Henstridge  <james@daa.com.au>

	The following changes correspond to bug #56812

	* gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
	code for GdkDevice.

	* gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
	GdkCursor.
2001-06-28 16:35:38 +00:00
Havoc Pennington
796dc4b1d7 new function for mapping a window without fooling with stacking order, but
2001-06-19  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
	for mapping a window without fooling with stacking order, but
	updating the "withdrawn" flag

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
	filtering as soon as possible, moving move resize and wmspec_check
	handling after the event filter.  Make default filter apply to all
	events, not just those with no GdkWindow wrapped around the X
	window. Fix a FIXME about how the window could be a pixmap using
	RTTI; this of course assumes GDK_IS_WINDOW() is optimized.

	Also, be robust against events not on a known GdkWindow.

	* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
	gdk_x11_ungrab_server): export reference-counted server grabs, so
	other people can grab server over a GDK function that also does
	so.
2001-06-28 05:24:00 +00:00
Alexander Larsson
75fd7f09af Added --enable-fbmanager. This is some experimental code that lets several
2001-06-25  Alexander Larsson  <alexl@redhat.com>

	* configure.in:
	Added --enable-fbmanager. This is some experimental code
	that lets several GtkFB apps coordinate their access to the
	framebuffer.

	* acconfig.h:
	Added ENABLE_FB_MANAGER.

	* gdk/linux-fb/Makefile.am:
	Added gdkfbmanager and gdkfbswitch.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	* gdk/linux-fb/gdkmouse-fb.c:
	* gdk/linux-fb/gdkprivate-fb.h:
	Split device init and open so that
	they can be opened and closed while switched
	away.

	* gdk/linux-fb/gdkmain-fb.c:
	Add the basic manager communication.

	* gdk/linux-fb/gdkrender-fb.c:
	Don't update to the shadow fb if we're
	blocked by the fb manager.
2001-06-25 23:01:36 +00:00
Owen Taylor
cc223eeff6 Fix stupid error introduced last night that was making things decidedly
Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
	introduced last night that was making things decidedly not work.

	* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
	so that we have getter/setter pairing everywhere it makes
	sense. (#55767)

	* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
	Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
	deprecated compat macro. (#55516)

	* gtk/gtklabel.[ch]: Add functions
	gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
	gtk_label_set_label(), which mirror the property API for GtkLabel.
	Make gtk_label_get_attributes() only reflect the attributes
	set by gtk_label_set_attributes.

	* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
	from gtk_notebook_set_page().
2001-06-24 15:34:48 +00:00
Owen Taylor
5a5580a8e7 Fix tests for XShm.h.
Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix tests for XShm.h.

        * gdk/x11/gdkimage-x11.c: Cleanup error handling in
        gdk_image_new() by use of goto, properly use g_object_unref().
2001-06-23 22:14:02 +00:00
Tim Janik
92e87e40a7 disabled g_free (image) calls, as GdkImage is an object. these should be
Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>

        * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
        calls, as GdkImage is an object. these should be g_obejct_unref()
        instead but that won't work because of the g_error() statement
        in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
        to spot these places.
2001-06-23 20:26:10 +00:00
Hans Breuer
f0ee2996e1 updated externals
2001-06-22  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def : updated externals

	* gdk/win32/gdkdrawable-win32.c : corrected some casts
	in GDK_NOTEs

	* gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
	to translate coordinates to the internal > 16 bit system
	Try to handle WM_WINDOWPOSCHANGED to get better performance for
	when moving/resizing

	* gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
	and gdk_keymap_get_direction (). The latter is untested for
	the RTL case

	* gtk/gtk.def : updated externals

	* gtk/gtkmain.c : gtk_get_default_language () should reurn the result
	from pango_language_from_string (), not an already freed pointer

	* gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be
	binary (-kb) to be useable on windoze
2001-06-22 14:08:51 +00:00
Owen Taylor
d809ceee2e Handle the case without XKB properly.
Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
	the case without XKB properly.

	* gtk/gtkrc.c (gtk_rc_set_default_files): Remove
	unused gtk_rc_auto_parse variable.

	* gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
	Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
	longer needed with GdkPixbuf.

	* gtk/gtkrc.c (_gtk_rc_init): Make private.
2001-06-21 17:45:26 +00:00
Alexander Larsson
46880b96cf Update to new PangoLanguage changes.
2001-06-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
	Update to new PangoLanguage changes.

	* gtk/gtkwindow-decorate.c:
	* gtk/gtkwindow.[ch]:
	Added setting argument to gtk_window_set_has_frame ()
2001-06-15 15:58:26 +00:00
Owen Taylor
cf2fab9077 Add a GtkWindowGroup struct that allows grouping together multiple windows
Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
	that allows grouping together multiple windows so that grabs
	within that set of windows only affect those windows.

	* gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
	signal for notification when a widget becomes shadowed
	by a grab or is no longer shadowed by a grab.

	* gtk/gtkwidget.c (gtk_widget_propagate_state)
	  gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
	insenstive widgets to maintain a grab.
2001-06-14 21:44:01 +00:00
Owen Taylor
22491fd6a4 Add missing gdk_rectangle_get_type() prototype.
Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.

	* gtk/gtk[hv]scale.c: Include math.h, stdlib.h

	* gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
	  gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
	  gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
	  gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
	  to recent changes in Pango.

	* tests/testgtk.c: Set language tags with gtk_label_set_markup()
	  to test whether the basic engine honors them.
2001-06-14 20:41:44 +00:00
Alexander Larsson
7d1a049bc3 Add some example config files that can be used with the URW fonts.
2001-06-14  Alexander Larsson  <alexl@redhat.com>

        * docs/README.linux-fb:
	Add some example config files that can be used with the URW fonts.

	* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
	Set up the color ramps for DirectColor mode.
2001-06-14 18:10:01 +00:00
Alexander Larsson
be12f52526 Unify shaped window code and make it repaint the area that used to be part
2001-06-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c:
	Unify shaped window code and make it repaint the area that used
	to be part of the shape, but isn't anymore.
2001-06-13 21:40:37 +00:00
Alexander Larsson
b2ff45ef83 Don't pass on GDK_ACTION_DEFAULT. The Xdnd code passes zero instead, so do
2001-06-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
	Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
	passes zero instead, so do we.
2001-06-13 16:00:24 +00:00
Alexander Larsson
099da4d222 Deep copy dash_list too. (_gdk_fb_gc_new): Set default cap_style before
2001-06-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
	Deep copy dash_list too.
	(_gdk_fb_gc_new): Set default cap_style before
	setting values.
2001-06-13 15:02:35 +00:00
Alexander Larsson
a20b45995f New functions.
2001-06-12  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
	gdk_keymap_get_direction): New functions.
2001-06-12 19:22:43 +00:00
Owen Taylor
da562f4dc8 Add a direction-changed signal, and gdk_keymap_get_current_direction().
Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
	and gdk_keymap_get_current_direction().

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
	the current locked group, use it to set the keymap
	direction.

	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
	to determine whether we draw a split cursor or use
	a jumping cursor based on the current direction.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
	Obey the split cursor setting.

Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmulticontext.c (activate_cb): Only activate
	when toggling on, not when toggling off... (#55906)

Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
	s/gdk_window_begin_paint/gdk_window_begin_paint_region/
	in docs. (#55812, Vitaly Tishkov)
2001-06-08 16:07:00 +00:00
Alex Larsson
2122f8d4ac Fix up error messages.
2001-06-06  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
	Fix up error messages.
2001-06-06 16:20:18 +00:00
Owen Taylor
2304a86ef9 Include gtkwidget.h (#55798, Karl Nelson)
Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktooltips.h: Include gtkwidget.h
	(#55798, Karl Nelson)

	* gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
	a valid latin-1 character. (Marc Lehmann, #35467)

	* gdk/x11/gdkwindow-x11.c: Fix minor typo in comment.
	(Marc Lehmann, #35467)
2001-06-06 14:35:58 +00:00
Owen Taylor
04de6401f9 s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS):
	s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)

Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
	gtk_clist_thaw().
2001-06-05 15:05:21 +00:00
Havoc Pennington
5b2f2133ec Ignore releases for buttons 6, 7
2001-06-04  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
	releases for buttons 6, 7
2001-06-05 01:18:15 +00:00
Havoc Pennington
5d1c5446c5 support button 6 and 7 for scroll left/right, from Thomas Broyer
2001-06-04  Havoc Pennington  <hp@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
	and 7 for scroll left/right, from Thomas Broyer
2001-06-04 23:46:14 +00:00
Havoc Pennington
1b3c921437 Handle case where we need to parse the xsetting as if it were an RC file
2001-05-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
	we need to parse the xsetting as if it were an RC file string.

	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
	value of palette from settings, not from static variable

	* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
	xsettings translation table

	* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
	hardcoding the toolbar style conflicts with new customizable
	toolbar style philosophy
	(gtk_toolbar_class_init): add settings for default toolbar style;
	these are used unless the app specifically forces a toolbar style

	* gtk/gtksettings.c (settings_install_property_parser): only
	return at the start if we warn and parser == NULL

	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
	palette changed handler so we don't notify dead color selections

	* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
	xthickness/ythickness of 0 or 1 properly
	(gtk_default_draw_resize_grip): clear the background behind the
	resize grips, and align to bottom right if we square the
	area to be drawn.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
	statusbar label to 1, so it doesn't make toplevels resize oddly
	(gtk_statusbar_size_request): add grip size to request
	(gtk_statusbar_size_allocate): hack so the hbox still works with
	the grip size in the request

	* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
	bug where showing all on a toplevel makes the toolbar
	button text appear despite the toolbar mode

	* gtk/gtkmenubar.c: add internal padding style property

	* gtk/gtktoolbar.c: Add internal padding style property; add
	shadow type style property

	* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
	state; and put Container::border_width outside the frame

	* gtk/gtktextview.c: don't draw focus rectangle if we're in
	interior focus mode, we just use blinking cursor
2001-06-04 23:15:51 +00:00
Owen Taylor
1a6efe96a7 Add GDK_TYPE_RECTANGLE.
Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrectangle.c (gdk_rectangle_get_type): Add
	GDK_TYPE_RECTANGLE.

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix type
	of allocation argument be GDK_TYPE_RECTANGLE.
2001-06-01 15:44:13 +00:00
Owen Taylor
27bf39f924 Validate value from GDK settings against parameter spec.
Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Validate
	value from GDK settings against parameter spec.

	* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
	to temporary values and use g_value_transform(), since
	thinking that GValue was going to be easy or efficient
	to use was, of course, a mistake.

        * gtk/gtksettings.c: Add cursor blink setting.

	* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.

	* gtk/gtkentry.c: Add cursor blinking.

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
	cursor blink global settings.

	* gtk/gtkentry.c (gtk_entry_button_press): Add notification
	for :text_position in places where it is missing.
2001-05-30 20:40:28 +00:00
Owen Taylor
b6dde32695 Use $PKG_CONFIG, not pkg-config. (#51032)
Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
	not pkg-config. (#51032)

	* gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
	(fixes #51952, James Henstridge)
2001-05-29 21:42:20 +00:00
Hans Breuer
b5db5d514d made fil mode GDK_STIPPLED actually work -> check boxes and radio buttons
2001-05-25  Hans Breuer  <hans@breuer.org>

	* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
	work -> check boxes and radio buttons are drawn now, even on win9x.
	Improved line settings a bit, still no clue how to get really dotted
	lines on win9x, on NT it's PS_ALTERNATE.

	* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
	GDK_HINT_MIN_SIZE as well

	* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST

	* gtk/gtk.def : updated

	* gtk/gtktreeprivate.h : change column_drop_func to be a function
	pointer not a function pointer pointer

	* tests/testdnd.c : include <stdlib.h> for putenv prototype

	* tests/testsocket.c : made it compile on win32 again

	* tests/makefile.msc : one more test-app uses prop-editor.obj
2001-05-25 15:43:53 +00:00
Havoc Pennington
dd0aa0d815 Improve error messages for X errors and losing connection to the X server.
2001-05-11  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
	losing connection to the X server.
2001-05-20 22:48:40 +00:00
Owen Taylor
6144752d20 Start checks for X from pangox/pangoxft CFLAGS to avoid duplicate
Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Start checks for X from pangox/pangoxft
	CFLAGS to avoid duplicate libraries.

	* gdk/Makefile.am (LDFLAGS): Remove extra -lm.

	* configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
	to include gobject.
2001-05-20 18:25:34 +00:00
Owen Taylor
55b115acba Require libtool-1.4, automake-1.4p1.
Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>

        * autogen.sh (have_automake): Require libtool-1.4,
        automake-1.4p1.

        * acinclude.m4: Remove libtool macros.

        * gdk-pixbuf/Makefile.am: Add dependencies to loade
        modules.

        * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
        for libgdk.

        * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
        libgdk.la for libgtk.

        * modules/input/Makefile.am: Make modules have full
        dependencies.
2001-05-16 18:51:07 +00:00
Owen Taylor
868b00638c Remove creative formatting.
Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.h: Remove creative formatting.

Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
	property API. (#51669)

	* gtk/gtkscale.c: Patch from John Margaglione converting to
	property API. (#51891)

	* gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
	to property API. (#50985)
2001-05-13 22:41:30 +00:00
ERDI Gergo
7cf827771d Peek strike-through setting (gdk_draw_layout_line_with_colors): Render
2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>

	* gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
	strike-through setting
	(gdk_draw_layout_line_with_colors): Render strike-through
2001-05-11 23:29:37 +00:00
Alexander Larsson
2c396fea9f Make sure you can compile out the implementation/wrapper assert macros.
2001-05-10  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkprivate-fb.h:
	Make sure you can compile out the implementation/wrapper assert
	macros.

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Check implementation/wrappers, initialize type for pixmap dummys.

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
	Hide the cursor if reading from the screen.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
	Fix sign bug in tiling code.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	Handle background pixmaps.
2001-05-10 22:44:27 +00:00
Alexander Larsson
404d1a2d7e New function for getting toplevel window at position.
2001-05-07  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
	New function for getting toplevel window at position.
	(gdk_drag_find_window): Use get_toplevel_window () instead
	of gdk_window_get_pointer(). (gdk_drag_status): Use
	correct context for getting window.

	* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
	g_strdup the atom name.

	* gdk/linux-fb/gdkwindow-fb.c:
	Costmetic fix.

	* gtk/gtkdnd.c (gtk_drag_source_handle_event):
	Add code for changing cursor on linux-fb backend (same as
	win32).
2001-05-07 19:24:18 +00:00
Hans Breuer
1fa43ed5b4 updated exports
2001-01-06  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def : updated exports

	* gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
	gdk won't compile anymore

	* gdk/win32/gdkevents-win32.c : initialize ret_val when
	processing GDK_FILTER functions, initialize event.key->hardware_keycode.
	Improved gdk_flush () to not only do pending drawing operations
	but also process all currently pending events. This should make
	the behaviour more similar to the X11 version.

	* gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
	option needs to be set even if there is no GDK_GC_BACKGROUND.
	(gdk_win32_hdc_get) : use predraw_set_background () independent
	of value_mask. This allows to draw dashed lines leaving the original
	background intact.

	* gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
	after processing, because we can't reuse it as the X11 version does.

	* gtk/gtk.def : updated exports

	* gtk/makefile.msc.in : added ATK, removed all test apps. (I
	would like to get rid of this file again, and use straight
	makefile.msc again, as the other Gtk+ subdirs do)

	* test/makefile.msc (new file) : build the test apps here
2001-05-06 14:02:45 +00:00
Alex Larsson
3b782bdb94 Better error messages.
2001-05-04  Alex Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkcolor-fb.c:
	Better error messages.

	* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
	Initialize abs_x and abs_y.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
	Correct handling of stipple offset.

	* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
	Treat directcolor framebuffers as truecolor.
2001-05-04 21:41:17 +00:00
Owen Taylor
42cc312df6 Add dependency on Atk for accessibility support.
Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>

        * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
	dependency on Atk for accessibility support.

	* configure.in **/Makefile.am: Major reworking of substituted
	variables for CFLAGS/LIBS to make a lot more sane and
	keep the the compile/link lines a bit shorter.

	* gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
2001-05-03 20:11:14 +00:00