#include <Wt/WComboBox>
Public Member Functions | |
WComboBox (WContainerWidget *parent=0) | |
Create an empty combo-box with optional parent. | |
void | addItem (const WString &text) |
Add an option item. | |
int | count () const |
Returns the number of items. | |
int | currentIndex () const |
Returns the currently selected item. | |
void | insertItem (int index, const WString &text) |
Insert an item at the specified position. | |
void | removeItem (int index) |
Remove the item at the specified position. | |
void | setCurrentIndex (int index) |
Changes the current selection. | |
void | setItemText (int index, const WString &text) |
Changes the text for a specified option. | |
const WString | currentText () const |
Returns the text of the currently selected item. | |
const WString | itemText (int index) const |
Returns the text of a particular item. | |
void | setModel (WAbstractItemModel *model) |
Sets the model to be used for the items. | |
void | setModelColumn (int index) |
Sets the column in the model to be used for the items. | |
WAbstractItemModel * | model () const |
Returns the data model. | |
int | findText (const WString &text, WFlags< MatchFlag > flags=MatchExactly|MatchCaseSensitive) |
Returns the index of the first item that matches a text. | |
WValidator::State | validate () |
Validate the field. | |
virtual void | refresh () |
Refresh the widget. | |
void | clear () |
Clear all items. | |
Signal< int > & | activated () |
Signal emitted when the selection changed. | |
Signal< WString > & | sactivated () |
Signal emitted when the selection changed. |
A combo box provides the user with a set of options, from which one option may be selected.
WComboBox is an MVC view class, using a simple string list model by default. The model may be populated using addItem(const WString&) or insertItem(int, const WString&) and the contents can be cleared through clear(). These methods manipulate the underlying model().
To use the combo box with a custom model instead of the default WStringListModel, use setModel().
To react to selection events, connect to the changed(), activated() or sactivated() signals.
At all times, the current selection index is available through currentIndex() and the current selection text using currentText().
Usage example:
Wt::WComboBox *combo = new Wt::WComboBox(this); combo->addItem("Clint Eastwood"); combo->addItem("Mick Jagger"); combo->addItem("Johnny Depp"); combo->addItem("Kate Winslet"); combo->setCurrentIndex(2); // Johnny Depp combo->activated().connect(SLOT(this, MyWidget::comboChanged));
The widget corresponds to the HTML <select>
tag.
WComboBox is an inline widget.
void Wt::WComboBox::addItem | ( | const WString & | text | ) |
Add an option item.
Equivalent to insertItem (count(), text).
int Wt::WComboBox::currentIndex | ( | ) | const |
Returns the currently selected item.
If no item is currently selected, the method returns -1.
The default value is 0, unless the combo box is empty.
void Wt::WComboBox::insertItem | ( | int | index, | |
const WString & | text | |||
) |
Insert an item at the specified position.
The item is inserted in the underlying model at position index. This requires that the model() is editable.
void Wt::WComboBox::removeItem | ( | int | index | ) |
Remove the item at the specified position.
The item is removed from the underlying model. This requires that the model() is editable.
void Wt::WComboBox::setCurrentIndex | ( | int | index | ) |
Changes the current selection.
Specify a value of -1 for index to clear the selection.
void Wt::WComboBox::setItemText | ( | int | index, | |
const WString & | text | |||
) |
Changes the text for a specified option.
The text for the item at position index is changed. This requires that the model() is editable.
const WString Wt::WComboBox::currentText | ( | ) | const |
const WString Wt::WComboBox::itemText | ( | int | index | ) | const |
void Wt::WComboBox::setModel | ( | WAbstractItemModel * | model | ) |
Sets the model to be used for the items.
The model may not be 0, and ownership of the model is not transferred.
The default value is a WStringListModel that is owned by the combo box.
void Wt::WComboBox::setModelColumn | ( | int | index | ) |
Sets the column in the model to be used for the items.
The column index in the model will be used to retrieve data.
The default value is 0.
WAbstractItemModel* Wt::WComboBox::model | ( | ) | const [inline] |
void Wt::WComboBox::refresh | ( | ) | [virtual] |
Refresh the widget.
The refresh method is invoked when the locale is changed using WApplication::setLocale() or when the user hit the refresh button.
The widget must actualize its contents in response.
Reimplemented from Wt::WWebWidget.
void Wt::WComboBox::clear | ( | ) |
Clear all items.
Removes all items from the underlying model. This requires that the model() is editable.
Signal<int>& Wt::WComboBox::activated | ( | ) | [inline] |
Signal emitted when the selection changed.
The newly selected item is passed as an argument.
Signal emitted when the selection changed.
The newly selected text is passed as an argument.