Gtk.ComboBoxText
Description: Reference for Gtk.ComboBoxText

### Class

# GtkComboBoxText

#### 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.

#### 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)

Please see GtkComboBox for a full list of methods.

##### Methods inherited from GtkWidget (160)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### 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`.

#### Properties

##### Properties inherited from GtkComboBox (11)

###### Gtk.ComboBox:active

The item which is currently active.

###### Gtk.ComboBox:active-id

The value of the ID column of the active row.

###### Gtk.ComboBox:button-sensitivity

Whether the dropdown button is sensitive when the model is empty.

###### Gtk.ComboBox:child

The child widget.

###### Gtk.ComboBox:entry-text-column

The model column to associate with strings from the entry.

###### Gtk.ComboBox:has-entry

Whether the combo box has an entry.

###### Gtk.ComboBox:has-frame

The `has-frame` property controls whether a frame is drawn around the entry.

###### Gtk.ComboBox:id-column

The model column that provides string IDs for the values in the model, if != -1.

###### Gtk.ComboBox:model

The model from which the combo box takes its values.

###### Gtk.ComboBox:popup-fixed-width

Whether the popup’s width should be a fixed width matching the allocated width of the combo box.

###### Gtk.ComboBox:popup-shown

Whether the combo boxes dropdown is popped up.

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

##### Properties inherited from GtkCellEditable (1)

###### Gtk.CellEditable:editing-canceled

Indicates whether editing on the cell has been canceled.

#### Signals

##### Signals inherited from GtkComboBox (6)

###### Gtk.ComboBox::activate

Emitted to when the combo box is activated.

Available since: 4.6

###### Gtk.ComboBox::changed

Emitted when the active item is changed.

###### Gtk.ComboBox::format-entry-text

Emitted to allow changing how the text in a combo box’s entry is displayed.

###### Gtk.ComboBox::move-active

Emitted to move the active selection.

###### Gtk.ComboBox::popdown

Emitted to popdown the combo box list.

###### Gtk.ComboBox::popup

Emitted to popup the combo box list.

##### Signals inherited from GtkWidget (13)

###### Gtk.Widget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### Gtk.Widget::direction-changed

Emitted when the text direction of a widget changes.

###### Gtk.Widget::hide

Emitted when `widget` is hidden.

###### Gtk.Widget::keynav-failed

Emitted if keyboard navigation fails.

###### Gtk.Widget::map

Emitted when `widget` is going to be mapped.

###### Gtk.Widget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### Gtk.Widget::move-focus

Emitted when the focus is moved.

###### Gtk.Widget::query-tooltip

Emitted when the widgets tooltip is about to be shown.

###### Gtk.Widget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### Gtk.Widget::show

Emitted when `widget` is shown.

###### Gtk.Widget::state-flags-changed

Emitted when the widget state changes.

###### Gtk.Widget::unmap

Emitted when `widget` is going to be unmapped.

###### Gtk.Widget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from GtkCellEditable (2)

###### Gtk.CellEditable::editing-done

This signal is a sign for the cell renderer to update its value from the `cell_editable`.

###### Gtk.CellEditable::remove-widget

This signal is meant to indicate that the cell is finished editing, and the `cell_editable` widget is being removed and may subsequently be destroyed.