[gtk+] Add gtk_combo_box_text_new_with_entry



commit 99cfbecf466193f2a132e4476f92723b8c51e4a5
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Oct 15 16:16:45 2010 -0400

    Add gtk_combo_box_text_new_with_entry
    
    Also, make use of the configured entry_text_column.

 gtk/gtk.symbols       |    1 +
 gtk/gtkcomboboxtext.c |   29 ++++++++++++++++++++++-------
 gtk/gtkcomboboxtext.h |    1 +
 3 files changed, 24 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index ee96eb0..1cf57dc 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -847,6 +847,7 @@ gtk_combo_box_text_get_active_text
 gtk_combo_box_text_get_type G_GNUC_CONST
 gtk_combo_box_text_insert_text
 gtk_combo_box_text_new
+gtk_combo_box_text_new_with_entry
 gtk_combo_box_text_prepend_text
 gtk_combo_box_text_remove_text
 #endif
diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c
index f1ecb8a..d997723 100644
--- a/gtk/gtkcomboboxtext.c
+++ b/gtk/gtkcomboboxtext.c
@@ -63,6 +63,26 @@ gtk_combo_box_text_new (void)
   return g_object_new (GTK_TYPE_COMBO_BOX_TEXT, NULL);
 }
 
+
+/**
+ * gtk_combo_box_text_new_with_entry:
+ *
+ * Creates a new #GtkComboBoxText, which is a #GtkComboBox just displaying
+ * strings. The combo box created by this function has an entry.
+ *
+ * Return value: a new #GtkComboBoxText
+ *
+ * Since: 2.24
+ */
+GtkWidget *
+gtk_combo_box_text_new_with_entry (void)
+{
+  return g_object_new (GTK_TYPE_COMBO_BOX_TEXT,
+                       "has-entry", TRUE,
+                       "entry-text-column", 0,
+                       NULL);
+}
+
 /**
  * gtk_combo_box_text_append_text:
  * @combo_box: A #GtkComboBoxText
@@ -120,7 +140,7 @@ gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
 
   store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box)));
   g_return_if_fail (GTK_IS_LIST_STORE (store));
-  text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); 
+  text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box));
   column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), text_column);
   g_return_if_fail (column_type == G_TYPE_STRING);
 
@@ -151,7 +171,7 @@ gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
 
   store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box)));
   g_return_if_fail (GTK_IS_LIST_STORE (store));
-  text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); 
+  text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box));
   column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), text_column);
   g_return_if_fail (column_type == G_TYPE_STRING);
 
@@ -175,8 +195,6 @@ gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
   GtkTreeModel *model;
   GtkListStore *store;
   GtkTreeIter iter;
-  gint text_column;
-  gint column_type;
 
   g_return_if_fail (GTK_IS_COMBO_BOX_TEXT (combo_box));
   g_return_if_fail (position >= 0);
@@ -184,9 +202,6 @@ gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
   model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box));
   store = GTK_LIST_STORE (model);
   g_return_if_fail (GTK_IS_LIST_STORE (store));
-  text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); 
-  column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), text_column);
-  g_return_if_fail (column_type == G_TYPE_STRING);
 
   if (gtk_tree_model_iter_nth_child (model, &iter, NULL, position))
     gtk_list_store_remove (store, &iter);
diff --git a/gtk/gtkcomboboxtext.h b/gtk/gtkcomboboxtext.h
index 455dd85..a776005 100644
--- a/gtk/gtkcomboboxtext.h
+++ b/gtk/gtkcomboboxtext.h
@@ -59,6 +59,7 @@ struct _GtkComboBoxTextClass
 
 GType         gtk_combo_box_text_get_type        (void) G_GNUC_CONST;
 GtkWidget*    gtk_combo_box_text_new             (void);
+GtkWidget*    gtk_combo_box_text_new_with_entry  (void);
 void          gtk_combo_box_text_append_text     (GtkComboBoxText     *combo_box,
                                                   const gchar         *text);
 void          gtk_combo_box_text_insert_text     (GtkComboBoxText     *combo_box,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]