Commit Graph

136 Commits

Author SHA1 Message Date
Matthias Clasen
57e15782ff Allow passing NULL to unset the model. (#137211, patch by Mariano
Fri Jun 25 23:35:42 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
	NULL to unset the model.  (#137211, patch by  Mariano Suárez-Alvarez)

Fri Jun 25 23:33:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
	placement policy for GtkComboBoxEntry to be: if it fits below,
	place below, if it fits above place above, else place in the
	larger space and scroll so that the scroll arrow appear at the
	far end.  (#144362, David A. Knight)
2004-06-26 03:39:35 +00:00
Matthias Clasen
3d8b7d14db Make GtkComboBox work without model. (#144198, Mariano Suárez-Alvarez)
Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: Make GtkComboBox work without model.
	(#144198, Mariano Suárez-Alvarez)
2004-06-15 05:12:27 +00:00
Matthias Clasen
8eade402cc Handle priv->model being NULL. (#143856, Mariano Suárez-Alvarez)
Mon Jun  7 23:07:40 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): Handle
	priv->model being NULL.  (#143856, Mariano Suárez-Alvarez)
2004-06-08 03:14:58 +00:00
Matthias Clasen
4d33f2c956 Fix the al lowed values and default value for the ::active property.
Thu Jun  3 20:51:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the al lowed
	values and default value for the ::active property.  (#143669,
	Olivier Andrieu)
2004-06-04 00:57:03 +00:00
Matthias Clasen
d5f3cb1409 Rename function parameters from index to index_ to prevent clash with BSD
Tue Jun  1 23:14:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktoolbar.h:
	* gtk/gtktoolbar.c:
	* gtk/gtkentrycompletion.h:
	* gtk/gtkentrycompletion.c:
	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c: Rename function parameters from
	index to index_ to prevent clash with BSD index().  (#143001)
2004-06-02 03:16:03 +00:00
Jonathan Blandford
d61e4f7440 only remove the signal if the box exists.
Thu May 27 00:07:47 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the
        signal if the box exists.
2004-05-27 04:08:26 +00:00
Matthias Clasen
310fd268e7 Support insensitive cells in tree views and combo boxes. 2004-05-27 03:31:17 +00:00
Michael Natterer
a2bd3c74be don't allocate the popup smaller than the combobox. Fixes bug #59660.
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* gtk/gtkcombobox.c (gtk_combo_box_popup)
	(gtk_combo_box_menu_button_press): don't allocate the popup
	smaller than the combobox. Fixes bug #59660.
2004-05-11 19:15:56 +00:00
Matthias Clasen
4c2dd05c96 Use GTK_SELECTION_BROWSE.
2004-05-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use
	GTK_SELECTION_BROWSE.

	* gtk/gtktreeview.c: Make hover selection work for
	GTK_SELECTION_BROWSE as well.
2004-05-11 13:44:09 +00:00
Matthias Clasen
8dbc511070 If we don't do the move-selected-item below pointer thingie, do the
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't
	do the move-selected-item below pointer thingie, do the
	place-below-or-above one.
2004-05-10 18:17:47 +00:00
Matthias Clasen
b301315706 Use hover selection mode. (#127648, Dave Bordoley)
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init):
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
	mode.  (#127648, Dave Bordoley)

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c: Add a new property "hover_selection", which
	when TRUE makes the selection follow the mouse. Also add setter
	and getter for the fixed_height property.
2004-05-10 17:15:14 +00:00
Matthias Clasen
7ca922ac15 Make sure the menu pops up as wide as the combobox. (#59660, Havoc
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_popup)
	(gtk_combo_box_menu_button_press): Make sure the menu pops up
	as wide as the combobox.  (#59660, Havoc Pennington)
2004-05-10 15:44:48 +00:00
Matthias Clasen
09052bc468 Support tearoffable combo boxes (in menu mode). Add a new property,
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu
	mode). Add a new property, add-tearoffs, for this.  (#135956)
2004-05-10 14:07:35 +00:00
Matthias Clasen
b971146da7 In list mode, accept the same mouse/wheel bindings on the cellview as on
Sun May  9 01:57:17 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
	In list mode, accept the same mouse/wheel bindings on
	the cellview as on the button.  (#136967)
2004-05-09 06:01:57 +00:00
Hans Breuer
805abff3cf finally also create the correct mask for 'pseudo mime' icons
2004-05-08  Hans Breuer  <hans@breuer.org>

	* gtk/gtkfilesystemwin32.c (extract_icon) : finally also
	create the correct mask for 'pseudo mime' icons

	* gdk/win32/gdkwindow-win32.c(show_window_internal) : also
	take focus_on_map into account

	* gtk/gtkselection.c : g_message() only with DEBUG_SELECTION

	* gtk/gtkactiongroup.c gtk/gtkcombobox.c :
	... must return a value

	* gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated
2004-05-08 16:25:15 +00:00
Matthias Clasen
ebfab36967 Reverse accidental commit. 2004-05-06 20:14:46 +00:00
Matthias Clasen
3d01ab5f5a Add missing getters for readwrite properies. (#135649)
Thu May  6 00:02:21 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_get_wrap_width):
	(gtk_combo_box_get_row_span_column):
	(gtk_combo_box_get_column_span_column): Add missing getters
	for readwrite properies. (#135649)
2004-05-06 04:06:35 +00:00
Matthias Clasen
56b202f461 Add gtk_combo_box_get_active_text() convenience function. (#136372,
Wed May  5 23:42:42 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c (gtk_combo_box_get_active_text):
	Add gtk_combo_box_get_active_text() convenience
	function. (#136372, Christian Neumeir, patch by Olivier Andrieu)
2004-05-06 03:49:15 +00:00
Matthias Clasen
a1fd4e4bac Make all style properties readonly.
2004-04-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c:
	* gtk/gtkwidget.c:
	Make all style properties readonly.
2004-04-14 21:34:29 +00:00
Matthias Clasen
b18a684f28 Make the arrow and separator regular children of an hbox inside the
2004-04-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Make the arrow and separator regular
	children of an hbox inside the button, and propagate state
	changes from the button to the cell view.  (part of the fix
	for #138650, should also fix #137535)

	* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
	state to gtk_cell_renderer_render() when prelighted. (part
	of the fix for #138650)

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
	Use PRELIGHT state when appropriate.  (part of the fix for
	#138650)
2004-04-14 20:26:26 +00:00
Matthias Clasen
5dc40ee3b4 Don't spit out warnings if called before the combo box is realized.
2004-04-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit
	out warnings if called before the combo box is
	realized.  (#139742, Philip Langdale)
2004-04-14 13:53:57 +00:00
Matthias Clasen
db6f9f3e56 Don't unref model if it is NULL. (#139770)
2004-04-12  Matthias Clasen  <mclasen@dhcp64-228.boston.redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
	model if it is NULL. (#139770)
2004-04-12 20:06:52 +00:00
Hans Breuer
e8a4c8442d gtk/gtkcombobox.c : prototype cell_view_sync_cells() before first usage
2004-03-14  Hans Breuer  <hans@breuer.org>

	gtk/gtkcombobox.c : prototype cell_view_sync_cells() before
	first usage

	gtk/makefile.msc.in : updated 'gtk_public_h_sources'

	tests/makefile.msc : added testspinbutton
2004-03-14 16:02:33 +00:00
Matthias Clasen
74fd8a025d Pop down the list when an item is selected via the keyboard.
Sat Mar 13 21:37:44 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
	list when an item is selected via the keyboard.
2004-03-13 20:33:45 +00:00
Matthias Clasen
3186b9e76b Add a remove implemenatation which restores the cell_view when the custom
Sat Mar 13 01:38:55 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove
	implemenatation which restores the cell_view when the custom
	child is removed.  (#136555, Owen Taylor)
2004-03-13 00:36:27 +00:00
Matthias Clasen
83130a7a73 Place grid mode popups left aligned, not right aligned.
Wed Mar 10 01:21:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
	grid mode popups left aligned, not right aligned.
2004-03-10 00:20:19 +00:00
Owen Taylor
5ac8b12808 Don't call g_signal_handler_disonnect() if priv->model is NULL. (#136551,
Mon Mar  8 11:57:27 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't
        call g_signal_handler_disonnect() if priv->model is
        NULL. (#136551, Damon Chaplin)

        * gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
        Back out code to set the active item when the first
        item is added to the model; this causes problems for
        GtkComboBoxText. (#136535)

        * gtk/gtkcombobox.c (gtk_combo_box_menu_destroy)
        * gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
        * gtk/gtkcombobox.c (gtk_combo_box_list_setup):
        * gtk/gtkcombobox.c (gtk_combo_box_menu_setup):
        Remove calls to gtk_combo_box_unset_model.

        * gtk/gtkcombobox.c (gtk_combo_box_check_appearance):
        Clean up handling of wrap->width > 0.

        * gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't
        switch list/menu mode here.

        * gtk/gtkcombobox.c (gtk_combo_box_set_model): Protect
        against the same model being set back.

        * gtk/gtkcombobox.c (gtk_combo_box_relayout): Call
        gtk_combo_box_menu_fill() rather than duplicating
        a large chunk of code.
2004-03-08 18:39:44 +00:00
Matthias Clasen
6d34fb26c3 Do a size_request on the button and cell_view_frame, otherwise their style
Sun Mar  7 02:38:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_size_request): Do a
	size_request on the button and cell_view_frame, otherwise
	their style will still be the default here in the initial
	size_request. (#136301, Mark McLoughlin)
2004-03-07 01:37:06 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Matthias Clasen
1810dba338 Connect to key_press_event and handle Alt-Down/Alt-Up to show or hide the
Fri Mar  5 00:05:59 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup):
	* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Connect to
	key_press_event and handle Alt-Down/Alt-Up to show or hide the
	list popup. Also handle Down/Up/PageDown/PageUp/Home/End and
	make them change the active item without popping up the list.
	These keybindings are inherited from GtkCombo.

Thu Mar  4 23:15:58 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Initially
	select the active item when using optionmenu-like positioning.
2004-03-04 23:35:31 +00:00
Matthias Clasen
f855ea2ded In list mode, set the background color of the cell view to the base color
Thu Mar  4 21:45:43 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: In list mode, set the background color
	of the cell view to the base color of the style, instead of
	hardwiring white. (#136158)
2004-03-04 20:43:41 +00:00
Matthias Clasen
19369fea75 Move the actual implementation into a new
Wed Mar  3 23:28:48 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active): Move the actual
	implementation into a new gtk_combo_box_set_active_internal()
	function, which doesn't do the short-circuiting.
	* gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted): Use
	set_active_internal() here, since the active item may change here,
	although the index is unchanged.

Wed Mar  3 23:26:49 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Reintroduce the
	traditional option menu placement of the popup for regular combo
	boxes. Grids and editable combo boxes use the combo-like placement
	below the entry.  (#136021)
	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press):
	* gtk/gtkcombobox.c (gtk_combo_box_popup): Call gtk_menu_set_active()
	before popping up the menu, to make the placement work.
2004-03-03 22:30:36 +00:00
Owen Taylor
d0f6b48199 gtk/gtktreestore.c (gtk_tree_store_reorder) Fix up the interpretation of
Tue Mar  2 16:18:43 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktreestore.c (gtk_tree_store_reorder)
        * gtk/gtkliststore.c (gtk_list_store_reorder): Fix
        up the interpretation of new_order to match what
        it means elsewhere, document the meaning of new_order.

        * gtk/gtkcombobox.c (gtk_combo_box_model_rows_reordered):
        Fix interpretation of new_order.

        * tests/testcombochange.c (on_reorder): Fix interpretation
        of new_order.

        * tests/testcombochange.c (on_reorder): Fix hitting
        "reorder" with an empty list.
2004-03-02 21:34:19 +00:00
Owen Taylor
f05cb42db9 If the model was empty before, select the first inserted item.
Tue Mar  2 14:38:23 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
        If the model was empty before, select the first inserted
        item.

        * gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted):
        Fix up the logic for the new row to select.

        * gtk/gtkcombobox.c (gtk_combo_box_class_init):
        Rename "appearance" property to "appears-as-list".

        * tests/testcombochange.c tests/Makefile.am: Test case
        for combos and dynamically changing models.
2004-03-02 20:42:14 +00:00
Owen Taylor
1d64b55539 Always connect to the changed signals on the model, update the active item
Tue Mar  2 11:45:50 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombobox.c: Always connect to the changed
        signals on the model, update the active item as
        appropriate when rows are inserted/deleted/reordered,
        re-layout the menu on ::rows-reordered.

        * gtk/gtkcellview.c (gtk_cell_view_set_displayed_row):
        Allow %NULL for path to unset and leave no current
        path.
2004-03-02 18:56:10 +00:00
Matthias Clasen
de011a6d9c Position the popup above the sample if there is not enough room below.
Tue Mar  2 19:54:53 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_position): Position
	the popup above the sample if there is not enough room below.
	Part of #135543.

Tue Mar  2 19:53:36 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make the
	frame for the list mode etched in, to give the popup a slightly
	less flat appearance.

Tue Mar  2 17:55:31 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk.def: Add gtk_combo_box_entry_new_text().
2004-03-02 18:53:55 +00:00
Matthias Clasen
30ceef6d77 New function which calculates position and size for the popup in list
Sun Feb 29 02:34:35 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_position): New
	function which calculates position and size for the popup in
	list mode. Currently it only pushes the popup horizontally
	into the screen.
2004-02-29 01:33:01 +00:00
Matthias Clasen
569f248225 Implement the previous fix in a better way, small cleanups.
Sun Feb 29 01:10:09 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: Implement the previous fix in a better way,
	small cleanups.
2004-02-29 00:08:04 +00:00
Matthias Clasen
dabbac1151 Actually resize the popup window before popping up. (#135651)
Sat Feb 28 23:30:36 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_popup): Actually resize the
	popup window before popping up.  (#135651)

Sat Feb 28 23:29:35 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init):
	* gtk/gtkcombobox.c (gtk_combo_box_init): Override the default
	handler for style_set in class_init instead of connecting to
	the signal in init. (noticed by Yosh).
2004-02-28 22:28:37 +00:00
Matthias Clasen
fe3e1c95fa Support switching back to non-gridded mode. (#135169)
Sat Feb 28 01:39:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Support
	switching back to non-gridded mode.  (#135169)

Fri Feb 27 22:29:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkwidget.c (gtk_widget_can_activate_accel): Add "Since: 2.4".
2004-02-28 00:40:00 +00:00
Matthias Clasen
cc7c7d2263 Simplify, only create a new setup if appearance actually changed.
Fri Feb 27 21:42:28 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_relayout):
	* gtk/gtkcombobox.c (gtk_combo_box_style_set): Simplify, only
	create a new setup if appearance actually changed.
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear):
	* gtk/gtkcombobox.c (gtk_combo_box_get_cell_info): Make
	these more robust.  (#127623, Damon Chaplin)
2004-02-27 20:41:14 +00:00
Manish Singh
496247e083 Add function declaration for gtk_combo_box_list_remove_grabs().
Thu Feb 26 17:38:40 2004  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcombobox.c: Add function declaration for
        gtk_combo_box_list_remove_grabs().
2004-02-27 01:38:16 +00:00
Matthias Clasen
c4d2bb0a98 Classifiy Page Up/Down as cursor move, but not Home and End.
Fri Feb 27 02:33:21 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentry.c (keyval_is_cursor_move): Classifiy Page Up/Down as
	cursor move, but not Home and End.

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Lets Page Up/Down
	jump to the ends of the list, not Home and End - since we're not
	scrolling yet, a "page" is always the complete list.  (#127430, Marco
	Pesenti Gritti)

Fri Feb 27 00:39:11 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
	* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy): Don't let
	the priv pointers dangle.  (#127623, Damon Chaplin)
2004-02-27 01:34:11 +00:00
Matthias Clasen
061b9024ed Fixes for #135333, analysed by Damon Chaplin:
Thu Feb 26 23:39:07 2004  Matthias Clasen  <maclas@gmx.de>

	Fixes for #135333, analysed by Damon Chaplin:

	* gtk/gtkcombobox.c (gtk_combo_box_list_button_pressed): Don't
	grab here.
	* gtk/gtkcombobox.c (gtk_combo_box_popup): Do the grabs here,
	so that we don't forget to grab when the menu is popped via
	keynav.
	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Don't
	ungrab here.
	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Do the ungrabs here.
2004-02-26 22:40:12 +00:00
Matthias Clasen
1637a9c55b New convenience API to construct simple text combos, implemented by Damon
Thu Feb 26 22:20:44 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcomboboxentry.h:
	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new_text): New
	convenience API to construct simple text combos, implemented by
	Damon Chaplin.

	* tests/testcombo.c: Use gtk_combo_box_entry_new_text.
2004-02-26 21:40:09 +00:00
Matthias Clasen
2b7b833e04 Fixes for #12804 and #134722, Damon Chaplin:
Thu Feb 26 21:52:58 2004  Matthias Clasen  <maclas@gmx.de>

	Fixes for #12804 and #134722, Damon Chaplin:

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end):
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_start):
	Ref and sink the cell renderers here.

	* gtk/gtkcombobox.c (gtk_combo_box_finalize): Unref the cell
	renderers here, and free attributes and func_data.
2004-02-26 20:51:02 +00:00
Matthias Clasen
4e678022e5 Don't resize priv->cell_view if it is NULL. (#127804, Damon Chaplin)
Wed Feb 25 00:13:24 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed):
	* gtk/gtkcombobox.c (gtk_combo_box_list_row_changed):
	Don't resize priv->cell_view if it is NULL.  (#127804,
	Damon Chaplin)

Wed Feb 25 00:06:50 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: Add a comment about the different
	modi of this widget. Get rid of priv->hbox, and some other
	cleanups. Make sure that gtk_combo_box_unset_model() is
	always called before setting up a different mode.
2004-02-24 23:12:57 +00:00
Matthias Clasen
6ad1c89964 Add a destroy implementation in order to set priv->cell_view to NULL
Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: Add a destroy implementation in order to
	set priv->cell_view to NULL before finalize stumbles over the
	dangling pointer. This big array of pointers into the widget
	tree in GtkComboBoxPrivate is really fragile and should be
	cleaned up.
2004-02-24 00:07:15 +00:00
Matthias Clasen
4a9fac1773 Fix the allocation for the toggle button so that it actually shows up in
Mon Feb 23 02:26:15 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Fix the
	allocation for the toggle button so that it actually shows up
	in LTR list mode.

	* gtk/gtkcombobox.c (gtk_combo_box_set_column_span_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_span_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Add
	notification, and avoid excessive relayouting.
2004-02-23 01:23:27 +00:00
Matthias Clasen
f43b831398 Add notification, and avoid excessive relayouting.
Mon Feb 23 01:56:09 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_column_span_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_span_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Add
	notification, and avoid excessive relayouting.
2004-02-23 00:53:05 +00:00
Matthias Clasen
2cc8cfa0ea Split declaration and assignment of combo_box.
Mon Feb 16 00:04:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_*):
	Split declaration and assignment of combo_box.

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Remove a
	pointless cast
2004-02-15 23:05:48 +00:00
Matthias Clasen
0cd208cfee Remove arbitrary low upper limits on the xpad, ypad, width and height
Wed Feb 11 02:06:38 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Remove
	arbitrary low upper limits on the xpad, ypad, width and height
	properties.  (#129696, John Ellis)

Wed Feb 11 01:24:20 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear_attributes):
	Ugh. Don't try to free ints, even if they're stored in pointers.
	(#133997, Morten Welinder)
2004-02-11 01:09:25 +00:00
Manish Singh
4ac3998efb Add appropriate type casts for the gtk_window_set_screen() call.
Sun Feb  8 01:28:02 2004  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add appropriate
        type casts for the gtk_window_set_screen() call.
2004-02-08 09:29:11 +00:00
Matthias Clasen
41e49106e3 Make popups come up on the same screen as the combo box. (#133544, Morten
Sun Feb  8 01:44:06 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make popups
	come up on the same screen as the combo box.  (#133544,
	Morten Welinder)
2004-02-08 00:42:59 +00:00
Matthias Clasen
738eeba8d6 Actually free the lists. Pointed out by Morten Welinder.
Fri Feb  6 23:08:29 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextbtree.c (_gtk_text_btree_check):
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear_attributes):
	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear_attributes):
	Actually free the lists. Pointed out by Morten Welinder.
2004-02-06 22:25:01 +00:00
Matthias Clasen
3b15c8b232 Add a finalize function to plug a few memory leaks. (#133544, Morten
Fri Feb  6 00:45:16 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_finalize): Add a finalize
	function to plug a few memory leaks.  (#133544, Morten Welinder)
2004-02-05 23:45:21 +00:00
Matthias Clasen
5cc85a5a63 Support mnemonic_activate here as well.
Fri Feb  6 00:15:38 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_mnemonic_activate):
	Support mnemonic_activate here as well.

	* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Focus
	the button, not the tree_view.
2004-02-05 23:14:37 +00:00
Matthias Clasen
ee6d7bb5a4 Add this function, to make mnemonic_activate work for combo boxes.
Thu Feb  5 23:48:19 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Add this
	function, to make mnemonic_activate work for combo boxes.
	(#133443, Paolo Borelli)
2004-02-05 22:46:22 +00:00
Matthias Clasen
593806e0de Fix the logic of the depth one check. (#133488, Christian Persch)
Thu Feb  5 21:36:43 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): Fix the logic
	of the depth one check.  (#133488, Christian Persch)
2004-02-05 20:35:57 +00:00
Matthias Clasen
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
Matthias Clasen
6a6455d7e3 Fix memory leaks caused by the failure to free the result of
Sun Dec 21 23:17:01 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (update_node):
	(update_smart_separators):
	(_gtk_menu_is_empty):
	(find_menu_position):
	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy):
	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item):
	(gtk_combo_box_relayout): Fix memory leaks caused by the
	failure to free the result of gtk_container_get_children().
	(#127576, Yao Zhang)
2003-12-21 22:28:14 +00:00
Kristian Rietveld
2f4326e406 Fixes #108458.
Fri Dec 19 23:36:00 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes #108458.

	* gtk/gtkcelllayout.[ch]: added a reorder method.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_init),
	(gtk_tree_view_column_cell_layout_reorder): implement reorder.

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_init),
	(gtk_cell_view_cell_layout_reorder): ditto.

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init),
	(gtk_combo_box_cell_layout_reorder): ditto.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_cell_layout_init),
	(gtk_entry_completion_reorder): ditto.
2003-12-19 22:47:20 +00:00
Kristian Rietveld
375ccb28b3 Combo box flipping support.
Fri Dec 12 21:00:12 2003  Kristian Rietveld  <kris@gtk.org>

	Combo box flipping support.

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position),
	(gtk_combo_box_size_allocate): support RTL flipping (#126518,
	patch from Matthias Clasen),
	(gtk_combo_box_popup): fix popup window alignment if there's a
	cell view frame visible (#126518, patch from Semion Chichelnitsky).

	* gtk/gtkcellview.c (gtk_cell_view_expose): support RTL flipping
	(#128348, patch from Semion Chichelnitsky).
2003-12-12 20:08:58 +00:00
Kristian Rietveld
6438147763 move function to a somewhat more logical place,
Wed Nov 19 23:19:23 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function
	to a somewhat more logical place,
	(gtk_combo_box_remove_text): New function (#125262, Owen Taylor).
2003-11-19 22:26:42 +00:00
Kristian Rietveld
e9154691d1 Fixes based on comments from Owen Taylor, #125264.
Tue Nov 18 19:47:59 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes based on comments from Owen Taylor, #125264.

	* gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused
	variable,
	(gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue
	a resize,
	(gtk_cell_view_get_size_of_row): new function,
	(gtk_cell_view_set_value), (gtk_cell_view_set_valuesv),
	(gtk_cell_view_set_values), (gtk_cell_view_set_model),
	(gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row):
	s/cellview/cell_view/ in the function definitions, so they match
	with the header file.

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize
	flag again (:, and use gtk_cell_view_get_size_of_row instead of
	the measurer, remove _set_size_request call,
	(gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row
	instead of the measurer,
	(gtk_combo_box_style_set): queue a resize,
	(gtk_combo_box_size_request): update of _remeasure call,
	(gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start),
	(gtk_combo_box_cell_layout_pack_end),
	(gtk_combo_box_cell_layout_clear),
	(gtk_combo_box_set_model): get rid of the measurer,
	(gtk_combo_box_cell_layout_add_attribute),
	(gtk_combo_box_cell_layout_set_cell_data_func),
	(gtk_combo_box_cell_layout_clear_attributes): ditto and queue a
	resize instead of calling _remeasure.
2003-11-18 19:02:30 +00:00
Matthias Clasen
0725ca9d22 Add mouse wheel support. (#126517)
Mon Nov 17 23:23:49 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c: Add mouse wheel support.  (#126517)
2003-11-17 22:24:57 +00:00
Kristian Rietveld
04c21b2c9b Temporary size requisition fix. Will fix it for real tonight.
Mon Nov 17 12:58:32 2003  Kristian Rietveld  <kris@gtk.org>

	Temporary size requisition fix. Will fix it for real tonight.

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag,
	(gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine
	a good width for the child,
	(gtk_combo_box_cell_layout_add_attribute),
	(gtk_combo_box_set_cell_data_func),
	(gtk_combo_box_cell_layout_clear_attributes): update.
2003-11-17 12:10:06 +00:00
Kristian Rietveld
d777b5b46a Fixes #124373, Murray Cumming.
Mon Nov 17 00:11:21 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes #124373, Murray Cumming.

	* gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property
	is no longer construct only,
	(gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal),
	(gtk_combo_box_menu_fill): new functions,
	(gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy),
	(gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup),
	(gtk_combo_box_list_destroy): updated,
	(gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed
	functions,
	(gtk_combo_box_set_model): is now public, updated,
	(gtk_combo_box_get_model): small update.

	* gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the
	text_column property is no longer construct only,
	(gtk_combo_box_entry_set_text_column): now public,
	(gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model):
	new/changed functions.

	* tests/testcombo.c: updated.
2003-11-16 23:20:15 +00:00
Kristian Rietveld
2e2b780f97 Fix licensing (I managed to put it under GPL licensing instead of
Fri Oct 24 20:31:35 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
	gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
	under GPL licensing instead of LGPL...). (Fixes #125381, Soeren
	Sandmann).
2003-10-24 18:36:55 +00:00
Kristian Rietveld
3a5b5a0f78 Fix includes.
Thu Oct 23 20:21:16 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c,
	gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c,
	gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes.
2003-10-23 18:25:53 +00:00
Kristian Rietveld
8b34c308d0 mention in the docs that -1 is a valid value and what it means.
Wed Oct 15 22:04:59 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c (gtk_combo_box_get_active),
	(gtk_combo_box_set_active): mention in the docs that -1 is a valid
	value and what it means.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active
	item to -1 (default),
	(gtk_combo_box_entry_active_changed): do nothing when the index is
	< 0.
2003-10-15 20:18:01 +00:00
Jonathan Blandford
87a1e40eb8 New function to set the active row by iter.
Tue Oct 14 16:10:21 2003  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function
	to set the active row by iter.

	* gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function
	to get the active row by iter.
2003-10-14 20:09:39 +00:00
Matthias Clasen
9119557bc6 Move GET_PRIVATE macros from header to implementation.
Sun Oct 12 01:10:29 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkalignment.[hc]:
	* gtk/gtkcombobox.[hc]:
	* gtk/gtkcomboboxentry.[hc]:
	* gtk/gtktreemodelfilter.[hc]: Move GET_PRIVATE macros
	from header to implementation.
2003-10-11 23:12:20 +00:00
Kristian Rietveld
d75b1a1a0a for the custom child list mode, allocate the height allocation->height to
Sat Oct 11 15:37:19 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom
	child list mode, allocate the height allocation->height to the
	button instead of the height requested by the button. (Tiny
	size allocation screwup noticed by Macro Pesenti Gritti).
2003-10-11 13:39:35 +00:00
Kristian Rietveld
e6100ecd11 Deprecate. Ditto.
Fri Oct 10 19:10:12 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombo.h: Deprecate.
	* gtk/gtkoptionmenu.h: Ditto.

	* gtk/gtkcombobox.c (gtk_combo_box_size_request),
	(gtk_combo_box_size_allocate): Rework, things behave better now. Still
	needs some work on requesting enough size when taking the items in
	the list into account.

	* gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
	deprecated" guards.
	* gtk/gtkinputdialog.c: ditto.
	* gtk/gtkitemfactory.c: ditto.
	* gtk/gtkoptionmenu.c: ditto.

	* demos/gtk-demo/menus.c: remove the option menu.
	* demos/gtk-demo/sizegroup.c: replace the option menus with
	GtkComboBox.
	* demos/gtk-demo/textview.c: ditto.
	(A general GtkComboBox demo will be added later on).
2003-10-10 17:18:34 +00:00
Kristian Rietveld
7fc054e9a6 only set the model on ->priv->cell_view if ->priv->cell_view is non-NULL.
Fri Oct  3 20:50:48 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
	on ->priv->cell_view if ->priv->cell_view is non-NULL.

	* gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
	field to GtkComboBoxEntryPrivate,
	(gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
	(gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
	(gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
	a construct-only "text_column" property and reorder code to use it
	and support inheriting this widget.
2003-10-03 18:56:24 +00:00
Kristian Rietveld
316109ea09 Added API doc comments.
Thu Oct  2 23:28:02 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c: Added API doc comments.

	* gtk/gtkcomboboxentry.c: Ditto.
2003-10-02 21:30:11 +00:00
Kristian Rietveld
40743e126f implement the GtkCellLayout interface, drop packing/attribute/cell data
Wed Oct  1 22:43:40 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
	packing/attribute/cell data functions from the header,
	(gtk_cell_view_set_cell_data): added support for cell data funcs.

	* gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
	packing/attribute/cell data functions from the header, implemented
	cell data func support.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
	for the move to GtkCellLayout.

	* tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.
2003-10-01 20:51:54 +00:00
Kristian Rietveld
039c6b3bb1 set popup_in_progress to TRUE, (gtk_combo_box_menu_show): and back to
Tue Sep 30 21:43:34 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
	popup_in_progress to TRUE,
	(gtk_combo_box_menu_show): and back to FALSE here; the menu now
	won't disappear on the first button release. (Reported by Matthias
	Clasen).
2003-09-30 19:46:48 +00:00
Kristian Rietveld
b78ee57ea4 actually show the child.
Tue Sep 30 21:08:43 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543,
	Marco Pesenti Gritti).
2003-09-30 19:11:55 +00:00
Kristian Rietveld
c920afd9c5 Landing the new ComboBox. Note that only gtkcombobox.h and
Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>

	Landing the new ComboBox. Note that only gtkcombobox.h and
	gtkcomboboxentry.h are public.

	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.

	* gtk/Makefile.am, gtk/gtk.h: adding the new files.

	* tests/testcombo.c: and a new test.

	* tests/Makefile.am: adding the new test.
2003-09-26 21:57:06 +00:00
Owen Taylor
0dae051ddd Conversion to use Paolo Molaro's GtkCombo instead of GtkComboBox 1998-01-20 21:40:38 +00:00
Tim Janik
dd77b5db5a main part for GtkArgSetFunc/GtkArgGetFunc implementation.
-timj
1998-01-16 00:49:51 +00:00
Elliot Lee
284882b8c7 misc mods 1998-01-13 05:48:19 +00:00
Elliot Lee
84e1ee4bac copyright notices 1998-01-08 16:25:31 +00:00
Elliot Lee
5eee6416f5 New widget (GtkComboBox) and fixed gdk_window_init to initialize gdk_root_parent some more 1998-01-08 04:13:13 +00:00