Commit Graph

592 Commits

Author SHA1 Message Date
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