GtkComboBoxText: GTK+ 3 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

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GtkComboBox
                            ╰── GtkComboBoxText

## Implemented Interfaces

GtkComboBoxText implements AtkImplementorIface, GtkBuildable, GtkCellLayout and GtkCellEditable.

## 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
    combobox
    ├── entry.combo
    ╰── button.combo

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.

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