Project

General

Profile

Bug #1231

Scrolling with left mouse button & dragging

Added by Jan Goyvaerts over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
04/11/2012
Due date:
% Done:

0%

Estimated time:

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

toomanydragwidget.png (309 KB) toomanydragwidget.png Three drag widgets on the screen. Each scroll creates one more. Jan Goyvaerts, 04/11/2012 03:39 PM
toomanydragwidget.avi (4.29 MB) toomanydragwidget.avi Jan Goyvaerts, 04/11/2012 06:01 PM
#2

Updated by Koen Deforche over 9 years ago

  • Status changed from New to InProgress
  • Assignee set to Koen Deforche
#3

Updated by Jan Goyvaerts over 9 years ago

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.

#4

Updated by Koen Deforche over 9 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

#5

Updated by Koen Deforche over 9 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

#6

Updated by Jan Goyvaerts over 9 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 !

#7

Updated by Koen Deforche over 9 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

#8

Updated by Jan Goyvaerts over 9 years ago

Is there a Maven build too ?

#9

Updated by Koen Deforche over 9 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

#10

Updated by Koen Deforche over 9 years ago

  • Status changed from Resolved to Closed

Available in JWt 3.2.2

Also available in: Atom PDF