Wt
4.11.1
|
A selection box allows selection from a list of options. More...
#include <Wt/WSelectionBox.h>
Public Member Functions | |
WSelectionBox () | |
Constructor. | |
int | verticalSize () const |
Returns the number of items that are visible. | |
void | setVerticalSize (int items) |
Sets the number of items that are visible. More... | |
void | setSelectionMode (SelectionMode mode) |
Sets the selection mode. More... | |
virtual SelectionMode | selectionMode () const override |
Returns the selection mode. More... | |
const std::set< int > & | selectedIndexes () const |
Returns the current selection (in Wt::SelectionMode::Extended mode). More... | |
void | setSelectedIndexes (const std::set< int > &selection) |
Sets the selection (in Wt::SelectionMode::Extended mode). More... | |
void | clearSelection () |
Clears the current selection. More... | |
Public Member Functions inherited from Wt::WComboBox | |
WComboBox () | |
Creates an empty combo-box.. | |
void | addItem (const WString &text) |
Adds an option item. More... | |
int | count () const |
Returns the number of items. | |
int | currentIndex () const |
Returns the currently selected item. More... | |
void | insertItem (int index, const WString &text) |
Inserts an item at the specified position. More... | |
void | removeItem (int index) |
Removes the item at the specified position. More... | |
void | setCurrentIndex (int index) |
Changes the current selection. More... | |
void | setItemText (int index, const WString &text) |
Changes the text for a specified option. More... | |
const WString | currentText () const |
Returns the text of the currently selected item. More... | |
const WString | itemText (int index) const |
Returns the text of a particular item. More... | |
void | setModel (const std::shared_ptr< WAbstractItemModel > model) |
Sets the model to be used for the items. More... | |
void | setModelColumn (int index) |
Sets the column in the model to be used for the items. More... | |
std::shared_ptr< WAbstractItemModel > | model () const |
Returns the data model. More... | |
int | findText (const WString &text, WFlags< MatchFlag > flags=MatchFlag::Exactly|MatchFlag::CaseSensitive) const |
Returns the index of the first item that matches a text. | |
virtual WString | valueText () const override |
Returns the current value. More... | |
virtual void | setValueText (const WString &value) override |
Sets the current value. More... | |
virtual void | refresh () override |
Refresh the widget. More... | |
void | clear () |
Clears all items. More... | |
Signal< int > & | activated () |
Signal emitted when the selection changed. More... | |
Signal< WString > & | sactivated () |
Signal emitted when the selection changed. More... | |
void | setNoSelectionEnabled (bool enabled) |
Enables the ability to have 'no currently selected' item. More... | |
bool | noSelectionEnabled () const |
Returns whether 'no selection' is a valid state. More... | |
Public Member Functions inherited from Wt::WFormWidget | |
WFormWidget () | |
Creates a WFormWidget. | |
~WFormWidget () | |
Destructor. | |
WLabel * | label () const |
Returns the label associated with this widget. More... | |
virtual void | setHidden (bool hidden, const WAnimation &animation=WAnimation()) override |
Sets the hidden state of this widget. More... | |
void | setValidator (const std::shared_ptr< WValidator > &validator) |
Sets a validator for this field. More... | |
virtual std::shared_ptr< WValidator > | validator () const |
Returns the validator. | |
virtual ValidationState | validate () |
Validates the field. More... | |
void | setEnabled (bool enabled) |
Sets whether the widget is enabled. More... | |
virtual void | setReadOnly (bool readOnly) |
Sets the element read-only. More... | |
bool | isReadOnly () const |
Returns whether the form element is read-only. More... | |
virtual void | setPlaceholderText (const WString &placeholder) |
Sets the placeholder text. More... | |
const WString & | placeholderText () const |
Returns the placeholder text. More... | |
EventSignal & | changed () |
Signal emitted when the value was changed. More... | |
Signal< WValidator::Result > & | validated () |
Signal emitted when the widget is being validated. More... | |
virtual void | setToolTip (const WString &text, TextFormat textFormat=TextFormat::Plain) override |
Sets a tooltip. More... | |
virtual bool | canReceiveFocus () const override |
Returns whether the widget can receive focus. More... | |
virtual int | tabIndex () const override |
Returns the tab index. More... | |
Public Member Functions inherited from Wt::WInteractWidget | |
WInteractWidget () | |
Create an InteractWidget. | |
EventSignal< WKeyEvent > & | keyWentDown () |
Event signal emitted when a keyboard key is pushed down. More... | |
EventSignal< WKeyEvent > & | keyPressed () |
Event signal emitted when a "character" was entered. More... | |
EventSignal< WKeyEvent > & | keyWentUp () |
Event signal emitted when a keyboard key is released. More... | |
EventSignal & | enterPressed () |
Event signal emitted when enter was pressed. More... | |
EventSignal & | escapePressed () |
Event signal emitted when escape was pressed. More... | |
EventSignal< WMouseEvent > & | clicked () |
Event signal emitted when the primary mouse button was clicked on this widget. More... | |
EventSignal< WMouseEvent > & | doubleClicked () |
Event signal emitted when the primary mouse button was double clicked on this widget. More... | |
EventSignal< WMouseEvent > & | mouseWentDown () |
Event signal emitted when a mouse button was pushed down on this widget. More... | |
EventSignal< WMouseEvent > & | mouseWentUp () |
Event signal emitted when a mouse button was released on this widget. More... | |
EventSignal< WMouseEvent > & | mouseWentOut () |
Event signal emitted when the mouse went out of this widget. More... | |
EventSignal< WMouseEvent > & | mouseWentOver () |
Event signal emitted when the mouse entered this widget. More... | |
EventSignal< WMouseEvent > & | mouseMoved () |
Event signal emitted when the mouse moved over this widget. More... | |
EventSignal< WMouseEvent > & | mouseDragged () |
Event signal emitted when the mouse is dragged over this widget. More... | |
EventSignal< WMouseEvent > & | mouseWheel () |
Event signal emitted when the mouse scroll wheel was used. More... | |
EventSignal< WTouchEvent > & | touchStarted () |
Event signal emitted when a finger is placed on the screen. More... | |
EventSignal< WTouchEvent > & | touchEnded () |
Event signal emitted when a finger is removed from the screen. More... | |
EventSignal< WTouchEvent > & | touchMoved () |
Event signal emitted when a finger, which is already placed on the screen, is moved across the screen. More... | |
EventSignal< WGestureEvent > & | gestureStarted () |
Event signal emitted when a gesture is started. More... | |
EventSignal< WGestureEvent > & | gestureChanged () |
Event signal emitted when a gesture is changed. More... | |
EventSignal< WGestureEvent > & | gestureEnded () |
Event signal emitted when a gesture is ended. More... | |
void | setDraggable (const std::string &mimeType, WWidget *dragWidget=nullptr, bool isDragWidgetOnly=false, WObject *sourceWidget=nullptr) |
Configure dragging for drag and drop. More... | |
void | unsetDraggable () |
Disable drag & drop for this widget. More... | |
void | setMouseOverDelay (int delay) |
Sets a delay for the mouse over event. More... | |
int | mouseOverDelay () const |
Returns the mouse over signal delay. More... | |
virtual void | setPopup (bool popup) override |
Lets the widget overlay over other sibling widgets. More... | |
virtual void | load () override |
Loads content just before the widget is used. More... | |
virtual bool | isEnabled () const override |
Returns whether the widget is enabled. More... | |
Public Member Functions inherited from Wt::WWebWidget | |
WWebWidget () | |
Construct a WebWidget. | |
virtual std::vector< WWidget * > | children () const override |
Returns child widgets. More... | |
Signal & | childrenChanged () |
Signal emitted when children have been added or removed. More... | |
virtual void | setPositionScheme (PositionScheme scheme) override |
Sets the CSS position scheme. More... | |
virtual PositionScheme | positionScheme () const override |
Returns the CSS position scheme. More... | |
virtual void | setOffsets (const WLength &offset, WFlags< Side > sides=AllSides) override |
Sets CSS offsets for a non-statically positioned widget. More... | |
virtual WLength | offset (Side s) const override |
Returns a CSS offset. More... | |
virtual void | resize (const WLength &width, const WLength &height) override |
Resizes the widget. More... | |
virtual WLength | width () const override |
Returns the width. More... | |
virtual WLength | height () const override |
Returns the height. More... | |
virtual void | setMinimumSize (const WLength &width, const WLength &height) override |
Sets a minimum size. More... | |
virtual WLength | minimumWidth () const override |
Returns the minimum width. More... | |
virtual WLength | minimumHeight () const override |
Returns the minimum height. More... | |
virtual void | setMaximumSize (const WLength &width, const WLength &height) override |
Sets a maximum size. More... | |
virtual WLength | maximumWidth () const override |
Returns the maximum width. More... | |
virtual WLength | maximumHeight () const override |
Returns the maximum height. More... | |
virtual void | setLineHeight (const WLength &height) override |
Sets the CSS line height for contained text. | |
virtual WLength | lineHeight () const override |
Returns the CSS line height for contained text. More... | |
virtual void | setFloatSide (Side s) override |
Specifies a CSS float side. More... | |
virtual Side | floatSide () const override |
Returns the CSS float side. More... | |
virtual void | setClearSides (WFlags< Side > sides) override |
Sets the sides that should be cleared of floats. More... | |
virtual WFlags< Side > | clearSides () const override |
Returns the sides that should remain empty. More... | |
virtual void | setMargin (const WLength &margin, WFlags< Side > sides=AllSides) override |
Sets CSS margins around the widget. More... | |
virtual WLength | margin (Side side) const override |
Returns a CSS margin set. More... | |
virtual void | setHiddenKeepsGeometry (bool enabled) override |
Sets whether the widget keeps its geometry when hidden. More... | |
virtual bool | hiddenKeepsGeometry () const override |
Returns whether the widget keeps its geometry when hidden. More... | |
virtual bool | isHidden () const override |
Returns whether the widget is set hidden. More... | |
virtual bool | isVisible () const override |
Returns whether the widget is visible. More... | |
virtual void | setDisabled (bool disabled) override |
Sets whether the widget is disabled. More... | |
virtual bool | isDisabled () const override |
Returns whether the widget is set disabled. More... | |
virtual bool | isPopup () const override |
Returns whether the widget is overlayed. More... | |
virtual void | setInline (bool isInline) override |
Sets whether the widget is displayed inline or as a block. More... | |
virtual bool | isInline () const override |
Returns whether the widget is displayed inline or as block. More... | |
virtual void | setDecorationStyle (const WCssDecorationStyle &style) override |
Sets a CSS decoration style. More... | |
virtual WCssDecorationStyle & | decorationStyle () override |
Returns the decoration style of this widget. More... | |
virtual void | setStyleClass (const WString &styleClass) override |
Sets (one or more) CSS style classes. More... | |
virtual WString | styleClass () const override |
Returns the CSS style class. More... | |
virtual void | addStyleClass (const WString &styleClass, bool force=false) override |
Adds a CSS style class. More... | |
virtual void | removeStyleClass (const WString &styleClass, bool force=false) override |
Removes a CSS style class. More... | |
virtual bool | hasStyleClass (const WString &styleClass) const override |
Returns whether the widget has a style class. | |
virtual void | setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength()) override |
Sets the vertical alignment. More... | |
virtual AlignmentFlag | verticalAlignment () const override |
Returns the vertical alignment. More... | |
virtual WLength | verticalAlignmentLength () const override |
Returns the fixed vertical alignment that was set. More... | |
virtual void | setDeferredToolTip (bool enable, TextFormat textFormat=TextFormat::Plain) override |
Enable deferred tooltip. More... | |
virtual WString | toolTip () const override |
Returns the tooltip. | |
virtual void | setAttributeValue (const std::string &name, const WString &value) override |
Sets an attribute value. More... | |
virtual WString | attributeValue (const std::string &name) const override |
Returns an attribute value. More... | |
virtual void | setJavaScriptMember (const std::string &name, const std::string &value) override |
Sets a JavaScript member. More... | |
virtual std::string | javaScriptMember (const std::string &name) const override |
Returns the value of a JavaScript member. More... | |
virtual void | callJavaScriptMember (const std::string &name, const std::string &args) override |
Calls a JavaScript member. More... | |
virtual bool | loaded () const override |
Returns whether this widget has been loaded. More... | |
virtual void | setId (const std::string &id) override |
Sets the CSS Id. More... | |
virtual WWidget * | find (const std::string &name) override |
Finds a descendent widget by name. More... | |
virtual WWidget * | findById (const std::string &id) override |
Finds a descendent widget by id. | |
virtual void | setSelectable (bool selectable) override |
Sets as selectable. More... | |
virtual void | doJavaScript (const std::string &javascript) override |
Executes the given JavaScript statements when the widget is rendered or updated. More... | |
virtual const std::string | id () const override |
Returns the (unique) identifier for this object. More... | |
void | setLoadLaterWhenInvisible (bool) |
Change the way the widget is loaded when invisible. More... | |
std::string | htmlTagName () const |
returns the current html tag name More... | |
void | setHtmlTagName (const std::string &tag) |
set the custom HTML tag name More... | |
virtual void | setCanReceiveFocus (bool enabled) override |
Sets whether the widget can receive focus. More... | |
virtual bool | setFirstFocus () override |
Set focus on the widget's first descendant. More... | |
virtual void | setFocus (bool focus) override |
Sets focus. More... | |
virtual bool | hasFocus () const override |
Returns whether the widget currently has the focus. | |
virtual void | setTabIndex (int index) override |
Sets the tab index. More... | |
EventSignal & | blurred () |
Signal emitted when the widget lost focus. More... | |
EventSignal & | focussed () |
Signal emitted when the widget recieved focus. More... | |
virtual bool | scrollVisibilityEnabled () const final override |
Returns whether scroll visibility detection is enabled for this widget. More... | |
virtual void | setScrollVisibilityEnabled (bool enabled) final override |
Sets whether scroll visibility detection is enabled for this widget. More... | |
virtual int | scrollVisibilityMargin () const final override |
Returns the margin around the viewport within which the widget is considered visible. More... | |
virtual void | setScrollVisibilityMargin (int margin) final override |
Sets the margin around the viewport within which the widget is considered visible. More... | |
virtual Signal< bool > & | scrollVisibilityChanged () final override |
Signal triggered when the scroll visibility of this widget changes. More... | |
virtual bool | isScrollVisible () const final override |
Returns whether this widget is currently considered scroll visible. More... | |
virtual void | setThemeStyleEnabled (bool enabled) final override |
Sets whether theme styling for a widget is enabled or disabled. More... | |
virtual bool | isThemeStyleEnabled () const final override |
Returns whether this widget is currently styled by the chosen theme. More... | |
virtual void | setObjectName (const std::string &name) override |
Sets an object name. More... | |
void | setFocus () |
Sets focus. More... | |
virtual void | setFocus (bool focus)=0 |
Sets focus. More... | |
Public Member Functions inherited from Wt::WWidget | |
virtual | ~WWidget () |
Destructor. More... | |
WWidget * | parent () const |
Returns the parent widget. | |
virtual std::unique_ptr< WWidget > | removeWidget (WWidget *widget) |
Removes a child widget. | |
template<typename Widget > | |
std::unique_ptr< Widget > | removeWidget (Widget *widget) |
Removes a child widget. More... | |
std::unique_ptr< WWidget > | removeFromParent () |
Removes the widget from its parent. More... | |
void | setWidth (const WLength &width) |
Sets the width. More... | |
void | setHeight (const WLength &height) |
Sets the height. More... | |
virtual void | positionAt (const WWidget *widget, Orientation orientation=Orientation::Vertical) |
Positions a widget next to another widget. More... | |
virtual void | toggleStyleClass (const WString &styleClass, bool add, bool force=false) |
Toggles a CSS style class. | |
std::string | jsRef () const |
Returns a JavaScript expression to the corresponding DOM node. More... | |
void | setFocus () |
Sets focus. More... | |
virtual void | acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString()) |
Sets a mime type to be accepted for dropping. More... | |
virtual void | stopAcceptDrops (const std::string &mimeType) |
Indicates that a mime type is no longer accepted for dropping. More... | |
virtual void | htmlText (std::ostream &out) |
Streams the (X)HTML representation. More... | |
bool | isRendered () const |
Returns whether the widget is rendered. More... | |
void | hide () |
Hides the widget. More... | |
void | animateHide (const WAnimation &animation) |
Hides the widget using an animation. More... | |
void | show () |
Shows the widget. More... | |
void | animateShow (const WAnimation &animation) |
Shows the widget using an animation. More... | |
void | enable () |
Enables the widget. More... | |
void | disable () |
Disable thes widget. More... | |
bool | layoutSizeAware () const |
Returns whether the widget is layout size aware. More... | |
Public Member Functions inherited from Wt::WObject | |
void | addChild (std::unique_ptr< WObject > child) |
Add a child WObject whose lifetime is determined by this WObject. | |
template<typename Child > | |
Child * | addChild (std::unique_ptr< Child > child) |
Add a child WObject, returning a raw pointer. More... | |
std::unique_ptr< WObject > | removeChild (WObject *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. | |
template<typename Child > | |
std::unique_ptr< Child > | removeChild (Child *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
void | isNotStateless () |
Marks the current function as not stateless. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
Public Member Functions inherited from Wt::Core::observable | |
observable () noexcept | |
Default constructor. | |
virtual | ~observable () |
Destructor. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...)) noexcept |
Protects a method call against object destruction. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...) const) const noexcept |
Protects a const method call against object destruction. More... | |
template<typename Function > | |
auto | bindSafe (const Function &function) noexcept |
Protects a function against object destruction. More... | |
Additional Inherited Members | |
Public Types inherited from Wt::WObject | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
Static Public Member Functions inherited from Wt::WWebWidget | |
static std::string | jsStringLiteral (const std::string &v, char delimiter='\'') |
Turn a CharEncoding::UTF8 encoded string into a JavaScript string literal. More... | |
Static Public Member Functions inherited from Wt::WWidget | |
static WString | tr (const char *key) |
Short hand for WString::tr() More... | |
Protected Member Functions inherited from Wt::WFormWidget | |
virtual void | enableAjax () override |
Progresses to an Ajax-enabled widget. More... | |
virtual void | render (WFlags< RenderFlag > flags) override |
Renders the widget. More... | |
virtual void | propagateSetEnabled (bool enabled) override |
Propagates that a widget was enabled or disabled through children. More... | |
Protected Member Functions inherited from Wt::WWebWidget | |
virtual WStatelessSlot * | getStateless (Method method) override |
On-demand stateless slot implementation. More... | |
Protected Member Functions inherited from Wt::WWidget | |
void | setLayoutSizeAware (bool sizeAware) |
Sets the widget to be aware of its size set by a layout manager. More... | |
virtual void | layoutSizeChanged (int width, int height) |
Virtual method that indicates a size change. More... | |
WWidget () | |
Creates a widget. | |
virtual void | dropEvent (WDropEvent dropEvent) |
Handles a drop event. More... | |
virtual int | boxPadding (Orientation orientation) const |
Returns the widget's built-in padding. More... | |
virtual int | boxBorder (Orientation orientation) const |
Returns the widget's built-in border width. More... | |
void | scheduleRender (WFlags< RepaintFlag > flags=None) |
Schedules rerendering of the widget. More... | |
A selection box allows selection from a list of options.
By default, a selection box may be used to let the user select one item from a list. This may be changed to multiple selection mode using setSelectionMode().
The current selection may be set and read using setCurrentIndex() and currentIndex(), for SelectionMode::Single mode, or setSelectedIndexes() and selectedIndexes() for Wt::SelectionMode::Extended mode. The activated() and sactivated() signals are not emited in the Wt::SelectionMode::Extended mode, use the changed() signal.
WSelectionBox is an MVC view class, using a simple string list model by default. The model may be populated using WComboBox::addItem() or WComboBox::insertItem() and the contents can be cleared through clear(). These methods manipulate the underlying model().
To use the selectionbox with a custom model instead of the default WStringListModel, use setModel().
Usage example:
WSelectionBox is an inline widget.
The widget corresponds to the HTML <select>
tag and does not provide styling. It can be styled using inline or external CSS as appropriate.
void Wt::WSelectionBox::clearSelection | ( | ) |
Clears the current selection.
Clears the current selection.
const std::set< int > & Wt::WSelectionBox::selectedIndexes | ( | ) | const |
Returns the current selection (in Wt::SelectionMode::Extended mode).
Get the list of currently selected items. This method is only defined when selectionMode() is Wt::SelectionMode::Extended. Otherwise, you should use currentIndex() to get item currently selected.
|
overridevirtual |
Returns the selection mode.
Reimplemented from Wt::WComboBox.
void Wt::WSelectionBox::setSelectedIndexes | ( | const std::set< int > & | selection | ) |
Sets the selection (in Wt::SelectionMode::Extended mode).
For an Wt::SelectionMode::Extended mode, set the list of currently selected items.
void Wt::WSelectionBox::setSelectionMode | ( | SelectionMode | mode | ) |
Sets the selection mode.
The default selection mode is SelectionMode::Single. You can change to Wt::SelectionMode::Extended to allow selection of multiple items.
void Wt::WSelectionBox::setVerticalSize | ( | int | items | ) |
Sets the number of items that are visible.
If more items are available, a scroll-bar is provided.