Bug #5470
closedWTableView::selectionChanged() signal isn't emitted after upgrading from 3.3.4 to 3.3.6
0%
Description
I use WTableView is with the following selection properties:
table->setSelectionMode(Wt::SingleSelection);
table->setSelectionBehavior(Wt::SelectRows);
WTableView::selectionChanged() used to be emitted with 3.3.4. WTableView::selectionChanged() isn't emitted anymore after upgrading to 3.3.6. I had to connect to WTableView::clicked() signal.
Files
Updated by Kayra Akman almost 8 years ago
- File tableview_test.cpp tableview_test.cpp added
To reproduce the regression "progressive-bootstrap" should be enabled.
Updated by Roel Standaert almost 8 years ago
- Status changed from New to InProgress
- Assignee set to Roel Standaert
It looks like the issue is that the mousedown event on WTableView does not arrive when using progressive bootstrap.
Updated by Roel Standaert almost 8 years ago
This is due to the WTableView being rendered as a plain WTable initially. It is never updated to the proper Ajax-based implementation. I'll look into making this transition possible.
Updated by Roel Standaert almost 8 years ago
- Status changed from InProgress to Implemented @Emweb
Updated by Roel Standaert almost 8 years ago
- Status changed from Implemented @Emweb to Resolved
Updated by Roel Standaert over 7 years ago
- Status changed from Resolved to Closed
Updated by Kayra Akman over 7 years ago
- File tab2_table.png tab2_table.png added
Unfortunately this issue is not fixed with Wt 3.3.7. It should be reopened.
The fix for this issue fixed only how WTableView in Tab 1 is rendered, i.e. that it is properly rendered as a WTableView. The WTableView in Tab 2, which is loaded lazily, is still rendered as a table and, therefore, only the clicked() signal is received not selectionChanged(). Note that lazy-loading is the default way of adding a tab to WTabWidget.
The attached screenshot shows the WTableView in Tab 2 of the test application attached to the original report.
Some remarks:
- Progressive bootstrap is enabled. When it is disabled, WTableView in Tab 2 is rendered properly and selectionChanged() is emitted.
- Issue reproducible in a secondary WTabWidget tab which is loaded lazily.
- Wt built today (15.04.2017) from the master branch including all the commits after the 3.3.7 release.
It is the combination of progressive bootstrap and lazy tab loading that leads to this issue.
Updated by Kayra Akman over 7 years ago
- File tableview_test_2.cpp tableview_test_2.cpp added
Original test code didn't have a WTableView in the second tab. Updated test code attached.
Updated by Roel Standaert over 7 years ago
- Status changed from InProgress to Implemented @Emweb
This time it should fully work.
Updated by Kayra Akman over 7 years ago
I have tested with the HEAD of the master branch. Both signals are emitted. Thanks.
Updated by Roel Standaert over 7 years ago
- Status changed from Implemented @Emweb to Resolved
Updated by Roel Standaert over 7 years ago
- Status changed from Resolved to Closed