Wt
4.11.0
|
Standard delegate class for rendering a view item. More...
#include <Wt/WItemDelegate.h>
Public Member Functions | |
WItemDelegate () | |
Create an item delegate. | |
virtual std::unique_ptr< WWidget > | update (WWidget *widget, const WModelIndex &index, WFlags< ViewItemRenderFlag > flags) override |
Creates or updates a widget that renders an item. | |
virtual void | updateModelIndex (WWidget *widget, const WModelIndex &index) override |
Updates the model index of a widget. | |
void | setTextFormat (const WString &format) |
Sets the text format string. | |
const WString & | textFormat () const |
Returns the text format string. | |
virtual void | setModelData (const cpp17::any &editState, WAbstractItemModel *model, const WModelIndex &index) const override |
Saves the edited data to the model. | |
virtual cpp17::any | editState (WWidget *editor, const WModelIndex &index) const override |
Returns the current edit state. | |
virtual void | setEditState (WWidget *editor, const WModelIndex &index, const cpp17::any &value) const override |
Sets the editor data from the editor state. | |
Public Member Functions inherited from Wt::WAbstractItemDelegate | |
WAbstractItemDelegate () | |
Constructor. | |
virtual | ~WAbstractItemDelegate () |
Destructor. | |
virtual ValidationState | validate (const WModelIndex &index, const cpp17::any &editState) const |
Returns whether the edited value is valid. | |
Signal< WWidget *, bool > & | closeEditor () |
Signal which indicates that an editor needs to be closed. | |
const Signal< WWidget *, bool > & | closeEditor () const |
Signal which indicates that an editor needs to be closed. | |
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. | |
Protected Member Functions | |
virtual std::unique_ptr< WWidget > | createEditor (const WModelIndex &index, WFlags< ViewItemRenderFlag > flags) const |
Creates an editor for a data item. | |
Protected Member Functions inherited from Wt::WObject | |
virtual WStatelessSlot * | getStateless (Method method) |
On-demand stateless slot implementation. | |
Additional Inherited Members | |
Public Types inherited from Wt::WObject | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
Standard delegate class for rendering a view item.
This class provides the standard implementation for rendering an item (as in a WAbstractItemView), and renders data provided by the standard data roles (see ItemDataRole). It also provides default editing support using a line edit.
You may provide special editing support for an item by specializing the widget and reimplement createEditor(), setModelData(), editState(), and setEditState().
|
protectedvirtual |
Creates an editor for a data item.
The default implementation returns a WLineEdit which edits the item's Wt::ItemDataRole::Edit value.
You may reimplement this method to provide a suitable editor, or to attach a custom validator. In that case, you will probably also want to reimplement editState(), setEditState(), and setModelData().
The editor should not keep a reference to the model index (it does not need to since setModelData() will provide the proper model index to save the data to the model). Otherwise, because model indexes may shift because of row or column insertions, you should reimplement updateModelIndex().
As an example of how to provide a specialized editor, consider the default implementation, which returns a WLineEdit:
|
overridevirtual |
Returns the current edit state.
The default implementation returns the current text in the line edit. You will need to reimplement this method for a custom editor.
As an example of how to deal with a specialized editor, consider the default implementation:
Reimplemented from Wt::WAbstractItemDelegate.
|
overridevirtual |
Sets the editor data from the editor state.
The default implementation resets the text in the line edit. You will need to reimplement this method if for a custom editor.
As an example of how to deal with a specialized editor, consider the default implementation:
Reimplemented from Wt::WAbstractItemDelegate.
|
overridevirtual |
Saves the edited data to the model.
The default implementation saves the current edit value to the model. You will need to reimplement this method for a custom editor.
As an example of how to deal with a specialized editor, consider the default implementation:
Reimplemented from Wt::WAbstractItemDelegate.
Sets the text format string.
The ItemDataRole::Display data is converted to a string using asString() by passing the given format.
The default value is "".
Returns the text format string.
|
overridevirtual |
Creates or updates a widget that renders an item.
The following properties of an item are rendered:
When the flags indicates Wt::ViewItemRenderFlag::Editing, then createEditor() is called to create a suitable editor for editing the item.
Implements Wt::WAbstractItemDelegate.
|
overridevirtual |
Updates the model index of a widget.
This method is invoked by the view when due to row/column insertions or removals, the index has shifted.
You should reimplement this method only if you are storing the model index in the widget
, to update the stored model index.
The default implementation does nothing.
Reimplemented from Wt::WAbstractItemDelegate.