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)

###### gtk_combo_box_get_active

Returns the index of the currently active item.

###### gtk_combo_box_get_active_id

Returns the ID of the active row of `combo_box`.

###### gtk_combo_box_get_active_iter

Sets `iter` to point to the currently active item.

###### gtk_combo_box_get_button_sensitivity

Returns whether the combo box sets the dropdown button sensitive or not when there are no items in the model.

###### gtk_combo_box_get_child

Gets the child widget of `combo_box`.

###### gtk_combo_box_get_entry_text_column

Returns the column which `combo_box` is using to get the strings from to display in the internal entry.

###### gtk_combo_box_get_has_entry

Returns whether the combo box has an entry.

###### gtk_combo_box_get_id_column

Returns the column which `combo_box` is using to get string IDs for values from.

###### gtk_combo_box_get_model

Returns the `GtkTreeModel` of `combo_box`.

###### gtk_combo_box_get_popup_fixed_width

Gets whether the popup uses a fixed width.

###### gtk_combo_box_get_row_separator_func

Returns the current row separator function.

###### gtk_combo_box_popdown

Hides the menu or dropdown list of `combo_box`.

###### gtk_combo_box_popup

Pops up the menu or dropdown list of `combo_box`.

###### gtk_combo_box_popup_for_device

Pops up the menu of `combo_box`.

###### gtk_combo_box_set_active

Sets the active item of `combo_box` to be the item at `index`.

###### gtk_combo_box_set_active_id

Changes the active row of `combo_box` to the one that has an ID equal to `active_id`.

###### gtk_combo_box_set_active_iter

Sets the current active item to be the one referenced by `iter`.

###### gtk_combo_box_set_button_sensitivity

Sets whether the dropdown button of the combo box should update its sensitivity depending on the model contents.

###### gtk_combo_box_set_child

Sets the child widget of `combo_box`.

###### gtk_combo_box_set_entry_text_column

Sets the model column which `combo_box` should use to get strings from to be `text_column`.

###### gtk_combo_box_set_id_column

Sets the model column which `combo_box` should use to get string IDs for values from.

###### gtk_combo_box_set_model

Sets the model used by `combo_box` to be `model`.

###### gtk_combo_box_set_popup_fixed_width

Specifies whether the popup’s width should be a fixed width.

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

###### gtk_widget_action_set_enabled

Enable or disable an action installed with `gtk_widget_class_install_action()`.

###### gtk_widget_activate

For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.

###### gtk_widget_activate_action

Looks up the action in the action groups associated with `widget` and its ancestors, and activates it.

###### gtk_widget_activate_action_variant

Looks up the action in the action groups associated with `widget` and its ancestors, and activates it.

###### gtk_widget_activate_default

Activates the `default.activate` action from `widget`.

###### gtk_widget_add_controller

Adds `controller` to `widget` so that it will receive events.

###### gtk_widget_add_css_class

Adds a style class to `widget`.

###### gtk_widget_add_mnemonic_label

Adds a widget to the list of mnemonic labels for this widget.

###### gtk_widget_add_tick_callback

Queues an animation frame update and adds a callback to be called before each frame.

###### gtk_widget_allocate

This function is only used by `GtkWidget` subclasses, to assign a size, position and (optionally) baseline to their child widgets.

###### gtk_widget_child_focus

Called by widgets as the user moves around the window using keyboard shortcuts.

###### gtk_widget_compute_bounds

Computes the bounds for `widget` in the coordinate space of `target`.

###### gtk_widget_compute_expand

Computes whether a container should give this widget extra space when possible.

###### gtk_widget_compute_point

Translates the given `point` in `widget`‘s coordinates to coordinates relative to `target`’s coordinate system.

###### gtk_widget_compute_transform

Computes a matrix suitable to describe a transformation from `widget`‘s coordinate system into `target`‘s coordinate system.

###### gtk_widget_contains

Tests if the point at (`x`, `y`) is contained in `widget`.

###### gtk_widget_create_pango_context

Creates a new `PangoContext` with the appropriate font map, font options, font description, and base direction for drawing text for this widget.

###### gtk_widget_create_pango_layout

Creates a new `PangoLayout` with the appropriate font map, font description, and base direction for drawing text for this widget.

###### gtk_drag_check_threshold

Checks to see if a drag movement has passed the GTK drag threshold.

###### gtk_widget_error_bell

Notifies the user about an input-related error on this widget.

###### gtk_widget_get_allocated_baseline

Returns the baseline that has currently been allocated to `widget`.

###### gtk_widget_get_allocated_height

Returns the height that has currently been allocated to `widget`.

###### gtk_widget_get_allocated_width

Returns the width that has currently been allocated to `widget`.

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