ComboBoxText
Object Hierarchy:
Description:
public class ComboBoxText : ComboBox, Implementor, Buildable, CellEditable, CellLayout
A GtkComboBoxText is a simple variant of ComboBox that hides the model-view complexity for simple text-only use cases.
To create a GtkComboBoxText, use ComboBoxText or ComboBoxText.with_entry.
You can add items to a GtkComboBoxText with append_text, insert_text or prepend_text and remove options with remove.
If the GtkComboBoxText contains an entry (via the “has-entry” property), its contents can be retrieved using get_active_text. The entry itself can be accessed by calling get_child on the combo box.
You should not call set_model or attempt to pack more cells into this combo box via its GtkCellLayout interface.
GtkComboBoxText as GtkBuildable
The GtkComboBoxText implementation of the GtkBuildable interface supports adding items directly using the `<items>` element and specifying `<item>` elements for each item. Each `<item>` element can specify the “id” corresponding to the appended text and also supports the regular translation attributes “translatable”, “context” and “comments”.
Here is a UI definition fragment specifying GtkComboBoxText items:
<object class="GtkComboBoxText">
<items>
<item translatable="yes" id="factory">Factory</item>
<item translatable="yes" id="home">Home</item>
<item translatable="yes" id="subway">Subway</item>
</items>
</object>
CSS nodes
combobox
╰── box.linked
├── entry.combo
├── button.combo
╰── window.popup
single CSS node with name combobox. It adds the style class .combo to the main CSS nodes of its entry and button children, and the .linked class
to the node of its internal box.
Example: ComboBoxText:
public class Application : Gtk.Window {
public Application () {
// Prepare Gtk.Window:
this.title = "My Gtk.ComboBoxText";
this.window_position = Gtk.WindowPosition.CENTER;
this.destroy.connect (Gtk.main_quit);
// The Box:
Gtk.ComboBoxText box = new Gtk.ComboBoxText ();
box.append_text ("nemequ");
box.append_text ("juergbi");
box.append_text ("flo");
box.active = 0;
this.add (box);
box.changed.connect (() => {
string title = box.get_active_text ();
print ("%d: %s\n", box.active, title);
});
}
public static int main (string[] args) {
Gtk.init (ref args);
Application app = new Application ();
app.show_all ();
Gtk.main ();
return 0;
}
}
valac --pkg gtk+-3.0 Gtk.ComboBoxText.vala