Portability | portable (depends on GHC) |
---|---|
Stability | provisional |
Maintainer | gtk2hs-users@lists.sourceforge.net |
Safe Haskell | None |
A text entry field with a dropdown list
- Module available since Gtk+ version 2.4
- data ComboBoxEntry
- class ComboBoxClass o => ComboBoxEntryClass o
- castToComboBoxEntry :: GObjectClass obj => obj -> ComboBoxEntry
- gTypeComboBoxEntry :: GType
- toComboBoxEntry :: ComboBoxEntryClass o => o -> ComboBoxEntry
- comboBoxEntryNew :: IO ComboBoxEntry
- comboBoxEntryNewText :: IO ComboBoxEntry
- comboBoxEntryNewWithModel :: TreeModelClass model => model -> IO ComboBoxEntry
- comboBoxEntrySetModelText :: ComboBoxEntryClass self => self -> IO (ListStore String)
- comboBoxEntrySetTextColumn :: ComboBoxEntryClass self => self -> ColumnId row String -> IO ()
- comboBoxEntryGetTextColumn :: ComboBoxEntryClass self => self -> IO (ColumnId row String)
- comboBoxEntryGetActiveText :: ComboBoxEntryClass self => self -> IO (Maybe String)
- comboBoxEntryTextColumn :: ComboBoxEntryClass self => Attr self (ColumnId row String)
Detail
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.
Class Hierarchy
|GObject
| +----Object
| +----Widget
| +----Container
| +----Bin
| +----ComboBox
| +----ComboBoxEntry
Types
data ComboBoxEntry Source
castToComboBoxEntry :: GObjectClass obj => obj -> ComboBoxEntrySource
toComboBoxEntry :: ComboBoxEntryClass o => o -> ComboBoxEntrySource
Constructors
comboBoxEntryNew :: IO ComboBoxEntrySource
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 ComboBoxEntrySource
Creates a new ComboBoxEntry
with a store containing strings.
See comboBoxEntrySetModelText
.
comboBoxEntryNewWithModelSource
:: TreeModelClass model | |
=> model |
|
-> 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.
Methods
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 entryActivate
signal of the
contained Entry
an 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.
comboBoxEntrySetTextColumnSource
:: ComboBoxEntryClass self | |
=> self | |
-> ColumnId row String |
|
-> IO () |
Sets the model column should be use to get strings from to
be textColumn
.
comboBoxEntryGetTextColumnSource
:: ComboBoxEntryClass self | |
=> self | |
-> IO (ColumnId row String) | returns A column in the data source model of |
Returns the column which is used to get the strings from.
comboBoxEntryGetActiveText :: ComboBoxEntryClass self => 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.
Attributes
comboBoxEntryTextColumn :: ComboBoxEntryClass self => Attr self (ColumnId row String)Source
A column in the data source model to get the strings from.
Allowed values: >= 0
Default value: invalidColumnId