This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 101523

Summary: API: Fast scene scrolling when the scene is in a locked-state and locked-widget is out of visible area
Product: platform Reporter: David Kaspar <dkaspar>
Component: GraphAssignee: issues@platform <issues>
Severity: blocker Keywords: API_REVIEW_FAST
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on:    
Bug Blocks: 105496, 105009    
Attachments: Patch

Description David Kaspar 2007-04-18 09:59:34 UTC
The visible area of the scene is automatically scrolled to show the locked
widget when an action returns locked-state.

This makes problem when there is a bigger widget in a scene. Just a small part
of the widget is visible at the scene view (the rest is cut by the border of the
viewport). The widget has to have a move action assigned. When an user, presses
the mouse-button while the mouse cursor is over the widget, then move action
switches the scene to the locked-state. Therefore the library automatically
scrolls the view to show the widget completely. When the move-action processes
next AWT event, it thinks that the mouse cursor have moved far more in
scene-coordintation system and move the widget far more that it has to be.

This is caused by the fact that the mouse-cursor movement has to be observed
from the view-coordination-system where the mouse-cursor is accurate.
Comment 1 David Kaspar 2007-04-18 10:01:01 UTC
Possible fixes:
1) Correct the mouse-location by the distance which was scrolled using
auto-scrolling feature. This may affect/reduce the auto-scrolling feature and
therefore it may be a backward-incompatible solution for users.
2) Introduce a new API for controlling auto-scrolling feature e.g. by setting
maximal scroll-range. Requires API changes.
3) Implement hard-coded maximal scroll-range of auto-scrolling feature.
Comment 2 Joelle Lam 2007-04-18 20:43:18 UTC
Joanne, can you confirm that this was fixed in this morning's nbm.  I believe NBM#6.
Comment 3 Joelle Lam 2007-04-18 21:31:49 UTC
Ignore my last comment.  Meant for a different issue.
Comment 4 Joelle Lam 2007-04-20 19:11:50 UTC
*** Issue 101429 has been marked as a duplicate of this issue. ***
Comment 5 David Kaspar 2007-05-28 15:31:28 UTC
Attaching a patch for the issue. It changes bahavior of evaluation/processing
mouse-dragged event. Now the mouse-dragged is related to a original location.
When the cursor is outside of visible area when then it automatically scroll by
32 to particular side.

The patch changes an implementation only. Since it significantly
modifies/improves the UI behavior, it is proposed as an API change.
Comment 6 David Kaspar 2007-05-28 15:32:09 UTC
Created attachment 42858 [details]
Comment 7 David Kaspar 2007-06-05 09:49:13 UTC
Fixed in main trunk. Version 2.3.
Comment 8 David Kaspar 2007-06-07 12:56:24 UTC
Scrolling logic has been reimplemented.