Bug #1231
closedScrolling with left mouse button & dragging
0%
Description
It looks like scrolling a draggable widget with scrollbars (ie. Tableview) kicks off dragging logic. The drag widget appears once the left mouse button is released after scrolling.
Dropping doesn't seem to be possible.
Click somewhere on the screen to get rid of the drag widget. Unfortunately it stays on the screen. Repeating this process simply adds another drag widget on the screen.
Files
Updated by Jan Goyvaerts over 12 years ago
- File toomanydragwidget.png toomanydragwidget.png added
Updated by Koen Deforche over 12 years ago
- Status changed from New to InProgress
- Assignee set to Koen Deforche
Updated by Jan Goyvaerts over 12 years ago
- File toomanydragwidget.avi toomanydragwidget.avi added
The video shows three WTableView being added. A drag widget is created each time the left mouse button is depressed.
I can't get rid of it. And each new WTableView has its own it seems. More than one is even possible when fumbling around some more.
Note also that when adding a WTableView the other tables are being reset. That's probably not the intended behavior either.
Updated by Koen Deforche over 12 years ago
- Status changed from InProgress to Feedback
Hey Jan,
This seems a fundamental problem with the onmousedown/onmouseup signals being interfered by scrollbars (which I wasn't aware of). Other 'draggable' implementations seem to suffer from the very same problem, e.g.: http://stackoverflow.com/questions/8793236/using-jquery-ui-draggable-how-to-avoid-drag-when-using-scrollbar
In my opinion, it is thus not possible to make a widget that contains complex widgets like a WTableView draggable.
I would recommend to only make the title-bar / or a special icon draggable. You can set a sourceWidget in setDraggable() that identifies the actual table / configuration just as if the whole thing has been draggable.
Regards,
koen
Updated by Koen Deforche over 12 years ago
- Status changed from Feedback to Resolved
Hey Jan,
I may have spoken too soon. This morning it struck me that there might be a way to detect that the initial drag operation started on a scrollbar.
I've implemented this and it seems to work. It requires an update of the JWt library (I'll be pushing this to the jwt repository later today).
What version of JWt are you currently using ?
Regards,
koen
Updated by Jan Goyvaerts over 12 years ago
We're using 3.2.0.
This doesn't work. It was worth a shot. :-)
private final WTableView table = new WTableView() {
{
propagateSetEnabled(false);
}
};
Please let me know when and where I can download a new release of JWt. Thanks !
Updated by Koen Deforche over 12 years ago
Hey Jan,
https://github.com/kdeforche/jwt
'ant release' will build the jwt libraries. Note if you are upgrading from JWt 3.2.0: quite a number of things changed in JWt 3.2.1 with respect to the distribution of the libraries (although the API was kept stable).
Regards,
koen
Updated by Koen Deforche over 12 years ago
- Target version set to 3.2.2
Hey Jan,
Not yet. We're still working through the process for maven to upload version 3.2.1 which has a number of changes in terms of libraries and dependencies. But that version does not include this fix.
To use, during development, a development version of JWt, you can add the packages manually to your maven respository.
Regards,
koen
Updated by Koen Deforche over 12 years ago
- Status changed from Resolved to Closed
Available in JWt 3.2.2