diff options
author | Michael Meeks <michael@ximian.com> | 2001-10-11 06:14:46 +0000 |
---|---|---|
committer | Michael Meeks <michael@src.gnome.org> | 2001-10-11 06:14:46 +0000 |
commit | 0093f90c65c5e67e409327f0892f67c12ccc3c8a (patch) | |
tree | a7caed88e32a056f283b88078e8547fee6b16ae8 /gtk/gtkcombo.c | |
parent | 7eb131fdf17c161520f3eea3ab9d4ac6801f4cd1 (diff) | |
download | gtk+-0093f90c65c5e67e409327f0892f67c12ccc3c8a.tar.gz |
add enable_empty and value_in_list properties.
2001-10-10 Michael Meeks <michael@ximian.com>
* gtk/gtkcombo.c (gtk_combo_class_init): add enable_empty
and value_in_list properties.
(gtk_combo_set_value_in_list): notify change.
(gtk_combo_set_property, gtk_combo_get_property): impl. prop.
Diffstat (limited to 'gtk/gtkcombo.c')
-rw-r--r-- | gtk/gtkcombo.c | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/gtk/gtkcombo.c b/gtk/gtkcombo.c index 01ecbc5ba1..8a52efc436 100644 --- a/gtk/gtkcombo.c +++ b/gtk/gtkcombo.c @@ -51,7 +51,9 @@ enum { PROP_0, PROP_ENABLE_ARROW_KEYS, PROP_ENABLE_ARROWS_ALWAYS, - PROP_CASE_SENSITIVE + PROP_CASE_SENSITIVE, + PROP_ALLOW_EMPTY, + PROP_VALUE_IN_LIST }; static void gtk_combo_class_init (GtkComboClass *klass); @@ -148,6 +150,22 @@ gtk_combo_class_init (GtkComboClass * klass) _("Whether list item matching is case sensitive"), FALSE, G_PARAM_READABLE | G_PARAM_WRITABLE)); + + g_object_class_install_property (gobject_class, + PROP_ALLOW_EMPTY, + g_param_spec_boolean ("allow_empty", + _("Allow empty"), + _("Whether an empty value may be entered in this field"), + TRUE, + G_PARAM_READABLE | G_PARAM_WRITABLE)); + + g_object_class_install_property (gobject_class, + PROP_VALUE_IN_LIST, + g_param_spec_boolean ("value_in_list", + _("Value in list"), + _("Whether entered values must already be present in the list"), + FALSE, + G_PARAM_READABLE | G_PARAM_WRITABLE)); oclass->destroy = gtk_combo_destroy; @@ -876,6 +894,10 @@ gtk_combo_set_value_in_list (GtkCombo * combo, gboolean val, gboolean ok_if_empt combo->value_in_list = val; combo->ok_if_empty = ok_if_empty; + g_object_freeze_notify (G_OBJECT (combo)); + g_object_notify (G_OBJECT (combo), "value_in_list"); + g_object_notify (G_OBJECT (combo), "allow_empty"); + g_object_thaw_notify (G_OBJECT (combo)); } void @@ -1021,17 +1043,20 @@ gtk_combo_set_property (GObject *object, switch (prop_id) { case PROP_ENABLE_ARROW_KEYS: - /* This call does the notification */ gtk_combo_set_use_arrows (combo, g_value_get_boolean (value)); break; case PROP_ENABLE_ARROWS_ALWAYS: - /* This call does the notification */ gtk_combo_set_use_arrows_always (combo, g_value_get_boolean (value)); break; case PROP_CASE_SENSITIVE: - /* This call does the notification */ gtk_combo_set_case_sensitive (combo, g_value_get_boolean (value)); break; + case PROP_ALLOW_EMPTY: + combo->ok_if_empty = g_value_get_boolean (value); + break; + case PROP_VALUE_IN_LIST: + combo->value_in_list = g_value_get_boolean (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1058,6 +1083,12 @@ gtk_combo_get_property (GObject *object, case PROP_CASE_SENSITIVE: g_value_set_boolean (value, combo->case_sensitive); break; + case PROP_ALLOW_EMPTY: + g_value_set_boolean (value, combo->ok_if_empty); + break; + case PROP_VALUE_IN_LIST: + g_value_set_boolean (value, combo->value_in_list); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; |