Commit Graph

156 Commits

Author SHA1 Message Date
Michael Meeks
bf8e23e349 impl 'text' (gtk_entry_class_init): add the 'text' prop.
2001-10-18  Michael Meeks  <michael@ximian.com>

	* gtk/gtkentry.c (gtk_entry_set_property),
	(gtk_entry_get_property): impl 'text'
	(gtk_entry_class_init): add the 'text' prop.
	(gtk_entry_insert_text): notify 'text' changed.
	(gtk_entry_delete_text): ditto.
2001-10-18 00:53:04 +00:00
Owen Taylor
2c281ef63b Fix mistake in truncating length of text to MAX_SIZE. (Found by Padraig
Wed Oct 17 15:17:20 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_real_insert_text): Fix mistake
	in truncating length of text to MAX_SIZE. (Found by
	Padraig O'Briain, #62055)
2001-10-17 19:20:15 +00:00
Kristian Rietveld
3c09d348d3 move insert_text and delete_text virtual functions to do_insert_text and
Wed Oct  3 23:47:25  Kristian Rietveld  <kristian@planet.nl>

        * gtk/gtkeditable.[ch]: move insert_text and delete_text virtual
        functions to do_insert_text and do_delete_text, add signals
        insert_text, delete_text and changed

        * gtk/gtkentry.[ch]: remove signals insert_text, delete_text
        and changed. Updates to match new situation.

        * gtk/gtkspinbutton.c: updates to match new situation

        * gtk/gtkoldeditable.h: remove signals changed, insert_text
        and delete_text

        * gtk/gtkoldeditable.c: updates to match new situation

        * gtk/gtktext.c: updates to match new situation

        Fixes bug #59803
2001-10-03 21:50:58 +00:00
Owen Taylor
a8d54496fb Allow NUOL for @target_list to mean, use gtk_drag_dest_get_target_list
Wed Oct  3 10:42:54 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow
	NUOL for @target_list to mean, use
	gtk_drag_dest_get_target_list (widget).

	* gtk/gtkdnd.c (gtk_drag_finish): Fix problem where
	drop could hang when calling gtk_drag_finish with
	success == FALSE and del == TRUE.

	* gtk/gtkdnd.c (gtk_drag_dest_drop): Fix problem where
	drops without a matching target found would propagate
	to the parent widget rather than being rejected.

	* gtk/gtktextview.c (gtk_text_view_drag_data_received):
	Use text_view->dnd_mark instead of mark name to be
	consistent with the rest of the code.

	* gtk/gtktextview.c (gtk_text_view_drag_motion): Make
	pendantically correct for a drop-only-in-some-places
	widget. (Check whether you can insert in drag_drop,
	not just in drag_motion ... matters in theory, and
	for Motif drag and drop in practice.)

	* gtk/gtkentry.c (gtk_entry_drag_drop): Patch from
	Damian Ivereigh to not allow drops on non-editable
	entries. (#61124)

	* gtk/gtkentry.c (gtk_entry_motion_notify): Don't allow
	text to be moved from a non-editable entry.
2001-10-03 15:08:10 +00:00
Owen Taylor
0269b4387d Fix problem where menmonic wasn't removed properly when setting a label
Wed Sep 26 16:15:25 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_set_tab_label): Fix
	problem where menmonic wasn't removed properly when
	setting a label when there already is a label.
	Also, handle setting the tab label back to the same
	value. (#61160, #61161)

	* gtk/gtkentry.c (paste_received): Patch from
        Damian Ivereigh to replace selection if there is
	one. (#61121)
2001-09-26 20:33:23 +00:00
Owen Taylor
0c3be55498 ue Sep 25 12:41:17 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Version 1.3.9, interface age 0, binary age 0.

	* configure.in: Require GLib-1.39, Pango 0.20, Atk 0.5.

	* NEWS: Updates.

Mon Sep 24 11:59:09 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.[ch] (_gtk_draw_insertion_cursor): Shared
	function for drawing cursors between gtkentry/gtklabel/gtktextview.
	Should this be public? It has a bit of an odd interface, but
	custom editing widgets probably should be using it.
	Function will draw with wider width for taller cursors, and
	draws a little indicator arrow to indicate directoin for split
	cursors.

	* gtk/gtktextview.c: Add a "cursor_color" property.

	* gtk/gtktextdisplay.[ch]: Add a cursor_gc parameter to
	gtk_text_layout_draw().

	* gtk/gtkentry.c gtk/gtklabel.c gtk/gtktextdisplay.c: Use
	_gtk_draw_insertion_cursor().

Tue Sep 25 11:22:23 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertext.c gtk/gtktexttag.c: Restore
	the behavior where you could turn family_set (etc) back on
	and get back the values you had before.

	* demos/gtk-demo/stock_browser.c (id_to_macro): Use
	g_string_ascii_up() rather than looping through the
	string ourself.
2001-09-25 20:40:20 +00:00
Jonathan Blandford
92841cb95a Make a GtkCellEditable (get_widget_window_size): Change to let it honor
Tue Sep 25 12:34:42 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkentry.c: Make a GtkCellEditable
	(get_widget_window_size): Change to let it honor size_allocate
	when a CellEditable.

	* gtk/gtktreeview.c: M-x clean-line-ends.  Lots of focus and
	editable changes.
	(gtk_tree_view_set_cursor): Now you can set the cursor
	horizontally, as well as start editing.

	* gtk/gtkstyle.c (gtk_default_draw_check): changing toggle drawing
	code to look more like the other check buttons.

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
	Change the way we calculate cell size.

	* gtk/gtkmarshal.list (VOID:STRING,STRING): new marshaller.

	* demos/gtk-demo/sizegroup.c: Add mnemonics.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): Fix docs.
	Fix logic.

	* gtk/gtkcellrenderertext.c: Change to be editable.

	* gtk/gtkcellrenderertoggle.c: Change to be activatable.

	* test/testtreesort.c: Fix misspelling

	* test/testreecolumns.c: Add mnemonics.

	* test/testreeedit.c: New test program.
2001-09-25 16:44:39 +00:00
Alex Larsson
1a46d3d534 Don't draw with GTK_STATE_ACTIVE.
2001-09-18  Alex Larsson  <alexl@redhat.com>

        * gtk/gtkcheckbutton.c:
	* gtk/gtkradiobutton.c:
	Don't draw with GTK_STATE_ACTIVE.

	* gtk/gtkclist.c:
	* gtk/gtkctree.c:
	Draw lines between rows with base_gc[GTK_STATE_NORMAL].

	* gtk/gtktextdisplay.c:
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].

	* gtk/gtkentry.c:
	Add select all menu-item.
	Default cursor color is red.
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].

	* gtk/gtklabel.[ch]:
	Add keynav + menu to selectable lables.
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].

	* gtk/gtkfilesel.c:
	Add drag and drop support.

	* gtk/gtkstyle.c:
	(This was checked in earlier)
	New default values for text/base SELECTED and ACTIVE
2001-09-19 00:49:52 +00:00
Jonathan Blandford
fa6e6928f6 centralize all the editing code
Tue Sep 18 18:46:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_start_editing): centralize all
	the editing code

	* gtk/gtkcelleditable.c: Got rid of stop_editing, as there was no
	reason to call it beyond emiting the two signals.

	* gtk/gtkentry.c (gtk_entry_class_init): add "has_frame" property
	to GtkEntry.
2001-09-18 22:49:02 +00:00
Owen Taylor
a15d5c36f6 Fix up for changes to PangoFontDescription.
Wed Sep 12 11:21:14 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch]
	  gtk/gtktextview.c tests/testgtk.c: Fix up for changes to
	PangoFontDescription.

	* gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c
	gtk/gtkspinbutton.c: Fix up for change to PangoMetrics
	structure.

	* gtk/gtkfontsel.c: Fix up for new Pango font listing API.

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace
  	direct access to style->font. Deprecate gtk_style_ref/unref.

 	* gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c:
  	Remove gtk_style_ref/unref with g_object_ref/unref.

  	* gtk/gtkcalendar.c: Remove leftover macros accessing
  	style->font.

  	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused
  	variable.

  	* gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of
	style->font.
2001-09-18 20:06:48 +00:00
Owen Taylor
6fbd8b0d08 Fix typo that sometimes caused selection not to work properly.
Thu Jul 19 14:24:34 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_set_positions): Fix
	typo that sometimes caused selection not to work properly.

	* gtk/gtkentry.c (gtk_entry_grab_focus): Select text in
	entry when tabbing in. (#57743)

	* gtk/gtkentry.c (gtk_entry_motion_notify): If the
	user drags up above or down below the entry, move
	to the end or the beginning of the entry. (Suggestion
	from Jay Cox, #50940)

	* gtk/gtkentry.c (gtk_entry_move_cursor): If we have
	a current selection, then when moving by chars or
	words, move to the end of the selection rather than
	from entry->current_pos. (Suggestion from Jay Cox,
	#50942)
2001-07-19 18:47:03 +00:00
Owen Taylor
4e2b60ac4d Patch from Matthias Clasen to remove remove all instances of
Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/*.c: Patch from Matthias Clasen to remove remove
	all instances of g_return_if_fail (foo != NULL); that are
	immediately before a g_return_if_fail (GTK_IS_FOO (foo));
	since the second check catches the NULL anyways.
2001-07-18 23:39:26 +00:00
Owen Taylor
b613a74cb2 Fix idles and timeouts to be properly surrounded by
Wed Jul 18 18:23:05 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
	gtktreeview.c: Fix idles and timeouts to be properly surrounded by
	GDK_THREADS_ENTER()/LEAVE() pairs.

	* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
	to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
	pairs. (Problem found by M. Meeks)
2001-07-18 22:43:41 +00:00
Owen Taylor
79d45ab85d Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
Thu Jul 12 13:43:27 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c
	  gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c
	  gtk/gtkfontsel.c gtk/gtkhandlebox.c
	  gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c
	  gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c
	  gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c
	  gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c:
	Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
2001-07-12 17:50:14 +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
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
Havoc Pennington
49c1e6dc89 fixes to compile with G_DISABLE_COMPAT
2001-06-29  Havoc Pennington  <hp@redhat.com>

       * Throughout: fixes to compile with G_DISABLE_COMPAT
	(s/g_signal_connectc/g_signal_connect/,
	s/g_signal_newc/g_signal_new/,
	s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
2001-06-29 16:30:25 +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
10f047cf4c up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7.
Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>

	* configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.

	* gtk/gtkmenubar.c (add_to_window): likewise.

	* gtk/gtktextbtree.c: and here...

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.

	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.

	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.

	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().

	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.

	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.

	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.

	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-28 17:12:40 +00:00
Owen Taylor
671b3b0eb0 Use new pango_context_get_metrics() to fix problems with font lists in
Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
	Use new pango_context_get_metrics() to fix problems
	with font lists in descriptions. (#56184, reported by
	Jonas Borgström)
2001-06-26 15:15:00 +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
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
Havoc Pennington
994a8daae5 add read-only "scroll_offset" property for notification when the layout
2001-06-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkentry.c (gtk_entry_class_init): add read-only
	"scroll_offset" property for notification when the layout offsets
	may have changed
	(gtk_entry_adjust_scroll): add notify for scroll_offset
	(gtk_entry_layout_index_to_text_index): function to compensate for
	preedit string when doing coordinate stuff on the entry's layout
	(gtk_entry_text_index_to_layout_index): inverse function
	(gtk_entry_get_layout_offsets): hook to get current position of
	the layout
	(gtk_entry_get_layout): hook to get the layout itself.

	* gtk/gtklabel.c (gtk_label_get_layout): new function
2001-06-09 00:12:00 +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
Havoc Pennington
fe3e516aa1 implement overwrite mode
2001-06-01  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode

	* gtk/gtktextview.c (gtk_text_view_commit_handler): don't
	overwrite in overwrite mode if we already deleted the selection
	and replaced it with new text.

	* gtk/gtklabel.c (gtk_label_select_region_index): if you set the
	selection to an empty range, clear the clipboard if we owned it.
	(gtk_label_set_selectable): give up selection if we become
	unselectable.
	(gtk_label_state_changed): override state changed to unselect text
	when insensitive
	(get_text_callback): add paranoia check that indexes aren't
	outside of label->text
	(gtk_label_select_region): make -1 for start_offset mean "end of
	label," for consistency with GtkEditable

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
	GTK_DIALOG_NO_SEPARATOR flag
2001-06-01 19:26:01 +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
69ef340389 Make logical motion and deletion by graphemes, not by characters.
Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c: Make logical motion and deletion by graphemes,
	not by characters.

	* gtk/gtkentry.c: Handle "trailing" returns from Pango when they
	are not zero or one; that is, when graphemes of multiple characters
	are involved.

	* gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
	FIXME.
2001-05-17 21:13:12 +00:00
Owen Taylor
4c2a74b79d Reduce new_text_length appropriately when we run into the size limit for
Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
	new_text_length appropriately when we run into the
	size limit for the entry. (#53445, reported by Jeff Franks)

	* tests/testgtk.c (create_entry): Remove most of the
	property toggle buttons. Replace with a "Props" button
	that brings up a property editor.

	* tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
	Split the property editor code out for reuse, improve.
2001-05-03 00:46:19 +00:00
Havoc Pennington
7ad3641353 voc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
	(gtk_text_layout_move_iter_to_next_line): fix these two for
	invisible text, lots of other stuff still hosed.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
	new function, replaces the get/set palette stuff. This function
	is intended for use by libgnomeui which should set the hook to a
	thing which sets the palette in GConf, and we need the
	GConf-to-xsettings proxy which will result in the change being
	propagated back to the GTK app.

	* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
	about unusable signals that it may be because the signal has
	parameters.

	* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
	style, otherwise gtkrc.c won't know to create a new GtkStyle for
	it.
	(gtk_widget_modify_color_component): call
	gtk_widget_modify_style() so the rc style will get copied.
	(gtk_widget_modify_font): ditto

	* gtk/gtkrc.c: make a couple variables static

	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
	help button by default, since it does nothing

	* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
	around with UI

	* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
	so we can have tooltips

	* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
	can have tooltips

	* gdk/gdkimage.h: mark gdk_image_new_bitmap with
	GDK_ENABLE_BROKEN, because its memory behavior is completely
	hosed.

	* gtk/gtknotebook.c: remove key press handler, replace with
	binding set, add numeric keypad support

	* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete

	* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms

	* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
	addition to plain Delete

	* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
	GDK_KP_Enter in addition to GDK_Return

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
	activate on entry instead of key press
	(gtk_font_selection_on_clist_key_press): get
	rid of this signal handler, not needed with new font sel.

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
	no-longer-needed emit_stop_by_name(), just return TRUE

	* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
	cruft, this widget is no longer focusable.

	* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
	gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
	move_slider action signal, add binding set for vscale/hscale, in
	the process support numeric keypad

	* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
	make GDK_Return and GDK_KP_Enter activate the entry via
	binding set, instead of hardcoded.
2001-04-28 20:18:29 +00:00
Havoc Pennington
7e9b154f0c fix warning
2001-04-27  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable

	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
	line/para separators
	(gtk_entry_create_layout): set single paragraph mode on the layout

	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
	spacing between the image and label; instead, inside a button box
	the button will get extra space that will go there, but if people
	configure button box for 0 chubbiness, then there's no spacing.

	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
	and min/max size style properties, so people can tune their
	chubbiness.

	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
	functions

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
	space_style, and button_relief into style properties, remove
	functions for setting them

	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
	it back down

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
	types from gtk_widget_style_get

	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
	with a style property.

	* gdk/x11/gdkevents-x11.c: namespace the settings

	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.

	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
	be used. Also, translate doc strings for settings. Also, namespace
	the double-click-time property. Also, remove bell properties crap.
2001-04-28 00:12:47 +00:00
Owen Taylor
fb5f7106dc Fix optimization that was correct for the use here, but completely
Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (strstr_len): Fix optimization that
	was correct for the use here, but completely incorrect
	in general.
2001-04-26 14:57:13 +00:00
Havoc Pennington
f8ceea8b35 Close bug #50615:
2001-04-18  Havoc Pennington  <hp@redhat.com>

        Close bug #50615:

	* gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
	the layout

	* gtk/gtktext.c: Use base/text instead of bg/fg throughout

	* gtk/gtkentry.c: Use base/text instead of bg/fg throughout

	* gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout

	* gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
	to blue for base, in addition to bg
2001-04-18 20:16:38 +00:00
Owen Taylor
b52b326d5f Add GdkEventSetting event for notification of changes to system settings,
Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.h: Add GdkEventSetting event for notification
	of changes to system settings, gdk_setting_get() to retrieve
	a single system setting.

	* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
	to the draft XSETTINGS mechanism.

	* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
	XSETTINGS.

	* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
	of GDK settings changes to the GtkSettings object.

	* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
	double-click-timeout property to GDK.

	* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
	Define GDK boxed types here.

	* gdk/Makefile.am gdk/makeenums.pl: Generate source files
	gdk/gdkenumtypes.[ch] for enum definitions.

	* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
	* gtk/gtk-boxed.defs: Comment out GDK types
	* gtk/gtktypeutils.h: Remove GDK types
	* gtk/Makefile.am: No longer scan GDK headers for enumerataions
2001-04-02 23:33:47 +00:00
Owen Taylor
3961437bab Avoid chaining up to parent impl, since we have a INPUT_ONLY window.
Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
	chaining up to parent impl, since we have a INPUT_ONLY
	window.

	* gtk/gtkentry.[ch]: Add a cursor_color property to set the
	foreground color for the cursor.
2001-04-02 20:15:18 +00:00
Owen Taylor
c944151a3c Fix G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix
	G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
	stupidity.

Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>

	[ First pass at adding style properties. Still needs some definite
	fine-tuning. ]

        * gtk/gtkbutton.c: Add ::default_spacing style property.

	* gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
	::indicator_spacing style properties.

	* gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
	style properties.

	* gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
	rather than a normal property.

	* gtk/gtkwidget.c: Add an ::interior_focus style property to
	draw focus inside buttons, in the Windows/Java Metal/etc. style.

	* gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
	Honor ::interior_focus.

	* gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is
	TRUE.

	* gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
	Add ::slider_width, ::trough_border, ::stepper_size,
	::stepper_spacing style properties.

	* gtk/gtkscale.[ch] Add ::slider-length style property.
2001-04-02 15:51:28 +00:00
Owen Taylor
dac3b3a168 Add boxed type for GtkRequistion. Use it for ::size-request.
Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
	Add boxed type for GtkRequistion. Use it for ::size-request.

	* gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
        Add a new GtkBorder structure useful for geometry properties
	for widgets. Add corresponding GTK_TYPE_BORDER.

	* gtk/gtkwidget.c (gtk_widget_class_install_style_property):
	Support automatic parser selection like
	gtk_settings_install_property_parser().

	* gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
	functionality for use by gtk_widget_class_install_style_property.
	Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.

Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
	g_param_spec_unichar().
2001-04-02 03:47:25 +00:00
Tim Janik
770938bf2f got rid of gtk_widget_popup(), a function that bad needs to be nuked, not
Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
        bad needs to be nuked, not just deprecated.

        * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use
        gtk_widget_popup().

        * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;

        * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
        widget.

        * docs/Changes-2.0.txt: updates.
2001-04-01 07:32:41 +00:00
Owen Taylor
1586ade9c5 Add missing NULL on valist.
Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/testtext.c (create_buffer): Add missing NULL on
	valist.

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
	c-n-p problem with INCONSISTENT property.

        [ Patch from Havoc Pennington  <hp@redhat.com> ]

	* gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
	hook.

	* gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
	signal as a hook for extending the default popup menu

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	use radio menu items for the input method menuitems

	* gtk/gtkimcontextsimple.c (check_hex): do better validation of
	inserted unicode from Ctrl-Shift-hex input method

	* gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
	validatation here, already done at GtkTextBuffer level.

	* gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
	popup_menu run action signal and Shift+F10 and Menu keybindings.

	* gtk/gtkentry.c: implement a default handler for popup_menu

	* gtk/gtktextview.c: implement a default handler for popup_menu

	* gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
	from a key event

	* gtk/gtklabel.c: remove "trailer" cruft
2001-03-29 00:24:58 +00:00
Havoc Pennington
207e3bb977 make this somewhat key-navigable
2001-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtkhsv.c: make this somewhat key-navigable

	* gtk/gtkfontsel.c: mnemonics

	* gtk/gtkgamma.c: mnemonics

	* gtk/gtkcolorsel.c: add mnemonics to labels

2001-03-22  Havoc Pennington  <hp@pobox.com>

	Applied big patch from Seth Lytle to fix event handler return
	values, slightly modified.

	* gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
	handled.
	(gtk_calendar_key_press): return TRUE for GDK_space triggers
	select_day

	* gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
	(gtk_clist_button_release): return TRUE if handled

	* gtk/gtkcolorsel.c (mouse_release):
	(palette_activate):
	(palette_press):
	(palette_new):
	(mouse_press):
	(get_screen_color):
	fixed return type (void to gboolean), return TRUE,
	added GTK_SIGNAL_FUNC cast

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
	(void to gboolean), and return TRUE
	(gtk_combo_button_release): changed return value to TRUE after
	gtk_grab_add on combo->popwin

	* gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
	collapse or expand

	* gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
	button/motion

	* gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
	press/release and motion that trigger act

	* gtk/gtkentry.c (gtk_entry_button_release): return TRUE

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
	for GDK_Return

	* gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
	(gtk_list_button_release): return TRUE if selection

	* gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
	press

	* gtk/gtkmenushell.c (gtk_menu_shell_button_press):
	(gtk_menu_shell_button_release): chain parent_menu_shell retval

	* gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
	nothing triggered
	(gtk_notebook_button_release): return TRUE if we do anything

	* gtk/gtkspinbutton.c (gtk_spin_button_button_press):
	(gtk_spin_button_button_release): return TRUE or chained retval

	* gtk/gtktext.c (gtk_text_button_press):
	(gtk_text_button_release): return TRUE
	(gtk_text_key_press): remove redundant retval code

	* gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
	and sensitive
	(gtk_tree_item_subtree_button_click): changed type to gint, and return
	TRUE if sensitive

	* gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies
	return TRUE
2001-03-24 06:10:40 +00:00
Alexander Larsson
de5eafede2 Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and removed
2001-03-21  Alexander Larsson  <alexl@redhat.com>

        * gtk/gtkbutton.[ch]:
	* gtk/gtkdialog.c:
	Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
	removed accel_group argument. Renamed gtk_button_new_accel() to
	gtk_button_new_with_mnemonic() and removed accel_group argument.

	* gtk/gtkcheckbutton.[ch]:
	New function gtk_check_button_new_with_mnemonic().

	* gtk/gtkentry.c:
	Override activate_mnemonic and just grab focus.

	* gtk/gtkitemfactory.c:
	Don't add menu uline accel group, instead use mnemonics support.

	* gtk/gtklabel.[ch]:
	New support for mnemonics.

	* gtk/gtkmarshal.list:
	Needed BOOLEAN:BOOLEAN for activate_mnemonic.

	* gtk/gtkmenu.[c]:
	* gtkmenushell.c:
	Use mnemonics instead of accel groups for uline
	support in menu items.
	Removed gtk_menu_get_uline_accel_group() and
	gtk_menu_ensure_uline_accel_group().

	* gtk/gtkmenuitem.c:
	Override activate_mnemonic to handle switching between
	menu items if there are collisions.

	* gtk/gtknotebook.c:
	Connect to activate_mnemonic on the tab_label, so that
	activating it switches to that notebook page.

	* gtk/gtkwidget.[ch]:
	Add activate_mnemonic signal. New function
	gtk_widget_activate_mnemonic() to emit it.
	Default implementation does activate/grab_focus.

	* gtk/gtkwindow.[ch]:
	Add support for mnemonics in windows.
	New functions:
	gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
	gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier

	* gtk/testgtk.c:
	Update to function name changes.
2001-03-21 18:58:28 +00:00
HideToshi Tajima
df726ee888 rename set_cursor_pos to set_cursor_location in GtkInputContext class
2001-03-15  HideToshi Tajima  <tajima@happy>

        * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_locat
ion):
        * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
        * gtk/gtkentry.c (update_im_cursor_location):
        * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
        * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
        set_cursor_pos to set_cursor_location in GtkInputContext class
2001-03-16 01:44:54 +00:00
HideToshi Tajima
02f376a91f add set_cursor_pos() virtual method
2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
	* gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
	* gtk/gtkimcontext.h (struct _GtkIMContextClass): add
	set_cursor_pos() virtual method

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
	(gtk_im_context_xim_set_cursor_pos): add implementation for
	set_cursor_pos() method

	* gtk/gtkentry.c (recompute_idle_func): set current cursor
	position to input methods
2001-03-14 22:03:24 +00:00
Havoc Pennington
29b902a481 remove trailer (gtk_entry_set_property): remove trailer
2001-03-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkentry.c (gtk_entry_get_property): remove trailer
	(gtk_entry_set_property): remove trailer

	* gtk/gtkentry.c (gtk_entry_set_width_chars):
	(gtk_entry_get_width_chars): new functions, to set size request to
	a given number of characters

	* gtk/testgtk.c (create_dialog): beef up the dialog test slightly

	* gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
	(gtk_dialog_get_has_separator): new function
        (run_delete_handler): fix to not emit "response" signal
	because we already did in the delete event handler installed
	at dialog creation time.

	* gtk/gtkdialog.h: add a has_separator property,
	add GTK_DIALOG_NO_SEPARATOR flag
2001-03-07 21:32:51 +00:00
Owen Taylor
a859fa13af Add shift-clicking to extend the selection. (Roughly based on patch from
Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
	to extend the selection. (Roughly based on patch
	from Jay Cox, #50939)

	* gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
	to properly handle previous GDK_BUTTON_PRESS.
	(Patch from Jay Cox, #50938)

	* gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
	'\0' back along with the deleted text. (#51148)
2001-03-03 21:03:52 +00:00
Havoc Pennington
8860615d9a use _gdk_region_get_xrectangles()
2001-03-02  Havoc Pennington  <hp@redhat.com>

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
	_gdk_region_get_xrectangles()

	* gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function

	* gtk/testgtk.c (create_shapes): add test for shape_combine_region

	* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
	function, contributed by Ron Steinke

	* gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
	gdk_net_wm_supports

	* gdk/gdkregion-generic.c (gdk_region_get_rectangles):
	New function, contributed by Ron Steinke

	* gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function,
	used to line up the text in the entry when using the entry for
	editable sheet cell hacks

	* gtk/testgtk.c (create_entry): test the activate_default setting
	on GtkEntry

	* gtk/gtkentry.c (gtk_entry_set_activates_default): New function to
	cause the entry to activate the default button for a dialog when
	activated
	(gtk_entry_get_activates_default): new function
2001-03-02 20:02:17 +00:00
Havoc Pennington
56a2f2c628 Remove draw_focus and draw_default (gtk_widget_draw_focus): remove this
2001-02-28  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
	draw_default
	(gtk_widget_draw_focus): remove this function; we could instead
	make it just gtk_widget_draw(), but in most cases I think the
	result would be broken user code, so think it's better to have
	that code not compile and get fixed
	(gtk_widget_draw_default): ditto

	* gtk/gtkwidget.c: Add default handlers for focus_in_event and
	focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw

	* gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
	widgets lose/get the default, instead of calling draw_default

	* docs/Changes-2.0.txt: note about all this

	Then fixed every widget in GTK, I won't list all the filenames.
2001-02-28 19:07:46 +00:00
Havoc Pennington
0ebf76901c unbreak this function
2001-02-21  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
	unbreak this function

	* gtk/gtkentry.c: apply patch from Lee Mallabone to add object
	properties

	* gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
	properties

	* gtk/gtkcombo.c: apply patch from Lee Mallabone to add object
	properties

	* gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
	mean unset the max length
2001-02-21 20:22:25 +00:00
Alexander Larsson
e1e093fa44 Added new menu separator item. The drawing and size handling is still done
2001-02-21  Alexander Larsson  <alexl@redhat.com>

        * gtk/gtkseparatormenuitem.[ch]:
	Added new menu separator item. The drawing and size handling
	is still done in GtkMenuItem, but the API is a bit more sane.

	* gtk/Makefile.am:
	Add gtkseparatormenuitem.[ch].

	* gtk/gtk.h:
	Add gtkseparatormenuitem.h.

	* gtk/gtkentry.c:
	* gtk/gtkmenufactory.c:
	* gtk/gtktextview.c:
	Use the new API for menu separators.

	* demos/gtk-demo/menus.c (create_menu):
	Add some GtkSeparatorMenuItem demo code.
2001-02-21 09:29:01 +00:00
Havoc Pennington
08add3cd50 convert the X coordinates so they're with respect to the line, rather than
2001-02-15  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
	the X coordinates so they're with respect to the line, rather than
	with respect to the layout.

	* gtk/gtkalignment.c: Convert to new property API, patch from Lee
	Mallabone

	* gtk/testgtk.c (create_range_controls): add vscale tests,
	and inverted test

	* gtk/gtkrange.c (gtk_range_set_inverted): new function to fix
	#50806

	* gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN

	* gtk/gtktextiter.h (gtk_text_iter_is_last): rename
	gtk_text_iter_is_end

	* gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
	rename gtk_text_buffer_get_end_iter

	* gtk/testgtk.c (create_labels): Add test for selectable

	* gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
	the selection stuff. This code is kind of broken since it doesn't
	use the theme engine.

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region):
	fix infinite loop and y offset problem
	(gdk_draw_layout_line_with_colors): fix foreground color handling

        * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag
	that makes the label selectable.

	* gtk/gtklabel.c (gtk_label_style_set): recreate the label's
	layout when the style is set, since fonts etc. could have changed.
2001-02-17 00:11:03 +00:00