Commit Graph

144 Commits

Author SHA1 Message Date
Owen Taylor
a03f567e2f Change so that updates of selection don't take effect immediately, but
Wed Nov 13 17:03:19 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombo.c: Change so that updates of selection
        don't take effect immediately, but only when popdown
        is closed with a button release within the combo
        or Return/Enter.

        * gtk/gtkcombo.c: Support Alt-Down to pop down the
        combo, Alt-Up to pop it back up, Space to immediately
        select current item.

        * gtk/gtkcombo.c (gtk_combo_entry_key_press): Don't
        move the focus when we get to the ends of the list
        entries.

        * gtk/gtkcombo.c: Fix handling of state in ad-hoc
        keybinding handling to be a bit more reasonable.

        * gtk/gtkcombo.c (gtk_combo_popup_list): Clear
        last_focus_child when no item is selected so we
        don't start focusing from some random place.

        * gtk/gtkcombo.c (gtk_combo_init): Make
        gtk_combo_set_use_arrows_always, enable_arrows_always
        properties have no effect, they were an awful idea.
        Always behave as if enable_arrows_always is true.

        * gtk/gtknotebook.c: Fix a warning.
2002-11-14 04:46:20 +00:00
Owen Taylor
83cda922f2 When clicking on a non-active tab, focus the first widget in the tab, not
Wed Nov 13 11:55:25 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_button_press):
        When clicking on a non-active tab, focus the first
        widget in the tab, not the tab itself. (#98322)

        * gtk/gtknotebook.c (gtk_notebook_focus_changed):
        Eliminate synchronous drawing, just call redraw_tabs.

        * gtk/gtknotebook.c (gtk_notebook_init): Don't set
        the RECEIVES_DEFAULT flag, we no longer do anything
        with Return/Enter key.
2002-11-13 17:20:33 +00:00
Owen Taylor
37b4521264 Always switch to the page with the focused tab label. (#82108, Matt
Fri Oct 25 17:56:24 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab):
        Always switch to the page with the focused tab
        label. (#82108, Matt Wilson.)
2002-10-25 21:59:10 +00:00
Owen Taylor
449fdfbfff Don't handle button 2/3 on the tabs. (#82118, Matt Wilson.)
Fri Oct 25 17:46:18 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_button_press):
        Don't handle button 2/3 on the tabs. (#82118,
        Matt Wilson.)
2002-10-25 21:50:19 +00:00
Matthias Clasen
d8d0bf7ce9 Documentation improvements. 2002-10-10 23:42:57 +00:00
Manish Singh
8b6a832f26 deprecation cleanup
Sat Oct  5 16:11:22 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkmisc.[ch] gtk/gtklabel.[ch] gtk/gtkimage.[ch]
        gtk/gtkdrawingarea.[ch] gtk/gtknotebook.[ch]: deprecation cleanup
2002-10-05 23:15:39 +00:00
Owen Taylor
7e924e4aa3 at Oct 5 18:25:11 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_draw_tab): Fix
        &expose_event vs expose_event problem (#94898,
        reported by Jon-Kare Hellan)
2002-10-05 22:36:36 +00:00
Owen Taylor
ef33adff83 Add a 'type' parameter, make public.
Thu Oct  3 14:13:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_new): Add a 'type'
        parameter, make public.

        * gdk/gdkevents.c (gdk_event_copy): Copy the screen.

        * gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
        gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
        _gdk_event_new() => gdk_event_new().

        * gdk/win32/gdkevents-win32.c (real_window_procedure):
        Fix event_private->screen breakage that results from evil
        encapsulation breakage here.

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
        gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
        gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
        gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
        gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
        gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
        tests/testgtk.c: Remove most usage of stack-allocated
        GdkEvent structures.

        * gtk/gtktreeview.c: Use a cut-and-paste of the full
        send_focus_event() from gtkwindow.c that does the necessary
        notification of the ::has-focus property and setting of
        the HAS_FOCUS flag.x

        * gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
        an extraneous use of a GdkEvent.
2002-10-03 20:53:30 +00:00
Owen Taylor
8be3514f74 Handle the case where the first page isn't visible. (#90336, bug tracked
Fri Sep 27 16:15:11 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtknotebook.c (gtk_notebook_get_event_window_position):
        Handle the case where the first page isn't visible.
        (#90336, bug tracked down by Chema Celorio)
2002-09-27 20:19:16 +00:00
Owen Taylor
9879b5b45c i Add gtk_notebook_get_n_pages (#73229, Havoc Pennington)
Mon Sep 23 18:01:52 2002  Owen Taylor  <otaylor@redhat.com>
i
        * gtk/gtknotebook.[ch]: Add gtk_notebook_get_n_pages
        (#73229, Havoc Pennington)

        * gtk/gtknotebook.c (gtk_notebook_get_nth_page): Handle
        -1 to mean the last page, as we do elsewhere. (#73229)
2002-09-23 22:05:41 +00:00
Matthias Clasen
252c9c1230 Typo fix.
* gtk/gtknotebook.c (gtk_notebook_set_show_border): Typo fix.
2002-05-02 19:16:06 +00:00
Matthias Clasen
7d3ec5ecce Correct the composite_child blurb.
* gtk/gtkwidget.c (gtk_widget_class_init): Correct the
	composite_child blurb.

	* gtk/gtknotebook.c (gtk_notebook_set_show_border): Clarify docs.  (#73093)
2002-05-02 18:55:52 +00:00
Matthias Clasen
1c9744d5de Add nicks and blurbs for child properties. (#57143)
* gtk/gtktable.c (gtk_table_class_init):
	* gtk/gtknotebook.c (gtk_notebook_class_init):
	* gtk/gtkbox.c (gtk_box_class_init): Add nicks and blurbs for
	child properties.  (#57143)
2002-05-02 00:03:49 +00:00
Matthias Clasen
e3d181b81c Improve a warning.
* gtk/gtkcontainer.c (gtk_container_class_install_child_property):
	Improve a warning.

	* gdk/linux-fb/gdkinput.c (gdk_device_get_axis): Remove a broken
	and redundant doc comment.

	* gtk/gtkprogress.c (gtk_progress_class_init):
	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init):
	* gtk/gtktexttag.c (gtk_text_tag_class_init):
	* gtk/gtknotebook.c (gtk_notebook_class_init): Better blurbs,
	incorporating stuff from the doc templates.

	* gtk/gtkplug.c (gtk_plug_construct): Fix docs.
2002-04-30 23:40:19 +00:00
Alex Larsson
4632fb81c7 Integrate Erwann Chenede's multihead changes for the gtk/ directory.
Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>

	Integrate Erwann Chenede's multihead changes for the gtk/ directory.

	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
	make internals multihead aware.

	* gtk/gtkcolorsel.[ch]: Add
	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
	make up for non-multihead safety of
	gtk_color_selection_set_change_palette_hook()

	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
	for GtkWindow and GtkMenu.

	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
	gtk_plug_new_for_display(). Multihead fixes.

	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
	make internals multihead aware.

	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
	rid of now-useless gtk_settings_constructor().

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
	check/radio button indicators bitmap handling to be multihead
	safe.

	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
	gtk_widget_get_display(), gtk_widget_get_clipboard(),
	gtk_widget_get_root_window().

	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
	misc mechanical multihead-safety fixes.

	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
	the dropper, look up the color palette only at realization time,
	other multihead fixes.

	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
	unrealizing.

	* gtk/gtkentry.c: Only claim ownership of the primary selection
	when realized, misc multihead fixes.

	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
	fix gtk_font_selection_get_font() for multihead.

	* gtk/gtkgc.c: make the depth => drawable hash per-screen.

	* gtk/gtkinvisible.c: Add a constructor that realizes the
	widget, so we get a realized widget with g_object_new() as
	well gtk_invisible_new() as before.

	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
	variables.

	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
	are used on the wrong screen.

	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
	read properties and connect to settings when the screen is changed,
	rather than on init/finalize.

	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
	default icon pixmaps/mask are only shared between windows on the
	same screen. Misc multihead fixes.

Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.

2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
	Fix silly bug, noticed by Sven Neumann.

Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 22:53:45 +00:00
Havoc Pennington
c652859042 relocate the remove_weak_pointer to just before we free the page, to be
2002-04-12  Havoc Pennington  <hp@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_real_remove): relocate the
	remove_weak_pointer to just before we free the page, to be sure
	it doesn't get re-added. #75282
2002-04-12 21:52:16 +00:00
Owen Taylor
c5e6a170de Set page->last_focus_child to NULL as well as removing the weak reference,
Wed Mar 27 11:10:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_remove): Set
        page->last_focus_child to NULL as well as removing the
        weak reference, to deal with reentrancy in set_focus_child().
        (#76634)
2002-03-27 16:15:48 +00:00
Owen Taylor
a67723b05d Fix problem where there were two copies of the "do an arrow step" code,
Thu Mar  7 10:31:57 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
        there were two copies of the "do an arrow step" code,
        one correct for rotated notebooks, one not. (#73855,
        Thomas Leonard.)
2002-03-07 15:39:31 +00:00
Owen Taylor
2a0aa82bf8 Fix docs in terms of what out of range @page_num does. (#73371, Vitaly
Mon Mar  4 10:35:28 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_set_current_page): Fix docs
        in terms of what out of range @page_num does. (#73371,
        Vitaly Tishkov.)
2002-03-04 15:54:09 +00:00
Owen Taylor
f4c06611fd Fix signed-unsigned error that was accidentally causing negative values to
Fri Mar  1 10:31:14 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_reorder_child):
	Fix signed-unsigned error that was accidentally causing
	negative values to append, do it intentionally. Fix docs
	to say that negative values append. (Alexey A. Malyshev,
	#73108)
2002-03-01 15:41:59 +00:00
Alexey Malyshev
30e9527d24 gtk+/gtk/gtkitemfactory.c fixed a little type in docs for
2002-03-01 Alexey Malyshev <maa@sparc.spb.su>

        * gtk+/gtk/gtkitemfactory.c
	fixed a little type in docs for gtk_notebook_set_show_border()
2002-03-01 14:46:38 +00:00
Owen Taylor
708e1a9574 Implement "fuzzy" key binding lookups; allow matches on key and level but
Wed Feb 20 14:26:47 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
        allow matches on key and level but not group. Also, implement
        ignoring "consumed modifiers correctly."

        * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
        GtkKeyHash.

        * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
        the group for key release events as well as key press events.

        * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Rename unused_modifiers to consumed_modifiers, make the docs and
        non-Xkb implementation match the Xkb implementation.

        * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
        doc and parameter name changes.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        XkbTranslateKeyCode doesn't handle LockMask, we need to handle
        it ourselves.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
        <Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
        to allow dealing with ISO_Left_Tab.

        * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
        gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
        Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
        or <Shift>Tab both are equivalent as a binding specifier.)

        * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
        GTK_RUN_ACTION, so you can bind an accelerator to it.

        * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
        gdk_unicode_to_keyval on the mnemonic character.

        * tests/testgtk.c: Add a test for the new fuzzy key binding matching.
2002-02-21 17:14:10 +00:00
Matthias Clasen
dc46b476e3 Avoid segfault for selectable tab labels (even without a segfault, they
* gtk/gtknotebook.c (gtk_notebook_set_focus_child): Avoid segfault
	for selectable tab labels (even without a segfault, they make the
	notebook almost unusable, though).  (#69985)

	* gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path): Silently do
	nothing if the parent is not a menu.  (#66492)

	* gtk/gtkitemfactory.c (gtk_item_factory_from_widget,
	gtk_item_factory_path_from_widget): Try fetching the return value
	from menu_item->submenu as a fallback.  (#69020)
2002-02-09 22:12:04 +00:00
Owen Taylor
23c6be552c Add ::move-focus-out signal to handle Control[-Shift]-Tab and
Thu Feb  7 19:52:00 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.[ch]: Add ::move-focus-out signal
	to handle Control[-Shift]-Tab and Control-arrow
	bindings and implement bindings as per #53612.

	* gtk/gtktextview.c (gtk_text_view_move_focus): Fix
	fetching the toplevel for plug-socket.

	* gtk/gtknotebook.c (gtk_notebook_class_init): Remove
	bindings for Return/Enter to select the page.

	* gtk/gtknotebook.c (gtk_notebook_change_current_page):
	Beep at ends.

	* gtk/gtknotebook.c (focus_tabs_move): Don't wrap around
	and beep at ends.

	* gtk/gtknotebook.c (gtk_notebook_focus): When focusing into
	the page with the arrow keys, focus the first widget,
	not the directionally closest widget.
2002-02-08 01:10:25 +00:00
Owen Taylor
aa88182321 Convert to using binding set for doing key bindings. (#62622, Requested by
Thu Feb  7 19:00:10 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert
        to using  binding set for doing key bindings. (#62622,
        Requested by Skip Montaro)

        * gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow
        bindings as overrides along with control-tab bindings.

        * gtk/gtknotebook.c (gtk_notebook_class_init): Fix return
        type for ::focus_tab signal.
2002-02-08 00:02:52 +00:00
Owen Taylor
ae7521bd9d Non-exported _gtk_menu_select_first() function that selects the first item
Sat Feb  2 20:16:04 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.c (_gtk_menu_shell_select_first):
        Non-exported _gtk_menu_select_first() function that
        selects the first item of the menu in a standard
        way. (Skipping tearoffs.)

        * gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c
        gtkmenuitem.c: Use _gtk_menu_shell_select_first().

        * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember
        if we are starting the timeout from a keypress so
        we can set menushell->ignore_enter properly.

        * gtk/gtknotebook.c (focus_child_in): Return something
        meaningful if there are no children.

        * gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence
        problem.
2002-02-03 01:25:32 +00:00
Owen Taylor
a7d3cece47 ri Feb 1 12:51:20 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (focus_child_in): Catch the
        cur_page == NULL (no children) case. (#70287,
        Paolo Maggi.)
2002-02-01 17:53:56 +00:00
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +00:00
Owen Taylor
c431ffffc6 Use insensitive state for insensitive arrows, not just an "etched state".
Wed Jan 23 20:28:59 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_draw_arrow):
	Use insensitive state for insensitive arrows, not
	just an "etched state". (#67172, Adrian Custer)
2002-01-24 01:36:39 +00:00
Owen Taylor
a8e2fc3082 Fix missing allocation.x/y offsets. (#68962, Jacob Berkman)
Thu Jan 17 20:13:14 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_redraw_tabs): Fix
	missing allocation.x/y offsets. (#68962, Jacob
	Berkman)

	* gtk/gtknotebook.c (gtk_notebook_size_allocate):
	Queue a redraw on the entire widget if we hide
	the last page or show the first. (Also #68962)
2002-01-18 01:18:05 +00:00
Owen Taylor
ee2d7c4556 Support "optional" bindings. If a binding signal has a boolean return
Wed Jan 16 19:23:04 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbindings.c (gtk_binding_entry_activate):
	Support "optional" bindings. If a binding signal
	has a boolean return value, and returns FALSE it
	is as if it didn't exist all.

	* gtk/gtkbindings.c (binding_compose_params): Switch
	over to GValue.

	* gtk/gtknotebook.[ch]: Make the select_page() and
	change_current_page() signals only take effect when
	the focus is on the tab area so that key presses
	in children pass up to the toplevel correctly.
2002-01-17 00:34:58 +00:00
Owen Taylor
08431c79ba focus the activated tab, not the page. (#53612)
Tue Jan 15 12:23:33 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_mnemonic_activate_switch_page):
	focus the activated tab, not the page. (#53612)

	* gtk/gtknotebook.c (gtk_notebook_set_focus_child): Track
	the last focus descendant of the page.

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): If the focus
	was on the previous page, move it to the last focused widget /
	first element on the new page, if possible, or if not, to the
	notebook itself. (#68224, reported by Jonathan Blandford)

	* gtk/gtknotebook.c (focus_tabs_in): Don't focus tabs
	tabs aren't visible. (#65462, Damon Chaplin, fixed based
	on patch from Anders Carlsson)
2002-01-15 17:40:44 +00:00
Jonathan Blandford
59bdb19b0e keep in sync with insert_page_menu. Code duplication is bad.
Wed Dec 12 15:01:33 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_set_tab_label): keep in sync
	with insert_page_menu.  Code duplication is bad.

	* gtk/gtklabel.c (gtk_label_mnemonic_activate): Whoops -- got the
	wrong fix yesterday.
2001-12-12 20:10:52 +00:00
Owen Taylor
7537825b34 Patch from Bill Haneman (with many modifications) to make the focus color
Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Bill Haneman (with many modifications) to make
	the focus color work on dark themes and to make the
	focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties,
	::focus-widget, ::focus-line-width, and ::focus-padding.

	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
	state argument as well so we can use fg[STATE] to
	draw instead of always drawing with black.
	Cange paint_focus() to respect GtkWidget::focus-width
	and GtkWidget::focus-line-pattern. Fix continuity
	problem where the default 1-1 stipple had a blob
	in one corner and a gap in the other. Change the
	interpretation of x/y/width/height to be the bounding
	box of the focus rect instead of the rectangle
	passed to gdk_draw_rectangle.

	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
	and ::focus-line-padding.

	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
	and remove duplicated code; fix drawing of focus rectangle
	when interior-focus = FALSE. (#63072, #63073)

	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
	Range and TreeViewColumn will need more extensive fixing.

	* gtk/gtkcolorsel.c: Honor focus line attributes when
	drawing the focus on the color swatches. (#63071)

	* gtk/gtkhsv.c: Honor focus line attributes when
	drawing the focus for the ring and triangle.

	* docs/widget_geometry.txt: Start at documenting how
	various widgets are drawn.

	* gtk/gtkbutton.c (_gtk_button_paint): Export
	_gtk_button_paint() librarywide, so we don't have
	duplicate a bunch of code in gtktogglebutton.c.

	* gtk/gtktogglebutton.c: Use _gtk_button_paint().
2001-12-04 03:27:30 +00:00
jacob berkman
5e0b93dc25 set the signal id to 0 after we disconnect from it
2001-11-30  jacob berkman  <jacob@ximian.com>

	* gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set the
	signal id to 0 after we disconnect from it
2001-11-30 23:17:29 +00:00
Owen Taylor
4da8e00b62 Handle events in windows other than widget->event_window properly.
Fri Nov 23 19:22:50 2001  Owen Taylor  <otaylor@redhat.com>
	* gtk/gtknotebook.c: Handle events in windows other
	than widget->event_window properly. (#65079, reported
	by Damon Chaplin)
	* gdk/gdkevents.c (gdk_event_get_coords): Fix x/y bug.
2001-11-24 00:24:18 +00:00
Owen Taylor
cbab863627 Fix problem where notebook gap was double shifted by allocation.x/y
Tue Nov 20 12:37:10 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_paint): Fix problem
	where notebook gap was double shifted by allocation.x/y

	* gtk/gtknotebook.c (gtk_notebook_unmap): Chain up
	to unmap children.
2001-11-20 17:42:56 +00:00
Michael Natterer
2268abe48f show notebook->event_window with gdk_window_show_unraised(), so it doesn't
2001-11-19  Michael Natterer  <mitch@gimp.org>

	* gtk/gtknotebook.c: show notebook->event_window with
	gdk_window_show_unraised(), so it doesn't catch the events which
	should go to the tab widgets first.
2001-11-19 22:04:24 +00:00
Owen Taylor
a036c6e59f Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;
Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
	only for compatibility with GTK+-1.2; and deprecate it;
	put all marshalers we actually use into gtkmarshalers.list
	and use the _gtk_marshal_ prefix for these marshalers.
2001-11-17 23:28:51 +00:00
Owen Taylor
c344b3f905 Propagate key press events not just to focus/window but also to
Thu Nov 15 12:54:36 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_key_press_event): Propagate
        key press events not just to focus/window but also to
        intermediate widgets.

        * gtk/gtknotebook.c: Handle Ctrl-PageUp/Ctrl-PageDown
        to switch pages. (Needs some work on handling focus
        when switching pages.)
2001-11-16 22:20:00 +00:00
Owen Taylor
0f9b242203 Fix child allocations to be relative to widget position and some drawing
Fri Nov 16 14:06:31 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c: Fix child allocations to be relative to
	widget position and some drawing bugs.

	* gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem
	with reading uninitialized variable.
2001-11-16 19:19:30 +00:00
Owen Taylor
91a34f5d56 Some small drawing fixes for scroll arrows.
Thu Nov 15 16:07:42 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c: Some small drawing fixes for scroll arrows.
2001-11-15 21:12:27 +00:00
Owen Taylor
b27345fe2c Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann)
Thu Nov 15 14:19:34 2001  Owen Taylor  <otaylor@redhat.com>

 	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
 	gdk_window_invalidate_maybe_recurse() for recursion.
 	(Soeren Sandmann)

 	* gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann)

	* gtk/gtkcontainer.c (gtk_container_expose): Call
	gtk_container_forall() not _foreach() to propagate,
	since we need to propagate exposes to internal children
	as well.

	* gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events):
	Remove the restriction of only being able to call these
	on window widgets, since we have lots of NO_WINDOW widgets
	with windows now; for add events, recurse over the children
	of widget->window to find one owned by the widget.

	* gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only
	window to catch events.

	* gtk/gtktogglebutton.[ch]: Remove the code for switching
	between NO_WINDOW and WINDOW widgets based on the mode.

	* gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c
	gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton.

	* gtk/gtkrange.[ch]: Make into a NO_WINDOW widget.

	* gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW
	change for range.

	* gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget.

	* docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.
2001-11-15 21:04:51 +00:00
Matthias Clasen
3470c6347f Rearrange docs (#64566)
* gtk/gtkbutton.c (gtk_button_get_label): Rearrange docs (#64566)

        * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Typo fix (#64474)

        * gtk/gtkruler.c (gtk_ruler_get_metric): Typo fix (#64470)

        * gtk/gtknotebook.c (gtk_notebook_prepend_page): Typo fix (#64467)

        * gtk/gtklabel.c: Documentation fixes (#64452)

        * docs/reference/gdk/Makefile.am (MKDB_OPTIONS),
        docs/reference/gdk-pixbuf/Makefile.am (MKDB_OPTIONS),
        docs/reference/gtk/Makefile.am (MKDB_OPTIONS): Add --sgml-mode.

        * docs/reference/gdk-pixbuf/tmpl/file-saving.sgml,
        docs/reference/gdk-pixbuf/tmpl/module_interface.sgml,
        docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rgb.sgml: Consistent short descriptions.
        * docs/reference/gtk/tmpl/gtkprogressbar.sgml: Remove duplicate docs. (#64469)

        * docs/reference/gtk/gtk-sections.txt: Add missing TITLEs (#64459, #6456
2001-11-14 22:36:23 +00:00
Tim Janik
d07573c090 added gtkaccelmap.sgml. other updates.
Mon Nov 12 23:06:38 2001  Tim Janik  <timj@gtk.org>

        * added gtkaccelmap.sgml. other updates.

Mon Nov 12 23:08:37 2001  Tim Janik  <timj@gtk.org>

	* gtk/maketypes.awk: fix type utils generation on unix.

	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
	registry.

	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
	introduced ::accel_changed signal for change notification, and
	gtk_accel_group_connect/disconnect to connect closures to accel groups.
	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
	functions.
	deprecated gtk_accel_group_ref/unref.

	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
	to accel group changed notification and basically operate on closures.
	removed gtk_accel_label_get_accel_object and
	gtk_accel_label_set_accel_object.
	introduced gtk_accel_label_set_accel_closure, and for convenience,
	gtk_accel_label_set_accel_widget.

	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
	which mostly moved into gtkaccelmap.[hc].
	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
	and gtk_item_factory_print_func.

	* gtk/gtkmain.c: call _gtk_accel_map_init().

	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
	that associates an accelerator path with menu items, through which
	persistent accelerator settings on menu items are enabled.

	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
	paths of menu item can be default constructed to allow installation
	of accelerators on menu items that don't come with an accelerator
	binding by default.

	* gtk/gtksettings.c: fix STRING type rc settings by special casing
	them appropriately in the parser.

	* gtk/gtksignal.[hc]: allow a class function offset of 0 for
	gtk_signal_newv().

	* gtk/gtkwidget.[hc]: accelerator API revamp.
	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
	gtk_widget_(un)lock_accelerators.
	accelerators maintained through gtk_widget_add/remove_accelerator()
	are not runtime changable now, the correct sequence to setup a
	widget for runtime changable accelerators is now:
	  gtk_accel_map_add_entry(accel_path, key, mods);
	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);

	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
	group changes (as well as mnemonic changes) through the new signal
	::accels_changed.

Sat Nov 10 12:08:56 2001  Tim Janik  <timj@gtk.org>

	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
	GString->string conversions.
2001-11-13 00:53:47 +00:00
Matthias Clasen
79e4b185f6 Mass fixing of trivial doc bugs. (#63544, #57007, #64141, #63472, #57108,
* gtk/gtkiconfactory.c, gtk/gtktextbuffer.c, gtk/gtktreemodel.c,
        gtk/gtkwindow.c, gtk/gtknotebook.c, gtk/gtkradiobutton.c,
        gtk/gtktextiter.c, gtk/gtkdialog.c: Mass fixing of trivial doc bugs.
        (#63544, #57007, #64141, #63472, #57108, #60818, #61562)

        * gtk/tmpl/gtkaccellabel.sgml, gtk/tmpl/gtkcombo.sgml,
        gtk/tmpl/gtkentry.sgml, gtk/tmpl/gtkhscrollbar.sgml,
        gtk/tmpl/gtkvscrollbar.sgml, gtk/tmpl/gtktoolbar.sgml,
        gtk/tmpl/gtkdialog.sgml, gtk/tmpl/gtkstatusbar.sgml:
        Mass fixing of trivial doc bugs. (#55579, #56760, #58769, #55918,
        #64154, #60422, #54697)
2001-11-10 22:06:44 +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
Tim Janik
8dfce4590b fix finding of child's page, since we have to validly deal with labels and
Tue Jul 31 22:59:33 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtknotebook.c (gtk_notebook_get_child_property):
        (gtk_notebook_set_child_property): fix finding of child's page,
        since we have to validly deal with labels and menus here as well.
        (gtk_notebook_get_child_property): fix warning.
        (gtk_notebook_class_init): property tab_pack is of type
        GTK_TYPE_PACK_TYPE (enum) not boolean.
        (gtk_notebook_find_child): don't always warn, we might be looking
        for a label or menu child.
        (gtk_notebook_map): fix mapping of panel.

        * gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain
        widget's mapped state, regardless of the value being set equals
        old settings, since things like REALIZED(parent) or MAPPED(parent)
        may have changed since the old value was set. make it an error to
        invoke this function on a toplevel widget.
2001-07-31 21:23:19 +00:00
Owen Taylor
aa49527fa7 Enforce the widget/child realization/mapping invariants.
Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
	the widget/child realization/mapping invariants.

	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions
	gtk_widget_[get/set]_child_visible() to control
	whether visible children of a mapped window are
	mapped.

	* docs/widget_system.txt: Updated for changes in
	container contract, and addition of GTK_CHILD_VISIBLE.

	* gtk/gtkcontainer.c: Add generic map()/unmap()
	functions that work for almost all containers.

	* gtk/gtknotebook.c gtk/gtkpacker.c: Use
	gtk_widget_set_child_visible() where necessary.

	* gtk/*.c: Remove excess map(), unmap(), and
	realization/mapping invariant enforcing code
	from many containers.
2001-07-19 14:57:15 +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