Commit Graph

592 Commits

Author SHA1 Message Date
Matthias Clasen
af12141d2d Don't leak a path here. (#168443, Morten Welinder)
2005-02-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Don't leak a
	path here.  (#168443, Morten Welinder)
2005-02-25 19:14:18 +00:00
Matthias Clasen
d9264f1365 Consistently use gtk_tree_row_reference_valid().
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Consistently use gtk_tree_row_reference_valid().
	(gtk_combo_box_model_row_deleted): Update the displayed row in
	the cell_view.  (#167842, Gustavo Carneiro)
2005-02-24 17:57:07 +00:00
Manish Singh
a7e43ebfaf Pass gtk_widget_get_toplevel() a GTK_WIDGET.
Thu Feb 17 14:52:57 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcombobox.c: Pass gtk_widget_get_toplevel() a GTK_WIDGET.
2005-02-17 22:54:37 +00:00
Matthias Clasen
a0c5253c26 Fixes for #143829, Tommi Komulainen, Christian Persch:
2005-02-16  Matthias Clasen  <mclasen@redhat.com>

	Fixes for #143829, Tommi Komulainen, Christian Persch:

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the
	typeselect_flush_timeout when destroying the widgets
	it is operating on.
	(gtk_tree_view_ensure_interactive_directory): Add the
	popup to the window group of the toplevel it belongs to.

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget)
	(gtk_combo_box_popup): Do the same here.
2005-02-16 16:37:24 +00:00
Matthias Clasen
3a316fb562 Fix state propagation when making an insensitive combo box sensitive
2004-12-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix
	state propagation when making an insensitive combo box sensitive
	again.  (#162524, Carlos Garnacho Parro)
2004-12-30 16:15:53 +00:00
Matthias Clasen
f9403b12e3 Transfer state from the button to the cell view to get prelighting right.
2004-12-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed):
	Transfer state from the button to the cell view to get
	prelighting right.  (#156327, Ricardo Veguilla)
2004-12-24 03:44:17 +00:00
Matthias Clasen
57d366882d Pass a last item to gtk_combo_box_relayout_item. (#161050, John Finlay)
2004-12-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed): Pass a
	last item to gtk_combo_box_relayout_item.  (#161050, John Finlay)
2004-12-13 04:22:07 +00:00
Matthias Clasen
731f230c24 Only wrap if we are in the topmost menu. (#160936, John Finlay)
2004-12-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level)
	(gtk_combo_box_menu_row_changed): Only wrap if we are in the
	topmost menu.  (#160936, John Finlay)
2004-12-11 05:25:02 +00:00
Matthias Clasen
4e957a8cd0 Fix a typo in the docs. (#160826, Jay Camp)
2004-12-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Fix a typo
	in the docs.  (#160826, Jay Camp)
2004-12-09 03:58:24 +00:00
Matthias Clasen
ec6454bf02 Don't call gtk_cell_view_set_cell_data() from here.
2004-11-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (cell_view_is_sensitive): Don't call
	gtk_cell_view_set_cell_data() from here.

	* gtk/gtk.symbols: Remove gtk_cell_view_set_cell_data()

	* gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): Call
	gtk_cell_view_set_cell_data() from here.
	(gtk_cell_view_set_cell_data): Make static.

	* gtk/gtkcombobox.c (gtk_combo_box_menu_popup): Make menu mode
	work better when resizing the combo box.
2004-11-29 18:43:41 +00:00
Manish Singh
60b30ff513 gdk/linux-fb/gdkgc-fb.c gdk/win32/gdkgc-win32.c
Fri Nov 19 14:54:09 2004  Manish Singh  <yosh@gimp.org>

        * gdk/linux-fb/gdkgc-fb.c
        * gdk/win32/gdkgc-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gtk/gtkaboutdialog.c
        * gtk/gtkaction.c
        * gtk/gtkactiongroup.c
        * gtk/gtkcellrendererprogress.c
        * gtk/gtkcellview.c
        * gtk/gtkcolorbutton.c
        * gtk/gtkcombobox.c
        * gtk/gtkcomboboxentry.c
        * gtk/gtkentrycompletion.c
        * gtk/gtkfilechooserbutton.c
        * gtk/gtkmenutoolbutton.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktoggletoolbutton.c
        * gtk/gtktoolbutton.c
        * gtk/gtktoolitem.c
        * gtk/gtktreemodelfilter.c
        * gtk/gtktreeselection.c
        * gtk/gtktreeviewcolumn.c
        * gtk/gtkuimanager.c: get rid of unnecessary casts.

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
        cast away the const for g_value_set_enum. This is after the g_warning,
        so this is a hack to begin with.

        * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
        add a cast to GTK_FILE_CHOOSER for impl here.
2004-11-19 23:18:38 +00:00
Matthias Clasen
59e887534b Add more docs.
2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init): Add more docs.
2004-11-12 22:57:09 +00:00
Matthias Clasen
05a16d62a9 Use a row reference, not a path, to associate separators with their tree
2004-11-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (find_menu_by_path)
	(gtk_combo_box_menu_fill_level, gtk_combo_box_menu_row_inserted):
	Use a row reference, not a path, to associate separators
	with their tree row.
2004-11-09 16:38:57 +00:00
Matthias Clasen
14ed2beff5 Jump through a few hoops to make the tooltip on the filter combo box work
2004-11-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (file_pane_create): Jump through
	a few hoops to make the tooltip on the filter combo box work
	a bit better. This fixes #157273 and #157074.
2004-11-07 04:10:01 +00:00
Matthias Clasen
55a372042f Add the ComboCellInfo to the list. (#157528, Carlos Garnacho Parro)
2004-11-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end):
	Add the ComboCellInfo to the list.  (#157528, Carlos Garnacho
	Parro)
2004-11-06 20:16:40 +00:00
Matthias Clasen
08ef258df5 Remove this unneeded function, as it breaks state propagation.
2004-11-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_state_changed):
	Remove this unneeded function, as it breaks state propagation.
2004-11-05 21:20:09 +00:00
Matthias Clasen
f41c59cce3 Don't crash if the active_row reference has become invalid. (#157156,
2004-11-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_get_active): Don't crash
	if the active_row reference has become invalid.  (#157156,
	Christophe Fergeau)
2004-11-03 06:16:43 +00:00
Matthias Clasen
5675f113c8 Update the state of the cell view when the state of the button changes (to
2004-10-31  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Update the
	state of the cell view when the state of the button changes (to
	get prelighted drawing right).  (#138650, Frances Keenan, Christian Persch)
2004-11-01 04:38:24 +00:00
Matthias Clasen
b6aa6f0fa9 Use g_signal_connect_object() to prevent premature finalization of the
2004-10-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use
	g_signal_connect_object() to prevent premature finalization
	of the cell_editable while the key_press_event signal is
	handled.  (#156325, Olivier Andrieu)
2004-10-28 16:50:10 +00:00
Matthias Clasen
d966036d4d Resize the popup if a new model is set. (#154129, Bernd Damian)
2004-10-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Resize the
	popup if a new model is set.  (#154129, Bernd Damian)
2004-10-05 04:37:29 +00:00
Matthias Clasen
49174ac1be Add a comment regarding cell renderers to the docs.
2004-10-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Add a comment regarding
	cell renderers to the docs.
2004-10-01 19:00:47 +00:00
Matthias Clasen
f50cab885a Document the return value.
2004-09-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible):
	Document the return value.
2004-09-01 21:26:35 +00:00
Matthias Clasen
5210bf17c6 Make it compile.
2004-08-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile.

2004-08-27  Matthias Clasen  <mclasen@redhat.com>

	Fix #151112, Olexiy Avramchenko:

	* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout):
	* gtk/gtkiconview.c (scroll_timeout, layout_callback)
	(gtk_icon_view_item_accessible_idle_do_action):
	* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle)
	(popup_idle): Protect idle callbacks and timeouts with
	GDK_THREADS_ENTER/_LEAVE.

	* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
	call update_dialog() from an idle with the necessary protection.
2004-08-30 13:16:39 +00:00
Matthias Clasen
a15842e68e Don't crash if model is not set. Noted by Mariano Suarez-Alvarez.
Thu Aug 26 23:58:11 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't crash
	if model is not set. Noted by Mariano Suarez-Alvarez.
2004-08-27 03:59:05 +00:00
Matthias Clasen
e4e4aca0fc Fix #150125:
Mon Aug 16 01:35:25 2004  Matthias Clasen  <maclas@gmx.de>

	Fix #150125:

	* gtk/gtkcombobox.[hc]: Add a ::focus-on-click property and
	change the default behaviour to focus on click.

	* gtk/gtkbutton.c (gtk_button_set_focus_on_click): Typo fix.
2004-08-16 05:43:50 +00:00
Matthias Clasen
95239fca67 Remove leftover debugging output 2004-08-13 17:03:13 +00:00
Matthias Clasen
c92d4d6786 Make re-sensitivation work in menu mode.
2004-08-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Make re-sensitivation work
	in menu mode.
2004-08-13 16:50:32 +00:00
Matthias Clasen
fa966c6aa7 Fix #149547, Markus Lausser:
Thu Aug 12 23:52:12 2004  Matthias Clasen  <maclas@gmx.de>

	Fix #149547, Markus Lausser:

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate):
	* gtk/gtkcombobox.c (gtk_combo_box_size_request): Don't
	crash if size_request or size_allocate are called early.

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Protect
	against being allocated too small.
2004-08-13 04:00:29 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Matthias Clasen
0c42eed2de Ref and sink the column. (gtk_combo_box_menu_destroy): Unref the column.
Sun Aug  8 23:36:55 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Ref
	and sink the column.
	(gtk_combo_box_menu_destroy): Unref the column.

Sun Aug  8 23:35:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets):
	(gtk_drag_dest_add_text_targets): Don't leak a reference
	to the target list.
2004-08-09 03:39:06 +00:00
Matthias Clasen
b04a72a5d8 Don't stumble over separators which are not backed by model rows.
Sun Aug  8 22:52:26 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (find_menu_by_path): Don't stumble over
	separators which are not backed by model rows.
2004-08-09 02:53:31 +00:00
Matthias Clasen
0528aeae3a Oops. 2004-08-09 02:46:46 +00:00
Matthias Clasen
c1af2aa6b2 Don't leak the path.
Sun Aug  8 11:01:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active): Don't leak
	the path.
2004-08-09 02:45:18 +00:00
Matthias Clasen
f82ca65b81 Use GtkTreeViewRowSeparatorFunc instead of GtkCellRendererSepText.
Sat Aug  7 18:19:03 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkfilechooserdefault.c (save_folder_combo_create):
	(shortcuts_list_create): Use GtkTreeViewRowSeparatorFunc
	instead of GtkCellRendererSepText.  (#147864)

	* gtk/gtkcellrendererseptext.[hc]: Removed.

	* gtk/Makefile.am: Remove gtkcellrendererseptext.[hc]

Sat Aug  7 18:15:15 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_deleted):
	(gtk_combo_box_menu_row_inserted):
	(gtk_combo_box_menu_row_changed): Correctly handle
	insertion and deletion of separators in menu mode.
2004-08-07 22:21:25 +00:00
Matthias Clasen
5829010c64 Remove accidentally committed debug code.
Tue Aug  3 14:29:49 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill): Remove
	accidentally committed debug code.
2004-08-03 18:30:53 +00:00
Matthias Clasen
2cd7feb3b9 Optimize for the case that row_column and col_column are unset. (#148868,
Tue Aug  3 01:19:12 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item): Optimize
	for the case that row_column and col_column are unset.
	(#148868, Lorenzo Gil Sánchez)
2004-08-03 05:22:21 +00:00
Matthias Clasen
7d2758aa52 Rework the combo box to handle tree models. (#139582, Matt Walton)
2004-08-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Rework the combo box to handle
	tree models.  (#139582, Matt Walton)
2004-08-02 19:15:05 +00:00
Matthias Clasen
f56daaf167 *** empty log message *** 2004-07-30 22:55:28 +00:00
Matthias Clasen
1f93c4359c Change the api for separators to use a separator function instead of a
2004-07-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c: Change the api for separators to use a
	separator function instead of a boolean column.

	* tests/testcombo.c: Update to match the api change.
2004-07-30 20:55:17 +00:00
Matthias Clasen
6eca20f5c4 New function necessary to make GtkComboBox accessible. (#132847, Padraig
2004-07-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): New
	function necessary to make GtkComboBox accessible.  (#132847,
	Padraig O'Briain)
2004-07-27 16:37:37 +00:00
Matthias Clasen
9ccad0c92a Make the GtkComboBox in list mode scroll if the list is too large to fit
Mon Jul 26 00:38:27 2004  Matthias Clasen  <maclas@gmx.de>

	Make the GtkComboBox in list mode scroll if the list is too
	large to fit in the popup.  (#135543)

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add a
	scrolled window to the popup in list mode.
	(gtk_combo_box_list_position): Calculate the height of the
	popup so that it fits on the screen, set the scrollbar policy
	of the scrolled window appropriately.
	(gtk_combo_box_popup): Use the height calculated by
	gtk_combo_box_list_position().
	(gtk_combo_box_remeasure): Don't add unnecessary padding.
	(gtk_combo_box_size_request): But add the focus with here.
	(gtk_combo_box_list_setup): Connect to enter notify on the
	popup window to activate auto scrolling.
	(gtk_combo_box_list_enter_notify): Activate auto scrolling.
	(gtk_combo_box_list_button_pressed): Setup a timeout for
	auto scrolling.
	(gtk_combo_box_list_scroll_timeout): Timeout function for
	auto scrolling.
	(gtk_combo_box_list_auto_scroll): Scroll the list when the
	pointer leaves the window.
2004-07-26 04:50:07 +00:00
Matthias Clasen
8912c654ef Avoid compiler warnings. 2004-07-22 05:16:58 +00:00
Matthias Clasen
b23415ee8b Don't leak the list store. (#148135, Crispin Flowerday)
Wed Jul 21 22:54:33 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new_text):
	Don't leak the list store.  (#148135, Crispin Flowerday)
2004-07-22 03:00:48 +00:00
Matthias Clasen
3d484599d8 Don't leak the list store. (#148134, Crispin Flowerday)
* gtk/gtkcombobox.c (gtk_combo_box_new_text): Don't leak the
	list store.  (#148134, Crispin Flowerday)
2004-07-22 02:48:11 +00:00
Matthias Clasen
79ace2b389 Don't leak the menu. (#148110, Tommi Komulainen)
Wed Jul 21 22:35:47 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellview.c (gtk_cell_view_finalize): Don't leak the
	menu.  (#148110, Tommi Komulainen)
2004-07-22 02:36:54 +00:00
Matthias Clasen
fe842a5496 Make GtkCellView public, since people seem to have uses for it, it is
2004-07-19  Matthias Clasen  <mclasen@redhat.com>

	Make GtkCellView public, since people seem to have uses for it,
	it is clean API and we were just conservative in not making it
	public initially. At the same time, get rid of GtkCellViewMenuItem,
	which doesn't have any function which can't be served by a
	GtkMenuItem with a GtkCellView child.

	* gtk/gtk.h: Include gtkcellview.h

	* gtk/Makefile.am (gtk_public_h_sources):

	* gtk/Makefile.am (gtk_private_h_sources):
	(gtk_c_sources): Remove gtkcellviewmenuitem.[hc]
	* gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by
	GtkMenuItem with a GtkCellView child.

	* gtk/gtkcellviewmenuitem.[hc]: Removed.
2004-07-19 19:07:27 +00:00
Soeren Sandmann
1952300896 Create an empty target list if targets is NULL.
Sun Jul 18 15:28:24 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
	empty target list if targets is NULL.

	* configure.in: Add check for X11/extensions/sync.h. (#147416,
	Morten Welinder)
2004-07-18 15:14:05 +00:00
Matthias Clasen
1d45cbd831 Make scrolling work if no item is selected. (gtk_cell_editable_key_press):
2004-07-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make
	scrolling work if no item is selected.
	(gtk_cell_editable_key_press): Don't eat space.
2004-07-16 21:13:21 +00:00
Matthias Clasen
c0af1c1aaa Add a combo box cell renderer. 2004-07-16 20:27:40 +00:00
Matthias Clasen
d8df361813 Don't iterate multiple times over some of the children.
2004-07-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_forall): Don't iterate
	multiple times over some of the children.
2004-07-16 14:33:21 +00:00
Matthias Clasen
20efb51b01 Ugh, another compile error. 2004-07-13 14:50:11 +00:00
Matthias Clasen
dcffb53f0a Don't crash if unrealized.
2004-07-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't
	crash if unrealized.
2004-07-13 13:54:13 +00:00
Matthias Clasen
4a6f874558 Forgotten file. 2004-07-12 16:15:55 +00:00
Matthias Clasen
1aa00e5215 Support separators in combo boxes and more generally in tree views
2004-07-07  Matthias Clasen  <mclasen@redhat.com>

	Support separators in combo boxes and more generally in tree
	views  (#135873):

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
	Add a ::row-separator-column property with getter and setter,
	which can indicate a boolean model column to determine which
	rows are separators.

	* gtk/gtkcombobox.c: Display separator rows as separator menu
	items in menu mode, and by using the new treeview separator
	functionality in list mode.

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func):
	* gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func):
	Add a callback to determine whether a row is a separator.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose):
	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
	* gtk/gtktreeview.c (validate_row): Use the new callback
	to determine whether a row is a separator, and draw it
	as a separator then. Since separators should take up less
	vertical space than regular rows, this requires removing
	the redundant MAX(...,expander_size) calls which appear in
	many places. Instead, the MAX() is now only done in
	validate_row(), and only if the row is not a separator.
	To catch possible side effects of this intrusive change,
	I have left EXPANDER_MAX() calls in place of the MAX() calls
	which will emit a warning if something breaks. They should
	be removed before 2.6.

	* gtk/gtktreeselection.c (row_is_selectable): Don't let
	separator rows be selected.

	* tests/testcombo.c (create_blaat): Add a separator column.
2004-07-07 15:15:35 +00:00
Matthias Clasen
6a9e67331f Unset the displayed row when unsetting the model. (#138560, Christian
Fri Jul  2 23:34:33 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Unset the displayed
	row when unsetting the model.  (#138560, Christian Persch)
2004-07-03 03:37:44 +00:00
Matthias Clasen
e1a243138a Reflect the last change in the docs.
Sat Jun 26 00:04:36 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the
	last change in the docs.
2004-06-26 04:05:25 +00:00
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