1#line 2 "src/Gui/AccountRegister/DelegateBase.cpp"
3#include <Wt/WDateTime.h>
35 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
36 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
49 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
51 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
64 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
66 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
79 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
80 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
95 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
96 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
97 <<
"(): " <<
typeid( _widget ).name()
98 <<
"(): " <<
typeid( *_widget ).name()
112 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
114 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
115 <<
" " << _value.type().name()
129 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << __FUNCTION__
130 <<
" (" << _index.row() <<
"," << _index.column() <<
")"
139 auto _equal = []( Wt::cpp17::any _a, Wt::cpp17::any _b )
141 if( !_a.has_value() && !_b.has_value() )
144 if( _a.type() != _b.type() )
148 if( _a.type() ==
typeid(int) )
149 return Wt::cpp17::any_cast<int>(_a)
150 == Wt::cpp17::any_cast<int>(_b);
152 if( _a.type() ==
typeid(std::string) )
153 return Wt::cpp17::any_cast<std::string>(_a)
154 == Wt::cpp17::any_cast<std::string>(_b);
156 if( _a.type() ==
typeid(
double) )
157 return Wt::cpp17::any_cast<double>(_a)
158 == Wt::cpp17::any_cast<double>(_b);
161 return Wt::cpp17::any_cast<Wt::WString>(_a)
162 == Wt::cpp17::any_cast<Wt::WString>(_b);
165 return Wt::cpp17::any_cast<Wt::WDateTime>(_a)
166 == Wt::cpp17::any_cast<Wt::WDateTime>(_b);
168 std::cout << __FILE__ <<
":" << __LINE__ <<
" unhandled type: " << _a.type().name() << std::endl;
181 if( !_equal( modelData, _editState ) )
184 std::cout << __FILE__ <<
":" << __LINE__ <<
" data changed"
virtual auto update(Wt::WWidget *_widget, const Wt::WModelIndex &_index, Wt::WFlags< Wt::ViewItemRenderFlag > _flags) -> std::unique_ptr< Wt::WWidget >
virtual auto setModelData(const Wt::cpp17::any &_editState, Wt::WAbstractItemModel *_model, const Wt::WModelIndex &_index) const -> void
virtual auto editState(Wt::WWidget *_widget, const Wt::WModelIndex &_index) const -> Wt::cpp17::any
virtual auto updateModelIndex(Wt::WWidget *_widget, const Wt::WModelIndex &_index) -> void
virtual auto setEditState(Wt::WWidget *_widget, const Wt::WModelIndex &_index, const Wt::cpp17::any &_value) const -> void
virtual auto createEditor(const Wt::WModelIndex &index, Wt::WFlags< Wt::ViewItemRenderFlag > flags) const -> std::unique_ptr< Wt::WWidget >
virtual auto validate(const Wt::WModelIndex &_index, const Wt::cpp17::any &_editState) const -> Wt::ValidationState
DelegateBase()
Base Delegate.
static constexpr const int Edit
virtual ValidationState validate(const WModelIndex &index, const cpp17::any &editState) const
virtual std::unique_ptr< WWidget > createEditor(const WModelIndex &index, WFlags< ViewItemRenderFlag > flags) const
virtual void updateModelIndex(WWidget *widget, const WModelIndex &index) override
virtual std::unique_ptr< WWidget > update(WWidget *widget, const WModelIndex &index, WFlags< ViewItemRenderFlag > flags) override
virtual cpp17::any editState(WWidget *editor, const WModelIndex &index) const override
virtual void setModelData(const cpp17::any &editState, WAbstractItemModel *model, const WModelIndex &index) const override
WString asString(const cpp17::any &v, const WString &formatString=WString())