summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/gtk/gtk-docs.sgml1
-rw-r--r--docs/reference/gtk/gtk3-sections.txt27
-rw-r--r--docs/reference/gtk/gtk3.types1
-rw-r--r--gtk/Makefile.am2
-rw-r--r--gtk/gtk.h1
-rw-r--r--gtk/gtk.symbols19
-rw-r--r--gtk/gtkbuilder.c1
-rw-r--r--gtk/gtkcombobox.c239
-rw-r--r--gtk/gtkcombobox.h20
-rw-r--r--gtk/gtkcomboboxentry.c529
-rw-r--r--gtk/gtkcomboboxentry.h81
11 files changed, 3 insertions, 918 deletions
diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml
index 146665e799..13d964de53 100644
--- a/docs/reference/gtk/gtk-docs.sgml
+++ b/docs/reference/gtk/gtk-docs.sgml
@@ -154,7 +154,6 @@
<title>Menus, Combo Box, Toolbar</title>
<xi:include href="xml/gtkcombobox.xml" />
<xi:include href="xml/gtkcomboboxtext.xml" />
- <xi:include href="xml/gtkcomboboxentry.xml" />
<xi:include href="xml/gtkmenu.xml" />
<xi:include href="xml/gtkmenubar.xml" />
<xi:include href="xml/gtkmenuitem.xml" />
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index c710838587..363e86afc8 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -781,12 +781,6 @@ gtk_combo_box_get_active_iter
gtk_combo_box_set_active_iter
gtk_combo_box_get_model
gtk_combo_box_set_model
-gtk_combo_box_new_text
-gtk_combo_box_append_text
-gtk_combo_box_insert_text
-gtk_combo_box_prepend_text
-gtk_combo_box_remove_text
-gtk_combo_box_get_active_text
gtk_combo_box_popup_for_device
gtk_combo_box_popup
gtk_combo_box_popdown
@@ -817,27 +811,6 @@ gtk_combo_box_get_type
</SECTION>
<SECTION>
-<FILE>gtkcomboboxentry</FILE>
-<TITLE>GtkComboBoxEntry</TITLE>
-GtkComboBoxEntry
-gtk_combo_box_entry_new
-gtk_combo_box_entry_new_with_model
-gtk_combo_box_entry_new_text
-gtk_combo_box_entry_set_text_column
-gtk_combo_box_entry_get_text_column
-<SUBSECTION Standard>
-GTK_TYPE_COMBO_BOX_ENTRY
-GTK_COMBO_BOX_ENTRY
-GTK_COMBO_BOX_ENTRY_CLASS
-GTK_IS_COMBO_BOX_ENTRY
-GTK_IS_COMBO_BOX_ENTRY_CLASS
-GTK_COMBO_BOX_ENTRY_GET_CLASS
-<SUBSECTION Private>
-GtkComboBoxEntryPrivate
-gtk_combo_box_entry_get_type
-</SECTION>
-
-<SECTION>
<FILE>gtkcomboboxtext</FILE>
<TITLE>GtkComboBoxText</TITLE>
GtkComboBoxText
diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types
index 2af1aaa7fc..5c78b15493 100644
--- a/docs/reference/gtk/gtk3.types
+++ b/docs/reference/gtk/gtk3.types
@@ -40,7 +40,6 @@ gtk_clipboard_get_type
gtk_color_button_get_type
gtk_color_selection_dialog_get_type
gtk_color_selection_get_type
-gtk_combo_box_entry_get_type
gtk_combo_box_get_type
gtk_combo_box_text_get_type
gtk_container_get_type
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 4943fb5041..05ee07b83f 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -187,7 +187,6 @@ gtk_public_h_sources = \
gtkcolorsel.h \
gtkcolorseldialog.h \
gtkcombobox.h \
- gtkcomboboxentry.h \
gtkcomboboxtext.h \
gtkcontainer.h \
gtkdebug.h \
@@ -446,7 +445,6 @@ gtk_base_c_sources = \
gtkcolorsel.c \
gtkcolorseldialog.c \
gtkcombobox.c \
- gtkcomboboxentry.c \
gtkcomboboxtext.c \
gtkcontainer.c \
gtkdialog.c \
diff --git a/gtk/gtk.h b/gtk/gtk.h
index 36764b1c75..c4f3824bda 100644
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -71,7 +71,6 @@
#include <gtk/gtkcolorsel.h>
#include <gtk/gtkcolorseldialog.h>
#include <gtk/gtkcombobox.h>
-#include <gtk/gtkcomboboxentry.h>
#include <gtk/gtkcomboboxtext.h>
#include <gtk/gtkcontainer.h>
#include <gtk/gtkdebug.h>
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index b10ef1c53f..f9f0a22e4f 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -791,10 +791,8 @@ gtk_color_selection_dialog_get_color_selection
#if IN_HEADER(__GTK_COMBO_BOX_H__)
#if IN_FILE(__GTK_COMBO_BOX_C__)
-gtk_combo_box_append_text
gtk_combo_box_get_active
gtk_combo_box_get_active_iter
-gtk_combo_box_get_active_text
gtk_combo_box_get_add_tearoffs
gtk_combo_box_get_column_span_column
gtk_combo_box_get_entry_text_column
@@ -809,16 +807,12 @@ gtk_combo_box_get_button_sensitivity
gtk_combo_box_get_title
gtk_combo_box_get_type G_GNUC_CONST
gtk_combo_box_get_wrap_width
-gtk_combo_box_insert_text
gtk_combo_box_new
-gtk_combo_box_new_text
gtk_combo_box_new_with_entry
gtk_combo_box_new_with_model
gtk_combo_box_popdown
gtk_combo_box_popup
gtk_combo_box_popup_for_device
-gtk_combo_box_prepend_text
-gtk_combo_box_remove_text
gtk_combo_box_set_active
gtk_combo_box_set_active_iter
gtk_combo_box_set_add_tearoffs
@@ -848,19 +842,6 @@ gtk_combo_box_text_remove
#endif
#endif
-#if IN_HEADER(__GTK_COMBO_BOX_ENTRY_H__)
-#if IN_FILE(__GTK_COMBO_BOX_ENTRY_C__)
-#ifndef GTK_DISABLE_DEPRECATED
-gtk_combo_box_entry_get_text_column
-gtk_combo_box_entry_get_type G_GNUC_CONST
-gtk_combo_box_entry_new
-gtk_combo_box_entry_new_text
-gtk_combo_box_entry_new_with_model
-gtk_combo_box_entry_set_text_column
-#endif
-#endif
-#endif
-
#if IN_HEADER(__GTK_CONTAINER_H__)
#if IN_FILE(__GTK_CONTAINER_C__)
gtk_container_add
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 13c0f4b3c9..3a34fee99d 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -221,7 +221,6 @@
* <link linkend="GtkCellLayout-BUILDER-UI">GtkCellLayout</link>,
* <link linkend="GtkColorSelectionDialog-BUILDER-UI">GtkColorSelectionDialog</link>,
* <link linkend="GtkFontSelectionDialog-BUILDER-UI">GtkFontSelectionDialog</link>,
- * <link linkend="GtkComboBoxEntry-BUILDER-UI">GtkComboBoxEntry</link>,
* <link linkend="GtkExpander-BUILDER-UI">GtkExpander</link>,
* <link linkend="GtkFrame-BUILDER-UI">GtkFrame</link>,
* <link linkend="GtkListStore-BUILDER-UI">GtkListStore</link>,
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index 09e58999b0..69f6078f21 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -334,7 +334,6 @@ static void gtk_combo_box_set_active_internal (GtkComboBox *combo_box,
GtkTreePath *path);
static void gtk_combo_box_check_appearance (GtkComboBox *combo_box);
-static gchar * gtk_combo_box_real_get_active_text (GtkComboBox *combo_box);
static void gtk_combo_box_real_move_active (GtkComboBox *combo_box,
GtkScrollType scroll);
static void gtk_combo_box_real_popup (GtkComboBox *combo_box);
@@ -552,8 +551,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
GtkWidgetClass *widget_class;
GtkBindingSet *binding_set;
- klass->get_active_text = gtk_combo_box_real_get_active_text;
-
container_class = (GtkContainerClass *)klass;
container_class->forall = gtk_combo_box_forall;
container_class->add = gtk_combo_box_add;
@@ -587,10 +584,10 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
*
* The changed signal is emitted when the active
* item is changed. The can be due to the user selecting
- * a different item from the list, or due to a
+ * a different item from the list, or due to a
* call to gtk_combo_box_set_active_iter().
- * It will also be emitted while typing into a GtkComboBoxEntry,
- * as well as when selecting an item from the GtkComboBoxEntry's list.
+ * It will also be emitted while typing into the entry of a combo box
+ * with an entry.
*
* Since: 2.4
*/
@@ -5348,236 +5345,6 @@ gtk_combo_box_get_model (GtkComboBox *combo_box)
return combo_box->priv->model;
}
-
-/* convenience API for simple text combos */
-
-/**
- * gtk_combo_box_new_text:
- *
- * Convenience function which constructs a new text combo box, which is a
- * #GtkComboBox just displaying strings. If you use this function to create
- * a text combo box, you should only manipulate its data source with the
- * following convenience functions: gtk_combo_box_append_text(),
- * gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
- * gtk_combo_box_remove_text().
- *
- * Return value: (transfer none): A new text combo box.
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-GtkWidget *
-gtk_combo_box_new_text (void)
-{
- GtkWidget *combo_box;
- GtkCellRenderer *cell;
- GtkListStore *store;
-
- store = gtk_list_store_new (1, G_TYPE_STRING);
- combo_box = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
- g_object_unref (store);
-
- cell = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), cell, TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), cell,
- "text", 0,
- NULL);
-
- return combo_box;
-}
-
-/**
- * gtk_combo_box_append_text:
- * @combo_box: A #GtkComboBox constructed using gtk_combo_box_new_text()
- * @text: A string
- *
- * Appends @string to the list of strings stored in @combo_box. Note that
- * you can only use this function with combo boxes constructed with
- * gtk_combo_box_new_text().
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-void
-gtk_combo_box_append_text (GtkComboBox *combo_box,
- const gchar *text)
-{
- GtkTreeIter iter;
- GtkListStore *store;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
- g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
- g_return_if_fail (gtk_tree_model_get_column_type (combo_box->priv->model, 0)
- == G_TYPE_STRING);
- g_return_if_fail (text != NULL);
-
- store = GTK_LIST_STORE (combo_box->priv->model);
-
- gtk_list_store_append (store, &iter);
- gtk_list_store_set (store, &iter, 0, text, -1);
-}
-
-/**
- * gtk_combo_box_insert_text:
- * @combo_box: A #GtkComboBox constructed using gtk_combo_box_new_text()
- * @position: An index to insert @text
- * @text: A string
- *
- * Inserts @string at @position in the list of strings stored in @combo_box.
- * Note that you can only use this function with combo boxes constructed
- * with gtk_combo_box_new_text().
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-void
-gtk_combo_box_insert_text (GtkComboBox *combo_box,
- gint position,
- const gchar *text)
-{
- GtkTreeIter iter;
- GtkListStore *store;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
- g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
- g_return_if_fail (position >= 0);
- g_return_if_fail (gtk_tree_model_get_column_type (combo_box->priv->model, 0)
- == G_TYPE_STRING);
- g_return_if_fail (text != NULL);
-
- store = GTK_LIST_STORE (combo_box->priv->model);
-
- gtk_list_store_insert (store, &iter, position);
- gtk_list_store_set (store, &iter, 0, text, -1);
-}
-
-/**
- * gtk_combo_box_prepend_text:
- * @combo_box: A #GtkComboBox constructed with gtk_combo_box_new_text()
- * @text: A string
- *
- * Prepends @string to the list of strings stored in @combo_box. Note that
- * you can only use this function with combo boxes constructed with
- * gtk_combo_box_new_text().
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-void
-gtk_combo_box_prepend_text (GtkComboBox *combo_box,
- const gchar *text)
-{
- GtkTreeIter iter;
- GtkListStore *store;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
- g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
- g_return_if_fail (gtk_tree_model_get_column_type (combo_box->priv->model, 0)
- == G_TYPE_STRING);
- g_return_if_fail (text != NULL);
-
- store = GTK_LIST_STORE (combo_box->priv->model);
-
- gtk_list_store_prepend (store, &iter);
- gtk_list_store_set (store, &iter, 0, text, -1);
-}
-
-/**
- * gtk_combo_box_remove_text:
- * @combo_box: A #GtkComboBox constructed with gtk_combo_box_new_text()
- * @position: Index of the item to remove
- *
- * Removes the string at @position from @combo_box. Note that you can only use
- * this function with combo boxes constructed with gtk_combo_box_new_text().
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-void
-gtk_combo_box_remove_text (GtkComboBox *combo_box,
- gint position)
-{
- GtkTreeIter iter;
- GtkListStore *store;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
- g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
- g_return_if_fail (gtk_tree_model_get_column_type (combo_box->priv->model, 0)
- == G_TYPE_STRING);
- g_return_if_fail (position >= 0);
-
- store = GTK_LIST_STORE (combo_box->priv->model);
-
- if (gtk_tree_model_iter_nth_child (combo_box->priv->model, &iter,
- NULL, position))
- gtk_list_store_remove (store, &iter);
-}
-
-/**
- * gtk_combo_box_get_active_text:
- * @combo_box: A #GtkComboBox constructed with gtk_combo_box_new_text()
- *
- * Returns the currently active string in @combo_box or %NULL if none
- * is selected.
- *
- * Returns: a newly allocated string containing the currently active text.
- * Must be freed with g_free().
- *
- * Since: 2.6
- *
- * Deprecated: 2.24: Use #GtkComboBoxText
- */
-gchar *
-gtk_combo_box_get_active_text (GtkComboBox *combo_box)
-{
- GtkComboBoxClass *class;
-
- g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), NULL);
-
- class = GTK_COMBO_BOX_GET_CLASS (combo_box);
-
- if (class->get_active_text)
- return class->get_active_text (combo_box);
-
- return NULL;
-}
-
-static gchar *
-gtk_combo_box_real_get_active_text (GtkComboBox *combo_box)
-{
- GtkTreeIter iter;
- gchar *text = NULL;
-
- if (combo_box->priv->has_entry)
- {
- GtkBin *combo = GTK_BIN (combo_box);
- GtkWidget *child;
-
- child = gtk_bin_get_child (combo);
- if (child)
- return g_strdup (gtk_entry_get_text (GTK_ENTRY (child)));
-
- return NULL;
- }
- else
- {
- g_return_val_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model), NULL);
- g_return_val_if_fail (gtk_tree_model_get_column_type (combo_box->priv->model, 0)
- == G_TYPE_STRING, NULL);
-
- if (gtk_combo_box_get_active_iter (combo_box, &iter))
- gtk_tree_model_get (combo_box->priv->model, &iter,
- 0, &text, -1);
-
- return text;
- }
-}
-
static void
gtk_combo_box_real_move_active (GtkComboBox *combo_box,
GtkScrollType scroll)
diff --git a/gtk/gtkcombobox.h b/gtk/gtkcombobox.h
index f5d64178e8..c5b6a3c1e0 100644
--- a/gtk/gtkcombobox.h
+++ b/gtk/gtkcombobox.h
@@ -56,9 +56,6 @@ struct _GtkComboBoxClass
/* signals */
void (* changed) (GtkComboBox *combo_box);
- /* vfuncs */
- gchar * (* get_active_text) (GtkComboBox *combo_box);
-
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
@@ -129,23 +126,6 @@ void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo
gboolean fixed);
gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box);
-#ifndef GTK_DISABLE_DEPRECATED
-
-/* convenience -- text */
-GtkWidget *gtk_combo_box_new_text (void);
-void gtk_combo_box_append_text (GtkComboBox *combo_box,
- const gchar *text);
-void gtk_combo_box_insert_text (GtkComboBox *combo_box,
- gint position,
- const gchar *text);
-void gtk_combo_box_prepend_text (GtkComboBox *combo_box,
- const gchar *text);
-void gtk_combo_box_remove_text (GtkComboBox *combo_box,
- gint position);
-gchar *gtk_combo_box_get_active_text (GtkComboBox *combo_box);
-
-#endif
-
/* programmatic control */
void gtk_combo_box_popup (GtkComboBox *combo_box);
void gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
diff --git a/gtk/gtkcomboboxentry.c b/gtk/gtkcomboboxentry.c
deleted file mode 100644
index f538c7274d..0000000000
--- a/gtk/gtkcomboboxentry.c
+++ /dev/null
@@ -1,529 +0,0 @@
-/* gtkcomboboxentry.c
- * Copyright (C) 2002, 2003 Kristian Rietveld <kris@gtk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-#include <string.h>
-
-#undef GTK_DISABLE_DEPRECATED
-
-#include "gtkcomboboxentry.h"
-#include "gtkcelllayout.h"
-
-#include "gtkentry.h"
-#include "gtkcellrenderertext.h"
-
-#include "gtkprivate.h"
-#include "gtkintl.h"
-#include "gtkbuildable.h"
-
-
-/**
- * SECTION:gtkcomboboxentry
- * @Short_description: A text entry field with a dropdown list
- * @Title: GtkComboBoxEntry
- * @See_also:#GtkComboBox
- *
- * A #GtkComboBoxEntry is a widget that allows the user to choose from a
- * list of valid choices or enter a different value. It is very similar
- * to a #GtkComboBox, but it displays the selected value in an entry to
- * allow modifying it.
- *
- * In contrast to a #GtkComboBox, the underlying model of a #GtkComboBoxEntry
- * must always have a text column (see gtk_combo_box_entry_set_text_column()),
- * and the entry will show the content of the text column in the selected row.
- * To get the text from the entry, use gtk_combo_box_get_active_text().
- *
- * The changed signal will be emitted while typing into a GtkComboBoxEntry,
- * as well as when selecting an item from the GtkComboBoxEntry's list. Use
- * gtk_combo_box_get_active() or gtk_combo_box_get_active_iter() to discover
- * whether an item was actually selected from the list.
- *
- * Connect to the activate signal of the GtkEntry (use gtk_bin_get_child())
- * to detect when the user actually finishes entering text.
- *
- * The convenience API to construct simple text-only #GtkComboBox<!-- -->es
- * can also be used with #GtkComboBoxEntry<!-- -->s which have been constructed
- * with gtk_combo_box_entry_new_text().
- *
- * If you have special needs that go beyond a simple entry (e.g. input validation),
- * it is possible to replace the child entry by a different widget using
- * gtk_container_remove() and gtk_container_add().
- *
- * <refsect2 id="GtkComboBoxEntry-BUILDER-UI">
- * <title>GtkComboBoxEntry as GtkBuildable</title>
- * Beyond the &lt;attributes&gt; support that is shared by all
- * <link linkend="GtkCellLayout-BUILDER-UI">GtkCellLayout</link> implementation,
- * GtkComboBoxEntry makes the entry available in UI definitions as an internal
- * child with name "entry".
- * </refsect2>
- */
-
-
-struct _GtkComboBoxEntryPrivate
-{
- GtkCellRenderer *text_renderer;
- gint text_column;
-};
-
-static void gtk_combo_box_entry_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void gtk_combo_box_entry_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-static void gtk_combo_box_entry_add (GtkContainer *container,
- GtkWidget *child);
-static void gtk_combo_box_entry_remove (GtkContainer *container,
- GtkWidget *child);
-
-static gchar *gtk_combo_box_entry_get_active_text (GtkComboBox *combo_box);
-static void gtk_combo_box_entry_active_changed (GtkComboBox *combo_box,
- gpointer user_data);
-static void gtk_combo_box_entry_contents_changed (GtkEntry *entry,
- gpointer user_data);
-static gboolean gtk_combo_box_entry_mnemonic_activate (GtkWidget *entry,
- gboolean group_cycling);
-static void gtk_combo_box_entry_grab_focus (GtkWidget *widget);
-static void has_frame_changed (GtkComboBoxEntry *entry_box,
- GParamSpec *pspec,
- gpointer data);
-static void gtk_combo_box_entry_buildable_interface_init (GtkBuildableIface *iface);
-static GObject * gtk_combo_box_entry_buildable_get_internal_child (GtkBuildable *buildable,
- GtkBuilder *builder,
- const gchar *childname);
-
-enum
-{
- PROP_0,
- PROP_TEXT_COLUMN
-};
-
-G_DEFINE_TYPE_WITH_CODE (GtkComboBoxEntry, gtk_combo_box_entry, GTK_TYPE_COMBO_BOX,
- G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
- gtk_combo_box_entry_buildable_interface_init))
-
-static void
-gtk_combo_box_entry_class_init (GtkComboBoxEntryClass *klass)
-{
- GObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
- GtkComboBoxClass *combo_class;
-
- object_class = (GObjectClass *)klass;
- object_class->set_property = gtk_combo_box_entry_set_property;
- object_class->get_property = gtk_combo_box_entry_get_property;
-
- widget_class = (GtkWidgetClass *)klass;
- widget_class->mnemonic_activate = gtk_combo_box_entry_mnemonic_activate;
- widget_class->grab_focus = gtk_combo_box_entry_grab_focus;
-
- container_class = (GtkContainerClass *)klass;
- container_class->add = gtk_combo_box_entry_add;
- container_class->remove = gtk_combo_box_entry_remove;
-
- combo_class = (GtkComboBoxClass *)klass;
- combo_class->get_active_text = gtk_combo_box_entry_get_active_text;
-
- g_object_class_install_property (object_class,
- PROP_TEXT_COLUMN,
- g_param_spec_int ("text-column",
- P_("Text Column"),
- P_("A column in the data source model to get the strings from"),
- -1,
- G_MAXINT,
- -1,
- GTK_PARAM_READWRITE));
-
- g_type_class_add_private ((GObjectClass *) klass,
- sizeof (GtkComboBoxEntryPrivate));
-}
-
-static void
-gtk_combo_box_entry_init (GtkComboBoxEntry *entry_box)
-{
- GtkWidget *entry;
-
- entry_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (entry_box,
- GTK_TYPE_COMBO_BOX_ENTRY,
- GtkComboBoxEntryPrivate);
-
- entry_box->priv->text_column = -1;
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_container_add (GTK_CONTAINER (entry_box), entry);
-
- entry_box->priv->text_renderer = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (entry_box),
- entry_box->priv->text_renderer, TRUE);
-
- gtk_combo_box_set_active (GTK_COMBO_BOX (entry_box), -1);
-
- g_signal_connect (entry_box, "changed",
- G_CALLBACK (gtk_combo_box_entry_active_changed), NULL);
- g_signal_connect (entry_box, "notify::has-frame", G_CALLBACK (has_frame_changed), NULL);
-}
-
-static void
-gtk_combo_box_entry_buildable_interface_init (GtkBuildableIface *iface)
-{
- iface->get_internal_child = gtk_combo_box_entry_buildable_get_internal_child;
-}
-
-static GObject *
-gtk_combo_box_entry_buildable_get_internal_child (GtkBuildable *buildable,
- GtkBuilder *builder,
- const gchar *childname)
-{
- if (strcmp (childname, "entry") == 0)
- return G_OBJECT (gtk_bin_get_child (GTK_BIN (buildable)));
-
- return NULL;
-}
-
-static void
-gtk_combo_box_entry_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GtkComboBoxEntry *entry_box = GTK_COMBO_BOX_ENTRY (object);
-
- switch (prop_id)
- {
- case PROP_TEXT_COLUMN:
- gtk_combo_box_entry_set_text_column (entry_box,
- g_value_get_int (value));
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gtk_combo_box_entry_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GtkComboBoxEntry *entry_box = GTK_COMBO_BOX_ENTRY (object);
-
- switch (prop_id)
- {
- case PROP_TEXT_COLUMN:
- g_value_set_int (value, entry_box->priv->text_column);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gtk_combo_box_entry_add (GtkContainer *container,
- GtkWidget *child)
-{
- GtkComboBoxEntry *entry_box = GTK_COMBO_BOX_ENTRY (container);
-
- if (!GTK_IS_ENTRY (child))
- {
- g_warning ("Attempting to add a widget with type %s to a GtkComboBoxEntry "
- "(need an instance of GtkEntry or of a subclass)",
- G_OBJECT_TYPE_NAME (child));
- return;
- }
-
- GTK_CONTAINER_CLASS (gtk_combo_box_entry_parent_class)->add (container, child);
-
- /* this flag is a hack to tell the entry to fill its allocation.
- */
- GTK_ENTRY (child)->is_cell_renderer = TRUE;
-
- g_signal_connect (child, "changed",
- G_CALLBACK (gtk_combo_box_entry_contents_changed),
- entry_box);
- has_frame_changed (entry_box, NULL, NULL);
-}
-
-static void
-gtk_combo_box_entry_remove (GtkContainer *container,
- GtkWidget *child)
-{
- GtkWidget *child_widget;
-
- child_widget = gtk_bin_get_child (GTK_BIN (container));
- if (child && child == child_widget)
- {
- g_signal_handlers_disconnect_by_func (child,
- gtk_combo_box_entry_contents_changed,
- container);
- GTK_ENTRY (child)->is_cell_renderer = FALSE;
- }
-
- GTK_CONTAINER_CLASS (gtk_combo_box_entry_parent_class)->remove (container, child);
-}
-
-static void
-gtk_combo_box_entry_active_changed (GtkComboBox *combo_box,
- gpointer user_data)
-{
- GtkComboBoxEntry *entry_box = GTK_COMBO_BOX_ENTRY (combo_box);
- GtkTreeModel *model;
- GtkTreeIter iter;
- gchar *str = NULL;
-
- if (gtk_combo_box_get_active_iter (combo_box, &iter))
- {
- GtkEntry *entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo_box)));
-
- if (entry)
- {
- g_signal_handlers_block_by_func (entry,
- gtk_combo_box_entry_contents_changed,
- combo_box);
-
- model = gtk_combo_box_get_model (combo_box);
-
- gtk_tree_model_get (model, &iter,
- entry_box->priv->text_column, &str,
- -1);
- gtk_entry_set_text (entry, str);
- g_free (str);
-
- g_signal_handlers_unblock_by_func (entry,
- gtk_combo_box_entry_contents_changed,
- combo_box);
- }
- }
-}
-
-static void
-has_frame_changed (GtkComboBoxEntry *entry_box,
- GParamSpec *pspec,
- gpointer data)
-{
- GtkWidget *child;
-
- child = gtk_bin_get_child (GTK_BIN (entry_box));
- if (child)
- {
- gboolean has_frame;
-
- g_object_get (entry_box, "has-frame", &has_frame, NULL);
-
- gtk_entry_set_has_frame (GTK_ENTRY (child), has_frame);
- }
-}
-
-static void
-gtk_combo_box_entry_contents_changed (GtkEntry *entry,
- gpointer user_data)
-{
- GtkComboBox *combo_box = GTK_COMBO_BOX (user_data);
-
- /*
- * Fixes regression reported in bug #574059. The old functionality relied on
- * bug #572478. As a bugfix, we now emit the "changed" signal ourselves
- * when the selection was already set to -1.
- */
- if (gtk_combo_box_get_active(combo_box) == -1)
- g_signal_emit_by_name (combo_box, "changed");
- else
- gtk_combo_box_set_active (combo_box, -1);
-}
-
-/* public API */
-
-/**
- * gtk_combo_box_entry_new:
- *
- * Creates a new #GtkComboBoxEntry which has a #GtkEntry as child. After
- * construction, you should set a model using gtk_combo_box_set_model() and a
- * text column using gtk_combo_box_entry_set_text_column().
- *
- * Return value: A new #GtkComboBoxEntry.
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use gtk_combo_box_new_with_entry() instead
- */
-GtkWidget *
-gtk_combo_box_entry_new (void)
-{
- return g_object_new (gtk_combo_box_entry_get_type (), NULL);
-}
-
-/**
- * gtk_combo_box_entry_new_with_model:
- * @model: A #GtkTreeModel.
- * @text_column: A column in @model to get the strings from.
- *
- * Creates a new #GtkComboBoxEntry which has a #GtkEntry as child and a list
- * of strings as popup. You can get the #GtkEntry from a #GtkComboBoxEntry
- * using GTK_ENTRY (GTK_BIN (combo_box_entry)->child). To add and remove
- * strings from the list, just modify @model using its data manipulation
- * API.
- *
- * Return value: A new #GtkComboBoxEntry.
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use gtk_combo_box_new_with_entry() instead
- */
-GtkWidget *
-gtk_combo_box_entry_new_with_model (GtkTreeModel *model,
- gint text_column)
-{
- GtkWidget *ret;
-
- g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL);
- g_return_val_if_fail (text_column >= 0, NULL);
- g_return_val_if_fail (text_column < gtk_tree_model_get_n_columns (model), NULL);
-
- ret = g_object_new (gtk_combo_box_entry_get_type (),
- "model", model,
- "text-column", text_column,
- NULL);
-
- return ret;
-}
-
-/**
- * gtk_combo_box_entry_set_text_column:
- * @entry_box: A #GtkComboBoxEntry.
- * @text_column: A column in @model to get the strings from.
- *
- * Sets the model column which @entry_box should use to get strings from
- * to be @text_column.
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use gtk_combo_box_set_entry_text_column() instead
- */
-void
-gtk_combo_box_entry_set_text_column (GtkComboBoxEntry *entry_box,
- gint text_column)
-{
- GtkTreeModel *model = gtk_combo_box_get_model (GTK_COMBO_BOX (entry_box));
-
- g_return_if_fail (text_column >= 0);
- g_return_if_fail (model == NULL || text_column < gtk_tree_model_get_n_columns (model));
-
- entry_box->priv->text_column = text_column;
-
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (entry_box),
- entry_box->priv->text_renderer,
- "text", text_column,
- NULL);
-}
-
-/**
- * gtk_combo_box_entry_get_text_column:
- * @entry_box: A #GtkComboBoxEntry.
- *
- * Returns the column which @entry_box is using to get the strings from.
- *
- * Return value: A column in the data source model of @entry_box.
- *
- * Since: 2.4
- *
- * Deprecated: 2.24: Use gtk_combo_box_get_entry_text_column() instead
- */
-gint
-gtk_combo_box_entry_get_text_column (GtkComboBoxEntry *entry_box)
-{
- g_return_val_if_fail (GTK_IS_COMBO_BOX_ENTRY (entry_box), 0);
-
- return entry_box->priv->text_column;
-}
-
-static gboolean
-gtk_combo_box_entry_mnemonic_activate (GtkWidget *widget,
- gboolean group_cycling)
-{
- GtkBin *entry_box = GTK_BIN (widget);
- GtkWidget* child;
-
- child = gtk_bin_get_child (entry_box);
- if (child)
- gtk_widget_grab_focus (child);
-
- return TRUE;
-}
-
-static void
-gtk_combo_box_entry_grab_focus (GtkWidget *widget)
-{
- GtkBin *entry_box = GTK_BIN (widget);
- GtkWidget *child;
-
- child = gtk_bin_get_child (entry_box);
- if (child)
- gtk_widget_grab_focus (child);
-}
-
-
-
-/* convenience API for simple text combos */
-
-/**
- * gtk_combo_box_entry_new_text:
- *
- * Convenience function which constructs a new editable text combo box, which
- * is a #GtkComboBoxEntry just displaying strings. If you use this function to
- * create a text combo box, you should only manipulate its data source with
- * the following convenience functions: gtk_combo_box_append_text(),
- * gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
- * gtk_combo_box_remove_text().
- *
- * Return value: A new text #GtkComboBoxEntry.
- *
- * Since: 2.4
- */
-GtkWidget *
-gtk_combo_box_entry_new_text (void)
-{
- GtkWidget *entry_box;
- GtkListStore *store;
-
- store = gtk_list_store_new (1, G_TYPE_STRING);
- entry_box = gtk_combo_box_entry_new_with_model (GTK_TREE_MODEL (store), 0);
- g_object_unref (store);
-
- return entry_box;
-}
-
-static gchar *
-gtk_combo_box_entry_get_active_text (GtkComboBox *combo_box)
-{
- GtkBin *combo = GTK_BIN (combo_box);
- GtkWidget *child;
-
- child = gtk_bin_get_child (combo);
- if (child)
- return g_strdup (gtk_entry_get_text (GTK_ENTRY (child)));
-
- return NULL;
-}
diff --git a/gtk/gtkcomboboxentry.h b/gtk/gtkcomboboxentry.h
deleted file mode 100644
index ed289e57df..0000000000
--- a/gtk/gtkcomboboxentry.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* gtkcomboboxentry.h
- * Copyright (C) 2002, 2003 Kristian Rietveld <kris@gtk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#ifndef __GTK_COMBO_BOX_ENTRY_H__
-#define __GTK_COMBO_BOX_ENTRY_H__
-
-#include <gtk/gtkcombobox.h>
-#include <gtk/gtktreemodel.h>
-
-G_BEGIN_DECLS
-
-#ifndef GTK_DISABLE_DEPRECATED
-
-#define GTK_TYPE_COMBO_BOX_ENTRY (gtk_combo_box_entry_get_type ())
-#define GTK_COMBO_BOX_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX_ENTRY, GtkComboBoxEntry))
-#define GTK_COMBO_BOX_ENTRY_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_COMBO_BOX_ENTRY, GtkComboBoxEntryClass))
-#define GTK_IS_COMBO_BOX_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COMBO_BOX_ENTRY))
-#define GTK_IS_COMBO_BOX_ENTRY_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_COMBO_BOX_ENTRY))
-#define GTK_COMBO_BOX_ENTRY_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), GTK_TYPE_COMBO_BOX_ENTRY, GtkComboBoxEntryClass))
-
-typedef struct _GtkComboBoxEntry GtkComboBoxEntry;
-typedef struct _GtkComboBoxEntryClass GtkComboBoxEntryClass;
-typedef struct _GtkComboBoxEntryPrivate GtkComboBoxEntryPrivate;
-
-struct _GtkComboBoxEntry
-{
- GtkComboBox parent_instance;
-
- /*< private >*/
- GtkComboBoxEntryPrivate *priv;
-};
-
-struct _GtkComboBoxEntryClass
-{
- GtkComboBoxClass parent_class;
-
- /* Padding for future expansion */
- void (*_gtk_reserved0) (void);
- void (*_gtk_reserved1) (void);
- void (*_gtk_reserved2) (void);
- void (*_gtk_reserved3) (void);
-};
-
-
-GType gtk_combo_box_entry_get_type (void) G_GNUC_CONST;
-GtkWidget *gtk_combo_box_entry_new (void);
-GtkWidget *gtk_combo_box_entry_new_with_model (GtkTreeModel *model,
- gint text_column);
-
-void gtk_combo_box_entry_set_text_column (GtkComboBoxEntry *entry_box,
- gint text_column);
-gint gtk_combo_box_entry_get_text_column (GtkComboBoxEntry *entry_box);
-
-/* convenience -- text */
-GtkWidget *gtk_combo_box_entry_new_text (void);
-
-#endif
-
-G_END_DECLS
-
-#endif /* __GTK_COMBO_BOX_ENTRY_H__ */