### Class

# Gtk ComboBoxText

#### Description [src]

    final class Gtk.ComboBoxText : Gtk.ComboBox {
      /* No available fields */
    }

A `GtkComboBoxText` is a simple variant of `GtkComboBox` for text-only use cases.

`GtkComboBoxText` hides the model-view complexity of `GtkComboBox`.

To create a `GtkComboBoxText`, use gtk_combo_box_text_new() or gtk_combo_box_text_new_with_entry().

You can add items to a `GtkComboBoxText` with gtk_combo_box_text_append_text(), gtk_combo_box_text_insert_text() or gtk_combo_box_text_prepend_text() and remove options with gtk_combo_box_text_remove().

If the `GtkComboBoxText` contains an entry (via the `GtkComboBox:has-entry` property), its contents can be retrieved using gtk_combo_box_text_get_active_text().

You should not call gtk_combo_box_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 element and specifying elements for each item. Each 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

`GtkComboBoxText` has a 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.

#### Hierarchy

#### Ancestors

- GtkComboBox
- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkCellEditable
- GtkCellLayout
- GtkConstraintTarget

#### Constructors

###### gtk_combo_box_text_new

Creates a new `GtkComboBoxText`.

###### gtk_combo_box_text_new_with_entry

Creates a new `GtkComboBoxText` with an entry.

#### Instance methods

###### gtk_combo_box_text_append

Appends `text` to the list of strings stored in `combo_box`.

###### gtk_combo_box_text_append_text

Appends `text` to the list of strings stored in `combo_box`.

###### gtk_combo_box_text_get_active_text

Returns the currently active string in `combo_box`.

###### gtk_combo_box_text_insert

Inserts `text` at `position` in the list of strings stored in `combo_box`.

###### gtk_combo_box_text_insert_text

Inserts `text` at `position` in the list of strings stored in `combo_box`.

###### gtk_combo_box_text_prepend

Prepends `text` to the list of strings stored in `combo_box`.

###### gtk_combo_box_text_prepend_text

Prepends `text` to the list of strings stored in `combo_box`.

###### gtk_combo_box_text_remove

Removes the string at `position` from `combo_box`.

###### gtk_combo_box_text_remove_all

Removes all the text entries from the combo box.

##### Methods inherited from GtkComboBox (24)

##### Methods inherited from GtkWidget (159)

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

##### Methods inherited from GtkCellEditable (3)

###### gtk_cell_editable_editing_done

Emits the `GtkCellEditable::editing-done` signal.

###### gtk_cell_editable_remove_widget

Emits the `GtkCellEditable::remove-widget` signal.

###### gtk_cell_editable_start_editing

Begins editing on a `cell_editable`.

##### Methods inherited from GtkCellLayout (10)

###### gtk_cell_layout_add_attribute

Adds an attribute mapping to the list in `cell_layout`.

###### gtk_cell_layout_clear

Unsets all the mappings on all renderers on `cell_layout` and removes all renderers from `cell_layout`.

###### gtk_cell_layout_clear_attributes

Clears all existing attributes previously set with gtk_cell_layout_set_attributes().

###### gtk_cell_layout_get_area

Returns the underlying `GtkCellArea` which might be `cell_layout` if called on a `GtkCellArea` or might be `NULL` if no `GtkCellArea` is used by `cell_layout`.

###### gtk_cell_layout_get_cells

Returns the cell renderers which have been added to `cell_layout`.

###### gtk_cell_layout_pack_end

Adds the `cell` to the end of `cell_layout`. If `expand` is `FALSE`, then the `cell` is allocated no more space than it needs. Any unused space is divided evenly between cells for which `expand` is `TRUE`.

###### gtk_cell_layout_pack_start

Packs the `cell` into the beginning of `cell_layout`. If `expand` is `FALSE`, then the `cell` is allocated no more space than it needs. Any unused space is divided evenly between cells for which `expand` is `TRUE`.

###### gtk_cell_layout_reorder

Re-inserts `cell` at `position`.

###### gtk_cell_layout_set_attributes

Sets the attributes in the parameter list as the attributes of `cell_layout`.

###### gtk_cell_layout_set_cell_data_func

Sets the `GtkCellLayout`DataFunc to use for `cell_layout`.