gtk-0.14.6: Binding to the Gtk+ graphical user interface library.
Portabilityportable (depends on GHC)
Safe HaskellNone




A text entry field with a dropdown list

  • Module available since Gtk+ version 2.4



A ComboBoxEntry is a widget that allows the user to choose from a list of valid choices or enter a different value. It is very similar to a ComboBox, but it displays the selected value in an entry to allow modifying it.

In contrast to a ComboBox, the underlying model of a ComboBoxEntry must always have a text column (see comboBoxEntrySetTextColumn), and the entry will show the content of the text column in the selected row. To get the text from the entry, use comboBoxEntryGetActiveText.

The changed signal will be emitted while typing into a ComboBoxEntry, as well as when selecting an item from the ComboBoxEntry's list. Use comboBoxGetActive or comboBoxGetActiveIter to discover whether an item was actually selected from the list.

Connect to the activate signal of the Entry (use binGetChild) to detect when the user actually finishes entering text.

  • This module is deprecated and the functionality removed in Gtk3. It is therefore empty in Gtk3.

Class Hierarchy

| GObject
| +----Object
| +----Widget
| +----Container
| +----Bin
| +----ComboBox
| +----ComboBoxEntry



comboBoxEntryNew :: IO ComboBoxEntry Source #

Creates a new ComboBoxEntry which has a Entry as child. After construction, you should set a model using comboBoxSetModel and a text column using comboBoxEntrySetTextColumn.

comboBoxEntryNewText :: IO ComboBoxEntry Source #

Creates a new ComboBoxEntry with a store containing strings. See comboBoxEntrySetModelText.

comboBoxEntryNewWithModel Source #


:: TreeModelClass model 
=> model

model - A CustomStore.

-> IO ComboBoxEntry 

Creates a new ComboBoxEntry which has a Entry as child and a list of strings as popup. You can get the Entry from a ComboBoxEntry using binGetChild. To add and remove strings from the list, just modify model using its data manipulation API.


comboBoxEntrySetModelText :: ComboBoxEntryClass self => self -> IO (ListStore String) Source #

Set a model that holds strings.

This function stores a ListStore with the widget and sets the model to the list store. The widget can contain only strings. The model can be retrieved with comboBoxGetModel. The list store can be retrieved with comboBoxGetModelText. Any exisiting model or renderers are removed before setting the new text model. In order to respond to new texts that the user enters, it is necessary to connect to the entryActivated signal of the contained Entry and insert the text into the text model which can be retrieved with comboBoxGetModelText. Note that the functions comboBoxAppendText, comboBoxInsertText, comboBoxPrependText, comboBoxRemoveText and comboBoxGetActiveText can be called on a combo box only once comboBoxEntrySetModelText is called.

comboBoxEntrySetTextColumn Source #


:: (ComboBoxEntryClass self, GlibString string) 
=> self 
-> ColumnId row string

textColumn - A column in model to get the strings from.

-> IO () 

Sets the model column should be use to get strings from to be textColumn.

comboBoxEntryGetTextColumn Source #


:: (ComboBoxEntryClass self, GlibString string) 
=> self 
-> IO (ColumnId row string)

returns A column in the data source model of entryBox.

Returns the column which is used to get the strings from.

comboBoxEntryGetActiveText :: (ComboBoxEntryClass self, GlibString string) => self -> IO (Maybe string) Source #

Retrieve the text currently in the entry.

  • Returns Nothing if no text is selected or entered.
  • Availabe in Gtk 2.6 or higher.


comboBoxEntryTextColumn :: (ComboBoxEntryClass self, GlibString string) => Attr self (ColumnId row string) Source #

A column in the data source model to get the strings from.

Allowed values: >= 0

Default value: invalidColumnId