Wt: Wt::WSelectionBox Class Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Wt::WSelectionBox Class Reference
Model/view system

A selection box allows selection from a list of options. More...

`#include <Wt/WSelectionBox.h>`

Inheritance diagram for Wt::WSelectionBox:
[legend]

## 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.
void | setSelectionMode (SelectionMode mode)
| Sets the selection mode.
virtual SelectionMode | selectionMode () const override
| Returns the selection mode.
const std::set< int > & | selectedIndexes () const
| Returns the current selection (in Wt::SelectionMode::Extended mode).
void | setSelectedIndexes (const std::set< int > &selection)
| Sets the selection (in Wt::SelectionMode::Extended mode).
void | clearSelection ()
| Clears the current selection.
Public Member Functions inherited from Wt::WComboBox
| WComboBox ()
| Creates an empty combo-box..
void | addItem (const WString &text)
| Adds 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)
| Inserts an item at the specified position.
void | removeItem (int index)
| Removes 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 (const std::shared_ptr< 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.
std::shared_ptr< WAbstractItemModel > | model () const
| Returns the data model.
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.
virtual void | setValueText (const WString &value) override
| Sets the current value.
virtual void | refresh () override
| Refresh the widget.
void | clear ()
| Clears all items.
Signal< int > & | activated ()
| Signal emitted when the selection changed.
Signal< WString > & | sactivated ()
| Signal emitted when the selection changed.
void | setNoSelectionEnabled (bool enabled)
| Enables the ability to have 'no currently selected' item.
bool | noSelectionEnabled () const
| Returns whether 'no selection' is a valid state.
Public Member Functions inherited from Wt::WFormWidget
| WFormWidget ()
| Creates a WFormWidget.
| ~WFormWidget ()
| Destructor.
WLabel * | label () const
| Returns the label associated with this widget.
virtual void | setHidden (bool hidden, const WAnimation &animation=WAnimation()) override
| Sets the hidden state of this widget.
void | setValidator (const std::shared_ptr< WValidator > &validator)
| Sets a validator for this field.
virtual std::shared_ptr< WValidator > | validator () const
| Returns the validator.
virtual ValidationState | validate ()
| Validates the field.
void | setEnabled (bool enabled)
| Sets whether the widget is enabled.
virtual void | setReadOnly (bool readOnly)
| Sets the element read-only.
bool | isReadOnly () const
| Returns whether the form element is read-only.
virtual void | setPlaceholderText (const WString &placeholder)
| Sets the placeholder text.
const WString & | placeholderText () const
| Returns the placeholder text.
EventSignal & | changed ()
| Signal emitted when the value was changed.
Signal< WValidator::Result > & | validated ()
| Signal emitted when the widget is being validated.
virtual void | setToolTip (const WString &text, TextFormat textFormat=TextFormat::Plain) override
| Sets a tooltip.
virtual bool | canReceiveFocus () const override
| Returns whether the widget can receive focus.
virtual int | tabIndex () const override
| Returns the tab index.
Public Member Functions inherited from Wt::WInteractWidget
| WInteractWidget ()
| Create an InteractWidget.
EventSignal< WKeyEvent > & | keyWentDown ()
| Event signal emitted when a keyboard key is pushed down.
EventSignal< WKeyEvent > & | keyPressed ()
| Event signal emitted when a "character" was entered.
EventSignal< WKeyEvent > & | keyWentUp ()
| Event signal emitted when a keyboard key is released.
EventSignal & | enterPressed ()
| Event signal emitted when enter was pressed.
EventSignal & | escapePressed ()
| Event signal emitted when escape was pressed.
EventSignal< WMouseEvent > & | clicked ()
| Event signal emitted when the primary mouse button was clicked on this widget.
EventSignal< WMouseEvent > & | doubleClicked ()
| Event signal emitted when the primary mouse button was double clicked on this widget.
EventSignal< WMouseEvent > & | mouseWentDown ()
| Event signal emitted when a mouse button was pushed down on this widget.
EventSignal< WMouseEvent > & | mouseWentUp ()
| Event signal emitted when a mouse button was released on this widget.
EventSignal< WMouseEvent > & | mouseWentOut ()
| Event signal emitted when the mouse went out of this widget.
EventSignal< WMouseEvent > & | mouseWentOver ()
| Event signal emitted when the mouse entered this widget.
EventSignal< WMouseEvent > & | mouseMoved ()
| Event signal emitted when the mouse moved over this widget.
EventSignal< WMouseEvent > & | mouseDragged ()
| Event signal emitted when the mouse is dragged over this widget.
EventSignal< WMouseEvent > & | mouseWheel ()
| Event signal emitted when the mouse scroll wheel was used.
EventSignal< WTouchEvent > & | touchStarted ()
| Event signal emitted when a finger is placed on the screen.
EventSignal< WTouchEvent > & | touchEnded ()
| Event signal emitted when a finger is removed from the screen.
EventSignal< WTouchEvent > & | touchMoved ()
| Event signal emitted when a finger, which is already placed on the screen, is moved across the screen.
EventSignal< WGestureEvent > & | gestureStarted ()
| Event signal emitted when a gesture is started.
EventSignal< WGestureEvent > & | gestureChanged ()
| Event signal emitted when a gesture is changed.
EventSignal< WGestureEvent > & | gestureEnded ()
| Event signal emitted when a gesture is ended.
void | setDraggable (const std::string &mimeType, WWidget *dragWidget=nullptr, bool isDragWidgetOnly=false, WObject *sourceWidget=nullptr)
| Configure dragging for drag and drop.
void | unsetDraggable ()
| Disable drag & drop for this widget.
void | setMouseOverDelay (int delay)
| Sets a delay for the mouse over event.
int | mouseOverDelay () const
| Returns the mouse over signal delay.
virtual void | setPopup (bool popup) override
| Lets the widget overlay over other sibling widgets.
virtual void | load () override
| Loads content just before the widget is used.
virtual bool | isEnabled () const override
| Returns whether the widget is enabled.
Public Member Functions inherited from Wt::WWebWidget
| WWebWidget ()
| Construct a WebWidget.
virtual std::vector< WWidget * > | children () const override
| Returns child widgets.
Signal & | childrenChanged ()
| Signal emitted when children have been added or removed.
virtual void | setPositionScheme (PositionScheme scheme) override
| Sets the CSS position scheme.
virtual PositionScheme | positionScheme () const override
| Returns the CSS position scheme.
virtual void | setOffsets (const WLength &offset, WFlags< Side > sides=AllSides) override
| Sets CSS offsets for a non-statically positioned widget.
virtual WLength | offset (Side s) const override
| Returns a CSS offset.
virtual void | resize (const WLength &width, const WLength &height) override
| Resizes the widget.
virtual WLength | width () const override
| Returns the width.
virtual WLength | height () const override
| Returns the height.
virtual void | setMinimumSize (const WLength &width, const WLength &height) override
| Sets a minimum size.
virtual WLength | minimumWidth () const override
| Returns the minimum width.
virtual WLength | minimumHeight () const override
| Returns the minimum height.
virtual void | setMaximumSize (const WLength &width, const WLength &height) override
| Sets a maximum size.
virtual WLength | maximumWidth () const override
| Returns the maximum width.
virtual WLength | maximumHeight () const override
| Returns the maximum height.
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.
virtual void | setFloatSide (Side s) override
| Specifies a CSS float side.
virtual Side | floatSide () const override
| Returns the CSS float side.
virtual void | setClearSides (WFlags< Side > sides) override
| Sets the sides that should be cleared of floats.
virtual WFlags< Side > | clearSides () const override
| Returns the sides that should remain empty.
virtual void | setMargin (const WLength &margin, WFlags< Side > sides=AllSides) override
| Sets CSS margins around the widget.
virtual WLength | margin (Side side) const override
| Returns a CSS margin set.
virtual void | setHiddenKeepsGeometry (bool enabled) override
| Sets whether the widget keeps its geometry when hidden.
virtual bool | hiddenKeepsGeometry () const override
| Returns whether the widget keeps its geometry when hidden.
virtual bool | isHidden () const override
| Returns whether the widget is set hidden.
virtual bool | isVisible () const override
| Returns whether the widget is visible.
virtual void | setDisabled (bool disabled) override
| Sets whether the widget is disabled.
virtual bool | isDisabled () const override
| Returns whether the widget is set disabled.
virtual bool | isPopup () const override
| Returns whether the widget is overlayed.
virtual void | setInline (bool isInline) override
| Sets whether the widget is displayed inline or as a block.
virtual bool | isInline () const override
| Returns whether the widget is displayed inline or as block.
virtual void | setDecorationStyle (const WCssDecorationStyle &style) override
| Sets a CSS decoration style.
virtual WCssDecorationStyle & | decorationStyle () override
| Returns the decoration style of this widget.
virtual void | setStyleClass (const WString &styleClass) override
| Sets (one or more) CSS style classes.
virtual WString | styleClass () const override
| Returns the CSS style class.
virtual void | addStyleClass (const WString &styleClass, bool force=false) override
| Adds a CSS style class.
virtual void | removeStyleClass (const WString &styleClass, bool force=false) override
| Removes a CSS style class.
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.
virtual AlignmentFlag | verticalAlignment () const override
| Returns the vertical alignment.
virtual WLength | verticalAlignmentLength () const override
| Returns the fixed vertical alignment that was set.
virtual void | setDeferredToolTip (bool enable, TextFormat textFormat=TextFormat::Plain) override
| Enable deferred tooltip.
virtual WString | toolTip () const override
| Returns the tooltip.
virtual void | setAttributeValue (const std::string &name, const WString &value) override
| Sets an attribute value.
virtual WString | attributeValue (const std::string &name) const override
| Returns an attribute value.
virtual void | setJavaScriptMember (const std::string &name, const std::string &value) override
| Sets a JavaScript member.
virtual std::string | javaScriptMember (const std::string &name) const override
| Returns the value of a JavaScript member.
virtual void | callJavaScriptMember (const std::string &name, const std::string &args) override
| Calls a JavaScript member.
virtual bool | loaded () const override
| Returns whether this widget has been loaded.
virtual void | setId (const std::string &id) override
| Sets the CSS Id.
virtual WWidget * | find (const std::string &name) override
| Finds a descendent widget by name.
virtual WWidget * | findById (const std::string &id) override
| Finds a descendent widget by id.
virtual void | setSelectable (bool selectable) override
| Sets as selectable.
virtual void | doJavaScript (const std::string &javascript) override
| Executes the given JavaScript statements when the widget is rendered or updated.
virtual const std::string | id () const override
| Returns the (unique) identifier for this object.
void | setLoadLaterWhenInvisible (bool)
| Change the way the widget is loaded when invisible.
std::string | htmlTagName () const
| returns the current html tag name
void | setHtmlTagName (const std::string &tag)
| set the custom HTML tag name
virtual void | setCanReceiveFocus (bool enabled) override
| Sets whether the widget can receive focus.
virtual bool | setFirstFocus () override
| Set focus on the widget's first descendant.
virtual void | setFocus (bool focus) override
| Sets focus.
virtual bool | hasFocus () const override
| Returns whether the widget currently has the focus.
virtual void | setTabIndex (int index) override
| Sets the tab index.
EventSignal & | blurred ()
| Signal emitted when the widget lost focus.
EventSignal & | focussed ()
| Signal emitted when the widget recieved focus.
virtual bool | scrollVisibilityEnabled () const final override
| Returns whether scroll visibility detection is enabled for this widget.
virtual void | setScrollVisibilityEnabled (bool enabled) final override
| Sets whether scroll visibility detection is enabled for this widget.
virtual int | scrollVisibilityMargin () const final override
| Returns the margin around the viewport within which the widget is considered visible.
virtual void | setScrollVisibilityMargin (int margin) final override
| Sets the margin around the viewport within which the widget is considered visible.
virtual Signal< bool > & | scrollVisibilityChanged () final override
| Signal triggered when the scroll visibility of this widget changes.
virtual bool | isScrollVisible () const final override
| Returns whether this widget is currently considered scroll visible.
virtual void | setThemeStyleEnabled (bool enabled) final override
| Sets whether theme styling for a widget is enabled or disabled.
virtual bool | isThemeStyleEnabled () const final override
| Returns whether this widget is currently styled by the chosen theme.
virtual void | setObjectName (const std::string &name) override
| Sets an object name.
void | setFocus ()
| Sets focus.
Public Member Functions inherited from Wt::WWidget
virtual | ~WWidget ()
| Destructor.
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.
std::unique_ptr< WWidget > | removeFromParent ()
| Removes the widget from its parent.
void | setWidth (const WLength &width)
| Sets the width.
void | setHeight (const WLength &height)
| Sets the height.
virtual void | positionAt (const WWidget *widget, Orientation orientation=Orientation::Vertical)
| Positions a widget next to another widget.
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.
void | setFocus ()
| Sets focus.
virtual void | acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString())
| Sets a mime type to be accepted for dropping.
virtual void | stopAcceptDrops (const std::string &mimeType)
| Indicates that a mime type is no longer accepted for dropping.
virtual void | htmlText (std::ostream &out)
| Streams the (X)HTML representation.
bool | isRendered () const
| Returns whether the widget is rendered.
void | hide ()
| Hides the widget.
void | animateHide (const WAnimation &animation)
| Hides the widget using an animation.
void | show ()
| Shows the widget.
void | animateShow (const WAnimation &animation)
| Shows the widget using an animation.
void | enable ()
| Enables the widget.
void | disable ()
| Disable thes widget.
bool | layoutSizeAware () const
| Returns whether the widget is layout size aware.
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.
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.
virtual std::string | objectName () const
| Returns the object name.
void | resetLearnedSlots ()
| Resets learned stateless slot implementations.
template<class T >
void | resetLearnedSlot (void(T::*method)())
| Resets a learned stateless slot implementation.
template<class T >
WStatelessSlot * | implementStateless (void(T::*method)())
| Declares a slot to be stateless and learn client-side behaviour on first invocation.
template<class T >
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)())
| Declares a slot to be stateless and learn client-side behaviour in advance.
void | isNotStateless ()
| Marks the current function as not stateless.
template<class T >
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode)
| Provides a JavaScript implementation for a method.
Public Member Functions inherited from Wt::Core::observable
| observable () noexcept
| Default constructor.
virtual | ~observable ()
| Destructor.
template<typename... Args, typename C >
auto | bindSafe (void(C::*method)(Args...)) noexcept
| Protects a method call against object destruction.
template<typename... Args, typename C >
auto | bindSafe (void(C::*method)(Args...) const) const noexcept
| Protects a const method call against object destruction.
template<typename Function >
auto | bindSafe (const Function &function) noexcept
| Protects a function against object destruction.

## 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.
Static Public Member Functions inherited from Wt::WWidget
static WString | tr (const char *key)
| Short hand for WString::tr()
Static Public Member Functions inherited from Wt::WObject
Static Public Attributes inherited from Wt::WWidget
Protected Types inherited from Wt::WWebWidget
Protected Types inherited from Wt::WWidget
Protected Member Functions inherited from Wt::WComboBox
Protected Member Functions inherited from Wt::WFormWidget
virtual void | enableAjax () override
| Progresses to an Ajax-enabled widget.
virtual void | render (WFlags< RenderFlag > flags) override
| Renders the widget.
virtual void | propagateSetEnabled (bool enabled) override
| Propagates that a widget was enabled or disabled through children.
Protected Member Functions inherited from Wt::WInteractWidget
Protected Member Functions inherited from Wt::WWebWidget
virtual WStatelessSlot * | getStateless (Method method) override
| On-demand stateless slot implementation.
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.
virtual void | layoutSizeChanged (int width, int height)
| Virtual method that indicates a size change.
| WWidget ()
| Creates a widget.
virtual void | dropEvent (WDropEvent dropEvent)
| Handles a drop event.
virtual int | boxPadding (Orientation orientation) const
| Returns the widget's built-in padding.
virtual int | boxBorder (Orientation orientation) const
| Returns the widget's built-in border width.
void | scheduleRender (WFlags< RepaintFlag > flags=None)
| Schedules rerendering of the widget.
Protected Member Functions inherited from Wt::WObject
Protected Attributes inherited from Wt::WFormWidget
Protected Attributes inherited from Wt::WInteractWidget
Static Protected Attributes inherited from Wt::WFormWidget
Static Protected Attributes inherited from Wt::WInteractWidget
Static Protected Attributes inherited from Wt::WWidget

## Detailed Description

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:

Wt::WSelectionBox *selectionBox = addWidget(std::make_unique<Wt::WSelectionBox>());
selectionBox->addItem("Clint Eastwood");
selectionBox->addItem("Mick Jagger");
selectionBox->addItem("Johnny Depp");
selectionBox->addItem("Kate Winslet");
selectionBox->setCurrentIndex(2); // Johnny Depp
selectionBox->activated().connect(this, &MyWidget::comboChanged);
Wt::Signal::connect
virtual Wt::Signals::connection connect(WObject *target, WObject::Method method) override
Connects to a slot.
Definition WSignal.h:730
Wt::WComboBox::setCurrentIndex
void setCurrentIndex(int index)
Changes the current selection.
Wt::WComboBox::activated
Signal< int > & activated()
Signal emitted when the selection changed.
Definition WComboBox.h:216
Wt::WComboBox::addItem
void addItem(const WString &text)
Adds an option item.
Wt::WSelectionBox
A selection box allows selection from a list of options.
Definition WSelectionBox.h:63

WSelectionBox 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.

## Member Function Documentation

## ◆ clearSelection()

void Wt::WSelectionBox::clearSelection | ( |  | ) |

Clears the current selection.

Clears the current selection.

See also
  setCurrentIndex(), setSelectedIndexes()

## ◆ selectedIndexes()

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.

See also
  currentIndex()

## ◆ selectionMode()

virtual SelectionMode Wt::WSelectionBox::selectionMode | ( |  | ) | const
| overridevirtual

Returns the selection mode.

See also
  setSelectionMode(SelectionMode)

Reimplemented from Wt::WComboBox.

## ◆ setSelectedIndexes()

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.

See also
  selectedIndexes()

## ◆ setSelectionMode()

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.

## ◆ setVerticalSize()

void Wt::WSelectionBox::setVerticalSize | ( | int | items | ) |

Sets the number of items that are visible.

If more items are available, a scroll-bar is provided.