eu.webtoolkit.jwt
Class WComboBox

java.lang.Object
  extended by eu.webtoolkit.jwt.WObject
      extended by eu.webtoolkit.jwt.WWidget
          extended by eu.webtoolkit.jwt.WWebWidget
              extended by eu.webtoolkit.jwt.WInteractWidget
                  extended by eu.webtoolkit.jwt.WFormWidget
                      extended by eu.webtoolkit.jwt.WComboBox
Direct Known Subclasses:
WSelectionBox

public class WComboBox
extends WFormWidget

A widget that provides a drop-down combo-box control.

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() or insertItem() and the contents can be cleared through clear(). These methods manipulate the underlying getModel().

To use the combo box with a custom model instead of the default WStringListModel, use setModel().

To react to selection events, connect to the WFormWidget#changed(), activated() or sactivated() signals.

At all times, the current selection index is available through getCurrentIndex() and the current selection text using getCurrentText().

WComboBox does not have support for auto-completion, this behaviour can be found in the WSuggestionPopup.

WComboBox is an inline widget.

CSS

The widget corresponds to the HTML <select> tag and does not provide styling. It can be styled using inline or external CSS as appropriate.


Constructor Summary
WComboBox()
          Creates an empty combo-box with optional parent.
WComboBox(WContainerWidget parent)
          Creates an empty combo-box with optional parent.
 
Method Summary
 Signal1<java.lang.Integer> activated()
          Signal emitted when the selection changed.
 void addItem(java.lang.CharSequence text)
          Adds an option item.
 void clear()
          Clears all items.
 int findText(java.lang.CharSequence text, MatchOptions flags)
          Returns the index of the first item that matches a text.
 int getCount()
          Returns the number of items.
 int getCurrentIndex()
          Returns the currently selected item.
 WString getCurrentText()
          Returns the text of the currently selected item.
 WString getItemText(int index)
          Returns the text of a particular item.
 WAbstractItemModel getModel()
          Returns the data model.
 java.lang.String getValueText()
          Returns the current value.
 void insertItem(int index, java.lang.CharSequence text)
          Inserts an item at the specified position.
 void refresh()
          Refresh the widget.
 void removeItem(int index)
          Removes the item at the specified position.
 Signal1<WString> sactivated()
          Signal emitted when the selection changed.
 void setCurrentIndex(int index)
          Changes the current selection.
 void setItemText(int index, java.lang.CharSequence text)
          Changes the text for a specified option.
 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.
 void setValueText(java.lang.String value)
          Sets the current value.
 
Methods inherited from class eu.webtoolkit.jwt.WFormWidget
blurred, changed, enableAjax, focussed, getEmptyText, getLabel, getTabIndex, getValidator, hasFocus, isReadOnly, propagateSetEnabled, remove, render, selected, setEmptyText, setEnabled, setFocus, setFocus, setHidden, setReadOnly, setTabIndex, setValidator, validate, validated
 
Methods inherited from class eu.webtoolkit.jwt.WInteractWidget
clicked, doubleClicked, enterPressed, escapePressed, gestureChanged, gestureEnded, gestureStarted, isEnabled, keyPressed, keyWentDown, keyWentUp, load, mouseDragged, mouseMoved, mouseWentDown, mouseWentOut, mouseWentOver, mouseWentUp, mouseWheel, setDraggable, setDraggable, setDraggable, setDraggable, touchEnded, touchMoved, touchStarted
 
Methods inherited from class eu.webtoolkit.jwt.WWebWidget
addStyleClass, callJavaScriptMember, childrenChanged, doJavaScript, domCanBeSaved, escapeText, escapeText, escapeText, escapeText, find, getAttributeValue, getChildren, getClearSides, getDecorationStyle, getFloatSide, getHeight, getId, getJavaScriptMember, getLineHeight, getMargin, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumWidth, getOffset, getPositionScheme, getStyleClass, getToolTip, getVerticalAlignment, getVerticalAlignmentLength, getWidth, isDisabled, isHidden, isHiddenKeepsGeometry, isInline, isLoaded, isPopup, isRendered, isVisible, jsStringLiteral, jsStringLiteral, removeScript, removeStyleClass, resize, setAttributeValue, setClearSides, setDecorationStyle, setDisabled, setFloatSide, setHiddenKeepsGeometry, setId, setInline, setJavaScriptMember, setLineHeight, setLoadLaterWhenInvisible, setMargin, setMaximumSize, setMinimumSize, setOffsets, setPopup, setPositionScheme, setSelectable, setStyleClass, setToolTip, setVerticalAlignment, updateSignalConnection
 
Methods inherited from class eu.webtoolkit.jwt.WWidget
acceptDrops, acceptDrops, addCssRule, addCssRule, addStyleClass, animateHide, animateShow, boxBorder, boxPadding, containsExposed, disable, dropEvent, enable, getDrop, getJsRef, getParent, hide, htmlText, isLayoutSizeAware, layoutSizeChanged, positionAt, positionAt, removeStyleClass, resize, setClearSides, setHeight, setHidden, setLayoutSizeAware, setMargin, setMargin, setMargin, setMargin, setMargin, setOffsets, setOffsets, setOffsets, setOffsets, setOffsets, setToolTip, setVerticalAlignment, setWidth, show, stopAcceptDrops, toggleStyleClass, toggleStyleClass, tr
 
Methods inherited from class eu.webtoolkit.jwt.WObject
addChild, getObjectName, setObjectName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WComboBox

public WComboBox(WContainerWidget parent)
Creates an empty combo-box with optional parent.


WComboBox

public WComboBox()
Creates an empty combo-box with optional parent.

Calls this((WContainerWidget)null)

Method Detail

addItem

public void addItem(java.lang.CharSequence text)
Adds an option item.

Equivalent to insertItem (getCount(), text).


getCount

public int getCount()
Returns the number of items.


getCurrentIndex

public int getCurrentIndex()
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.


insertItem

public void insertItem(int index,
                       java.lang.CharSequence text)
Inserts an item at the specified position.

The item is inserted in the underlying model at position index. This requires that the getModel() is editable.

See Also:
addItem(CharSequence text), removeItem(int index)

removeItem

public void removeItem(int index)
Removes the item at the specified position.

The item is removed from the underlying model. This requires that the getModel() is editable.

See Also:
insertItem(int index, CharSequence text), clear()

setCurrentIndex

public void setCurrentIndex(int index)
Changes the current selection.

Specify a value of -1 for index to clear the selection.


setItemText

public void setItemText(int index,
                        java.lang.CharSequence text)
Changes the text for a specified option.

The text for the item at position index is changed. This requires that the getModel() is editable.


getCurrentText

public WString getCurrentText()
Returns the text of the currently selected item.

See Also:
getCurrentIndex(), getItemText(int index)

getItemText

public WString getItemText(int index)
Returns the text of a particular item.

See Also:
setItemText(int index, CharSequence text), getCurrentText()

setModel

public void 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.

See Also:
setModelColumn(int index)

setModelColumn

public void 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.

See Also:
setModel(WAbstractItemModel model)

getModel

public WAbstractItemModel getModel()
Returns the data model.

See Also:
setModel(WAbstractItemModel model)

findText

public int findText(java.lang.CharSequence text,
                    MatchOptions flags)
Returns the index of the first item that matches a text.


getValueText

public java.lang.String getValueText()
Returns the current value.

Returns getCurrentText().

Specified by:
getValueText in class WFormWidget

setValueText

public void setValueText(java.lang.String value)
Sets the current value.

Sets the current index to the item corresponding to value.

Specified by:
setValueText in class WFormWidget

refresh

public void refresh()
Description copied from class: WWidget
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.

Overrides:
refresh in class WFormWidget

clear

public void clear()
Clears all items.

Removes all items from the underlying model. This requires that the getModel() is editable.


activated

public Signal1<java.lang.Integer> activated()
Signal emitted when the selection changed.

The newly selected item is passed as an argument.

See Also:
sactivated(), getCurrentIndex()

sactivated

public Signal1<WString> sactivated()
Signal emitted when the selection changed.

The newly selected text is passed as an argument.

See Also:
activated(), getCurrentText()