GtkComboBoxText: GTK+ 4 Reference Manual

## GtkComboBoxText GtkComboBoxText — A simple, text-only combo box |

## Functions

GtkWidget * | gtk_combo_box_text_new ()
GtkWidget * | gtk_combo_box_text_new_with_entry ()
void | gtk_combo_box_text_append ()
void | gtk_combo_box_text_prepend ()
void | gtk_combo_box_text_insert ()
void | gtk_combo_box_text_append_text ()
void | gtk_combo_box_text_prepend_text ()
void | gtk_combo_box_text_insert_text ()
void | gtk_combo_box_text_remove ()
void | gtk_combo_box_text_remove_all ()
gchar * | gtk_combo_box_text_get_active_text ()

## Types and Values

struct | GtkComboBoxText

## Includes

    #include <gtk/gtk.h>

## Description

A GtkComboBoxText is a simple variant of GtkComboBox that hides the model-view complexity for simple text-only use cases.

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 “has-entry” property), its contents can be retrieved using `gtk_combo_box_text_get_active_text()`. The entry itself can be accessed by calling `gtk_bin_get_child()` on the combo box.

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 <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:

    1
    2
    3
    4
    5
    6
    7
    <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

    1
    2
    3
    4
    5
    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.

## Functions

### gtk_combo_box_text_new ()

    GtkWidget *
    gtk_combo_box_text_new (void);

Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings.

#### Returns

A new GtkComboBoxText

Since: 2.24

### gtk_combo_box_text_new_with_entry ()

    GtkWidget *
    gtk_combo_box_text_new_with_entry (void);

Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings. The combo box created by this function has an entry.

#### Returns

a new GtkComboBoxText

Since: 2.24

### gtk_combo_box_text_append ()

    void
    gtk_combo_box_text_append (GtkComboBoxText *combo_box,
                               const gchar *id,
                               const gchar *text);

Appends `text` to the list of strings stored in `combo_box` . If `id` is non-`NULL` then it is used as the ID of the row.

This is the same as calling `gtk_combo_box_text_insert()` with a position of -1.

#### Parameters

combo_box | A GtkComboBoxText |
id | a string ID for this value, or `NULL`. | [allow-none]
text | A string |

Since: 2.24

### gtk_combo_box_text_prepend ()

    void
    gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
                                const gchar *id,
                                const gchar *text);

Prepends `text` to the list of strings stored in `combo_box` . If `id` is non-`NULL` then it is used as the ID of the row.

This is the same as calling `gtk_combo_box_text_insert()` with a position of 0.

#### Parameters

combo_box | A GtkComboBox |
id | a string ID for this value, or `NULL`. | [allow-none]
text | a string |

Since: 2.24

### gtk_combo_box_text_insert ()

    void
    gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
                               gint position,
                               const gchar *id,
                               const gchar *text);

Inserts `text` at `position` in the list of strings stored in `combo_box` . If `id` is non-`NULL` then it is used as the ID of the row. See “id-column”.

If `position` is negative then `text` is appended.

#### Parameters

combo_box | A GtkComboBoxText |
position | An index to insert `text` |
id | a string ID for this value, or `NULL`. | [allow-none]
text | A string to display |

Since: 3.0

### gtk_combo_box_text_append_text ()

    void
    gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
                                    const gchar *text);

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

This is the same as calling `gtk_combo_box_text_insert_text()` with a position of -1.

#### Parameters

combo_box | A GtkComboBoxText |
text | A string |

Since: 2.24

### gtk_combo_box_text_prepend_text ()

    void
    gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
                                     const gchar *text);

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

This is the same as calling `gtk_combo_box_text_insert_text()` with a position of 0.

#### Parameters

combo_box | A GtkComboBox |
text | A string |

Since: 2.24

### gtk_combo_box_text_insert_text ()

    void
    gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
                                    gint position,
                                    const gchar *text);

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

If `position` is negative then `text` is appended.

This is the same as calling `gtk_combo_box_text_insert()` with a `NULL` ID string.

#### Parameters

combo_box | A GtkComboBoxText |
position | An index to insert `text` |
text | A string |

Since: 2.24

### gtk_combo_box_text_remove ()

    void
    gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
                               gint position);

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

#### Parameters

combo_box | A GtkComboBox |
position | Index of the item to remove |

Since: 2.24

### gtk_combo_box_text_remove_all ()

    void
    gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box);

Removes all the text entries from the combo box.

#### Parameters

combo_box | A GtkComboBoxText |

Since: 3.0

### gtk_combo_box_text_get_active_text ()

    gchar *
    gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);

Returns the currently active string in `combo_box` , or `NULL` if none is selected. If `combo_box` contains an entry, this function will return its contents (which will not necessarily be an item from the list).

#### Parameters

combo_box | A GtkComboBoxText |

#### Returns

a newly allocated string containing the currently active text. Must be freed with `g_free()`.

[transfer full]

Since: 2.24

## Types and Values

### struct GtkComboBoxText

    struct GtkComboBoxText {
    };

## See Also

GtkComboBox