Commit Graph

46 Commits

Author SHA1 Message Date
Matthew Barnes
7ae4a06d1f GtkComboBox: Improve gtk_combo_box_set_active_id
- Passing a NULL ID string should be equivalent to
  gtk_combo_box_set_active (combo_box, -1).
- Use g_strcmp0() instead of strcmp() when comparing
  ID strings to avoid a crash when an ID is NULL.
- Return a boolean indicating if the ID was found or not.

https://bugzilla.gnome.org/show_bug.cgi?id=647806
2011-04-26 07:59:53 -04:00
Tristan Van Berkom
68aa336f5f Removed TABs and trailing whitespace from GtkComboBox and GtkTreeMenu 2011-01-05 00:14:25 +09:00
Tristan Van Berkom
57857f13df Added new constructors gtk_combo_box_new_with_area and gtk_combo_box_new_with_area_and_entry. 2011-01-04 23:37:13 +09:00
Ryan Lortie
922324553b Bug 619148 - "active ID" properties (GtkComboBox)
Based on a patch by Matthias, add an "active-id" property for
GtkComboBox and add some convenience API for GtkComboBoxText.

Also, add a test case to gtk-demo.
2010-11-30 00:29:16 -05:00
Matthias Clasen
ac3fe174f7 GtkComboBox: Add a constructor that takes a model and adds an entry
https://bugzilla.gnome.org/show_bug.cgi?id=633050
2010-10-29 12:28:42 -04:00
Matthias Clasen
7651c231e0 Revert the id-column patch
It didn't quite turn out as I wanted it.
I'll put it in bug 619148 for now.
2010-10-23 19:34:20 +02:00
Matthias Clasen
9fb36fff36 Add a way to associate numeric ids with combobox values
This will let us use combo boxes as property editors for
GSettings enmerations easily.
2010-10-23 02:31:30 +02:00
Matthias Clasen
0219eea4d7 Remove GtkComboBoxEntry and the combo box text api 2010-10-20 11:02:03 +02:00
Matthias Clasen
4824a73084 Add padding to class structs 2010-10-19 19:07:36 +02:00
Tristan Van Berkom
31abdf723a Allow GtkComboBox popup to be wider than the combo itself.
This patch adds a GtkComboBox:popup-fixed-width to decide if the
popup's width should be a fixed width matching the combo's allocated width.

The patch includes a kindof hack to work around treeviews currently
not supporting height-for-width geometry (for list-mode only), this
hack can be safely removed once treeviews start reporting natural
widths properly.
2010-10-17 14:11:27 +09:00
Matthias Clasen
43250e8faf Deprecate the old combobox text convenience api 2010-10-15 16:58:27 -04:00
Tristan Van Berkom
9612c64817 Deprecate GtkComboBoxEntry in favor of added properties to GtkComboBox
GtkComboBox now sports a construct-only "has-entry" property which
decides if it uses a GtkEntry to allow additional user input. Also
it has a new "entry-text-column" to fetch strings for the entry
from the model.

This patch deprecates the GtkComboBoxEntry and updates the rest of GTK+
to use the new semantics on GtkComboBox instead.

GtkComboBoxEntry will be removed altogether before GTK+ 3, in a
later commit.
2010-10-13 21:52:27 -04:00
Javier Jardón
56cc11a416 gtkcombobox: unseal private pointer 2010-07-13 19:40:46 +02:00
Matthias Clasen
bd4609b140 Merge the xi2-for-master branch 2010-05-25 18:38:44 -04:00
Michael Natterer
5e29973773 Remove all traces of GDK_PIXBUF/GTK_DISABLE_SINGLE_INCLUDES
...and disallow inclusion of individual files unconditionally.
2010-05-03 01:51:18 +02:00
Javier Jardón
325bd9299a Use GtkCellEditable::editing-canceled
GtkCellEditable::editing-canceled property was added in 2.19 cycle,
so we should make the code that currently uses entry->editing_canceled
directly go through the property

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599213
2009-12-04 02:50:57 +01:00
Matthias Clasen
7d85757776 Bug 382291 – Automatically dim the combobox when the model is empty
2008-08-04  Matthias Clasen  <mclasen@redhat.com>

        Bug 382291 – Automatically dim the combobox when the model is empty

        * gtk/gtk.symbols:
        * gtkcombobox.[hc]: Add a GtkComboBox::button-sensitivity
        property with getter and setter to control the sensitity of
        empty combo boxes. Patch by Carlos Garnacho, Sven Herzberg,
        Christian Dywan and others.

        * README.in: Add a note about automatic combobox sensitivity.


svn path=/trunk/; revision=20997
2008-08-04 23:40:36 +00:00
Tim Janik
e5fa194d70 Seal priv pointer in GtkComboBox.
svn path=/trunk/; revision=20558
2008-06-20 11:04:08 +00:00
Michael Natterer
fe8a946e87 deprecate GtkDestroyNotify.
2008-06-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktypeutils.h: deprecate GtkDestroyNotify.

	* gtk/gtkactiongroup.[ch]
	* gtk/gtkcombobox.[ch]
	* gtk/gtkcontainer.[ch]
	* gtk/gtkliststore.[ch]
	* gtk/gtkmain.[ch]
	* gtk/gtkmenu.c
	* gtk/gtkstock.[ch]
	* gtk/gtktreedatalist.[ch]
	* gtk/gtktreemodelfilter.[ch]
	* gtk/gtktreemodelsort.[ch]
	* gtk/gtktreeprivate.h
	* gtk/gtktreeselection.[ch]
	* gtk/gtktreesortable.[ch]
	* gtk/gtktreestore.[ch]
	* gtk/gtktreeview.[ch]
	* gtk/gtktreeviewcolumn.[ch]: s/GtkDestroyNotify/GDestroyNotify/g.


svn path=/trunk/; revision=20448
2008-06-18 09:12:32 +00:00
Michael Natterer
eff99c282c define __GTK_H_INSIDE__ around including all other headers.
2008-05-28  Michael Natterer  <mitch@imendio.com>

	* gtk/gtk.h: define __GTK_H_INSIDE__ around including all other
	headers.

	* gtk/gtktypebuiltins.h.template
	* gtk/gtkversion.h.in
	* gtk/gtk*.h: add single-include guards that #error out if
	GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is
	included individually.

	* gtk/gtkprintbackend.h
	* gtk/gtkprinter-private.h
	* gtk/gtktextlayout.h
	* gtk/gtktexttagprivate.h
	* gtk/gtktexttypes.h
	* gtk/gtktreedatalist.h: include <gtk/gtk.h> instead of individual
	headers in these private or semi-private headers.

	* gtk/gtkimmodule.h: also here because it's not in gtk.h.

	* gtk/gtkpagesetupunixdialog.h
	* gtk/gtkprinter.h
	* gtk/gtkprintjob.h
	* gtk/gtkprintunixdialog.h: likewise in the gtkunixprint headers.

	* gtk/gtkclist.h
	* gtk/gtkcombo.h
	* gtk/gtkctree.h
	* gtk/gtkfilesel.h
	* gtk/gtkitemfactory.h
	* gtk/gtklist.h
	* gtk/gtklistitem.h
	* gtk/gtkoldeditable.h
	* gtk/gtkoptionmenu.h
	* gtk/gtkpixmap.h
	* gtk/gtkpreview.h
	* gtk/gtksignal.h
	* gtk/gtktipsquery.h: whenever possible, include only <gtk/gtk.h>
	instead of individual headers in these deprecated headers. They
	don't get included at all when GTK_DISABLE_DEPRECATED is defined,
	so if an app needs them anyway, it must undef GTK_DISABLE_DEPRECATED
	and include them individually, which should continue to work.

	* gtk/gtkclist.c: include "gtkctree.h" because of the change
	above.


svn path=/trunk/; revision=20221
2008-05-28 15:07:04 +00:00
Matthias Clasen
adcf33fa4d Add a tearoff-title property, with getter and setter. (#316482, Olexiy
2005-11-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkcombobox.[hc]: Add a tearoff-title property,
	with getter and setter.  (#316482, Olexiy Avramchenko)

	* tests/testcombo.c (main): Test gtk_combo_box_set_title
2005-11-21 16:01:56 +00:00
Matthias Clasen
b82af5ce89 Make gtk_combo_box_get_active_text do the right thing for GtkComboBoxEntry
2005-04-01  Matthias Clasen  <mclasen@redhat.com>

	Make gtk_combo_box_get_active_text do the right thing for
	GtkComboBoxEntry (#171373, Robert Staudinger)

	* gtk/gtkcombobox.h: Add a get_active_text vfunc.

	* gtk/gtkcombobox.c (gtk_combo_box_real_get_active_text): And
	implement it here.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text):
	Implement get_active_text by always returning the content of
	the entry.
2005-04-01 20:53:04 +00:00
Matthias Clasen
b69987f217 Mark as const.
2004-11-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.h (gtk_ui_manager_get_type):
	* gtk/gtktreeview.h (gtk_tree_view_get_type):
	* gtk/gtktreeviewcolumn.h (gtk_tree_view_column_get_type):
	* gtk/gtktreestore.h (gtk_tree_store_get_type):
	* gtk/gtktreeselection.h (gtk_tree_selection_get_type):
	* gtk/gtktreemodelfilter.h (gtk_tree_model_filter_get_type):
	* gtk/gtktreemodel.h (gtk_tree_iter_get_type):
	(gtk_tree_path_get_type):
	(gtk_tree_row_reference_get_type):
	* gtk/gtktoolitem.h (gtk_tool_item_get_type):
	* gtk/gtktoolbutton.h (gtk_tool_button_get_type):
	* gtk/gtktoggleaction.h (gtk_toggle_action_get_type):
	* gtk/gtkthemes.h (gtk_theme_engine_get_type):
	* gtk/gtktextiter.h (gtk_text_iter_get_type):
	* gtk/gtksettings.h (gtk_settings_get_type):
	* gtk/gtkselection.h (gtk_selection_data_get_type):
	* gtk/gtkradioaction.h (gtk_radio_action_get_type):
	* gtk/gtkmenutoolbutton.h (gtk_menu_tool_button_get_type):
	* gtk/gtkliststore.h (gtk_list_store_get_type):
	* gtk/gtkiconview.h (gtk_icon_view_get_type):
	* gtk/gtkicontheme.h (gtk_icon_info_get_type):
	* gtk/gtkiconfactory.h (gtk_icon_factory_get_type):
	(gtk_icon_set_get_type):
	(gtk_icon_source_get_type):
	* gtk/gtkfilesystemwin32.h (gtk_file_system_win32_get_type):
	* gtk/gtkfilesystemunix.h (gtk_file_system_unix_get_type):
	* gtk/gtkfilesystem.h (gtk_file_folder_get_type):
	(gtk_file_info_get_type, gtk_file_path_get_type):
	(gtk_file_system_get_type):
	* gtk/gtkfilefilter.h (gtk_file_filter_get_type):
	* gtk/gtkfilechooserwidget.h (gtk_file_chooser_widget_get_type):
	* gtk/gtkfilechooser.h (gtk_file_chooser_get_type):
	* gtk/gtkfilechooserdialog.h (gtk_file_chooser_dialog_get_type):
	* gtk/gtkexpander.h (gtk_expander_get_type):
	* gtk/gtkentrycompletion.h (gtk_entry_completion_get_type):
	* gtk/gtkcombobox.h (gtk_combo_box_get_type):
	* gtk/gtkcomboboxentry.h (gtk_combo_box_entry_get_type):
	* gtk/gtkclipboard.h (gtk_clipboard_get_type):
	* gtk/gtkcellview.h (gtk_cell_view_get_type):
	* gtk/gtkcellrenderertoggle.h (gtk_cell_renderer_toggle_get_type):
	* gtk/gtkcellrenderertext.h (gtk_cell_renderer_text_get_type):
	* gtk/gtkcellrendererprogress.h (gtk_cell_renderer_progress_get_type):
	* gtk/gtkcellrendererpixbuf.h (gtk_cell_renderer_pixbuf_get_type):
	* gtk/gtkcellrenderercombo.h (gtk_cell_renderer_combo_get_type):
	* gtk/gtkcelllayout.h (gtk_cell_layout_get_type):
	* gtk/gtkactiongroup.h (gtk_action_group_get_type):
	* gtk/gtkaction.h (gtk_action_get_type):
	* gtk/gtkaccessible.h (gtk_accessible_get_type):
	* gtk/gtkaccelmap.h (gtk_accel_map_get_type):
	* gtk/gtkaccelgroup.h (gtk_accel_group_get_type):
	* gtk/gtkmessagedialog.h (gtk_message_dialog_get_type): Mark as const.

	* gtk/gtkicontheme.h:  Don't mark gtk_icon_theme_error_quark()
	as const, to be consistent with all the other error_quark
	functions. (technically they are const, but since these are
	called only in error paths, giving the compiler better
	optimization opportunities doesn't matter much)

	* gtk/gtk.symbols:
	* gdk/gdk.symbols: Add attribute annotations.

	* gtk/makegtkalias.pl:
	* gdk/makegdkalias.pl: Keep attribute annotations, but strip PRIVATE.

	* gtk/Makefile.am (gtk.def):
	* gdk/Makefile.am (gdk.def): Strip attribute annotations, but keep
	PRIVATE.
2004-11-23 20:02:15 +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
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
c0af1c1aaa Add a combo box cell renderer. 2004-07-16 20:27:40 +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
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
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
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
b46824dfc8 A forgotten file. 2004-02-17 20:48:25 +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
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
7cd9dc32da add padding to the class structure. ditto. ditto.
Wed Oct 15 22:31:09 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcombobox.h: add padding to the class structure.
	* gtk/gtkcomboboxentry.h: ditto.
	* gtk/gtkentrycompletion.h: ditto.
2003-10-15 20:33:17 +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
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
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
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