Wt: Wt::WItemSelectionModel Class Reference

Wt 4.10.4

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

A class that represents a selection for a WAbstractItemView. More...

`#include <Wt/WItemSelectionModel.h>`

Inheritance diagram for Wt::WItemSelectionModel:
[legend]

## Public Member Functions
std::shared_ptr< WAbstractItemModel > | model () const
| Returns the WAbstractItemModel.
WModelIndexSet | selectedIndexes () const
| Returns the set of selected items.
bool | isSelected (const WModelIndex &index) const
| Returns wheter an item is selected.
void | setSelectionBehavior (SelectionBehavior behavior)
| Sets the selection behaviour.
SelectionBehavior | selectionBehavior () const
| Returns the selection behaviour.
virtual std::string | mimeType ()
| Returns the selection mime type.
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 const std::string | id () const
| Returns the (unique) identifier for this object.
virtual void | setObjectName (const std::string &name)
| Sets an object name.
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::WObject
Protected Member Functions inherited from Wt::WObject
virtual WStatelessSlot * | getStateless (Method method)
| On-demand stateless slot implementation.

## Detailed Description

A class that represents a selection for a WAbstractItemView.

This model is currently only used by WTreeView, and plays only a role in drag & drop of an item selection.

When an item selection is dragged from a view widget, the generated drop events will have as source object (see WDropEvent::source()) this selection model.

Although this class does not (yet) allow you to modify the selection, note that manipulations to the model may modify the selection (row insertions and removals may shift the selection, and row deletions may shrink the selection).

Note
  Currently this class cannot be shared between multiple views.

See also
  WTreeView, WTableView, WAbstractItemModel

## Member Function Documentation

## ◆ isSelected()

bool Wt::WItemSelectionModel::isSelected | ( | const WModelIndex & | index | ) | const

Returns wheter an item is selected.

When selection operates on rows (SelectionBehavior::Rows), this method returns true for each element in a selected row.

See also
  selectedIndexes()

## ◆ mimeType()

virtual std::string Wt::WItemSelectionModel::mimeType | ( |  | ) |
| virtual

Returns the selection mime type.

This should return the mime type for the current selection, or an emtpy string if the selection cannot be dragged.

The default implementation returns the mime type based on ItemDataRole::MimeType data if all selected items indicate the same mime type, or the model mimeType() otherwise.

If one or more items indicate that they cannot be dragged, then an empty string is returned.

## ◆ selectedIndexes()

WModelIndexSet Wt::WItemSelectionModel::selectedIndexes | ( |  | ) | const

Returns the set of selected items.

The model indexes are returned as a set, topologically ordered (in the order they appear in the view).

When selection operates on rows (SelectionBehavior::Rows), this method only returns the model index of first column's element of the selected rows.

## ◆ selectionBehavior()

SelectionBehavior Wt::WItemSelectionModel::selectionBehavior | ( |  | ) | const

Returns the selection behaviour.

See also
  setSelectionBehavior()

## ◆ setSelectionBehavior()

void Wt::WItemSelectionModel::setSelectionBehavior | ( | SelectionBehavior | behavior | ) |

Sets the selection behaviour.

By default, the selection contains rows (SelectionBehavior::Rows), in which case model indexes will always be have column 0, but represent the whole row.

Alternatively, you can allow selection for individual items (SelectionBehavior::Items).