File tree Expand file tree Collapse file tree 3 files changed +21
-7
lines changed
Expand file tree Collapse file tree 3 files changed +21
-7
lines changed Original file line number Diff line number Diff line change @@ -1209,19 +1209,29 @@ std::unique_ptr<WWidget> WAbstractItemView::createHeaderWidget(int column)
12091209 return std ::move (result );
12101210}
12111211
1212+ void WAbstractItemView ::enableAjax ()
1213+ {
1214+ WCompositeWidget ::enableAjax ();
1215+ if (uDragWidget_ ) {
1216+ headerContainer ()-> addWidget (std ::move (uDragWidget_ ));
1217+ configureModelDragDrop ();
1218+ }
1219+ }
1220+
12121221void WAbstractItemView ::setDragEnabled (bool enable )
12131222{
12141223 if (dragEnabled_ != enable ) {
12151224 dragEnabled_ = enable ;
12161225
12171226 if (enable ) {
1218- std ::unique_ptr < WText > dragWidget (new WText ());
1219- dragWidget_ = dragWidget .get ();
1220- dragWidget -> setId (id () + "dw" );
1221- dragWidget -> setInline (false);
1222- dragWidget -> hide ();
1223- setAttributeValue ("dwid" , dragWidget -> id ());
1224- headerContainer ()-> addWidget (std ::move (dragWidget ));
1227+ uDragWidget_ = cpp14 ::make_unique < WText > ( );
1228+ dragWidget_ = uDragWidget_ .get ();
1229+ dragWidget_ -> setId (id () + "dw" );
1230+ dragWidget_ -> setInline (false);
1231+ dragWidget_ -> hide ();
1232+ setAttributeValue ("dwid" , dragWidget_ -> id ());
1233+ if (headerContainer ())
1234+ headerContainer ()-> addWidget (std ::move (uDragWidget_ ));
12251235
12261236 configureModelDragDrop ();
12271237 } else {
Original file line number Diff line number Diff line change @@ -946,6 +946,7 @@ class WT_API WAbstractItemView : public WCompositeWidget
946946 int currentSortColumn_;
947947
948948 bool dragEnabled_, dropsEnabled_;
949+ std::unique_ptr<WWidget> uDragWidget_;
949950 observing_ptr<WWidget> dragWidget_;
950951
951952 virtual void scheduleRerender (RenderState what);
@@ -1014,6 +1015,8 @@ class WT_API WAbstractItemView : public WCompositeWidget
10141015
10151016 virtual bool internalSelect (const WModelIndex& index, SelectionFlag option);
10161017
1018+ virtual void enableAjax () override ;
1019+
10171020 void setEditState (const WModelIndex& index, const cpp17::any& editState);
10181021 cpp17::any editState (const WModelIndex& index) const ;
10191022 bool hasEditFocus (const WModelIndex& index) const ;
Original file line number Diff line number Diff line change @@ -214,6 +214,7 @@ void WTableView::enableAjax()
214214 setup ();
215215 defineJavaScript ();
216216 scheduleRerender (RenderState ::NeedRerenderHeader );
217+ WAbstractItemView ::enableAjax ();
217218}
218219
219220void WTableView ::resize (const WLength & width , const WLength & height )
You can’t perform that action at this time.
0 commit comments