GTK+ Reference Manual | ||||
---|---|---|---|---|
#include <gtk/gtk.h> GtkComboBoxEntry; GtkWidget* gtk_combo_box_entry_new (void); GtkWidget* gtk_combo_box_entry_new_with_model (GtkTreeModel *model, gint text_column); GtkWidget* gtk_combo_box_entry_new_text (void); 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);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkComboBox +----GtkComboBoxEntry
GtkComboBoxEntry implements AtkImplementorIface, GtkBuildable, GtkCellEditable and GtkCellLayout.
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 GtkComboBoxes
can also be used with GtkComboBoxEntrys 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()
.
Beyond the <attributes> support that is shared by all GtkCellLayout implementation, GtkComboBoxEntry makes the entry available in UI definitions as an internal child with name "entry".
GtkWidget* gtk_combo_box_entry_new (void);
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()
.
Returns : | A new GtkComboBoxEntry. |
Since 2.4
GtkWidget* gtk_combo_box_entry_new_with_model (GtkTreeModel *model, gint text_column);
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.
model : |
A GtkTreeModel. |
text_column : |
A column in model to get the strings from.
|
Returns : | A new GtkComboBoxEntry. |
Since 2.4
GtkWidget* gtk_combo_box_entry_new_text (void);
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()
.
Returns : | A new text GtkComboBoxEntry. |
Since 2.4
void gtk_combo_box_entry_set_text_column (GtkComboBoxEntry *entry_box, gint text_column);
Sets the model column which entry_box
should use to get strings from
to be text_column
.
entry_box : |
A GtkComboBoxEntry. |
text_column : |
A column in model to get the strings from.
|
Since 2.4
gint gtk_combo_box_entry_get_text_column (GtkComboBoxEntry *entry_box);
Returns the column which entry_box
is using to get the strings from.
entry_box : |
A GtkComboBoxEntry. |
Returns : | A column in the data source model of entry_box .
|
Since 2.4
"text-column"
property"text-column" gint : Read / Write
A column in the data source model to get the strings from.
Allowed values: >= -1
Default value: -1