Bug 143310 - EditPartViewer#getFocus is not delegated to the SelectionManager
Summary: EditPartViewer#getFocus is not delegated to the SelectionManager
Status: CLOSED FIXED
Alias: None
Product: GEF
Classification: Tools
Component: GEF-Legacy GEF (MVC) (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.2.0 (Callisto) RC4   Edit
Assignee: Mohammed Mostafa CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2006-05-23 16:12 EDT by Cherie Revells CLA
Modified: 2014-05-22 04:16 EDT (History)
1 user (show)

See Also:


Attachments
Fix (926 bytes, patch)
2006-05-29 12:23 EDT, Mohammed Mostafa CLA
nyssen: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cherie Revells CLA 2006-05-23 16:12:09 EDT
Cannot reorient connections with keyboard.  

To reproduce:
- Create a connection between two shapes in a GEF shapes example.
- Select the connection.
- Press . (period) to select an endpoint.
- Move the endpoint using the arrow keys.

ISSUE:  The endpoint does not move relative to the arrow keys and cannot be connected to a new shape.

NOTE:  This usecase fails in GMF also; however, connection bendpoint moving works in GMF with the arrow keys.

WORKAROUND:  Delete the connection and create a new one.
Comment 1 Randy Hudson CLA 2006-05-23 16:33:10 EDT
The shapes example does not demonstrate accessibility.
Comment 2 Cherie Revells CLA 2006-05-23 16:46:27 EDT
It lets me move the endpoint, but just not in the direction of the arrow keys?  It's movement seems to be unpredictable.  

If you don't think this is a GEF issue, I can move it to GMF.  It is an issue in GMF.
Comment 3 Randy Hudson CLA 2006-05-24 09:25:04 EDT
GEF moves to the nearest accessible anchor point in the direction you choose. We do not simply move the mouse 1 pixel, as that can be achieved using mousekeys.
Comment 4 Pratik Shah CLA 2006-05-24 17:25:36 EDT
Hmm, this used to work in the logic example, but I notice that it's broken in RC3.  What is happening is that the cursor moves to the location of the central bendpoint on the connection.  Maybe something has changed making that an accessible anchor point.
Comment 5 Randy Hudson CLA 2006-05-25 10:14:58 EDT
SelectionManager was added to AbstractEditPartViewer recently. All selection and focus should be maintained by this new manager. It seems like setFocus() is not delegated to the manager.

Note that AbstractEditPartViewer maintains a protected field containing focus. We need to try to keep this field updated with the same value that is in the manager, in case subclasses are accessing it.
Comment 6 Mohammed Mostafa CLA 2006-05-29 12:23:11 EDT
Created attachment 42874 [details]
Fix
Comment 7 Mohammed Mostafa CLA 2006-05-29 12:24:06 EDT
Created a ptach to keep the member variable focusPart in Synch with the selection manager focus part
Comment 8 Steven R. Shaw CLA 2006-05-29 13:24:53 EDT
+1 from Steve.
Mohammed indicated Randy had approved the fix as well.
Comment 9 Mohammed Mostafa CLA 2006-05-29 13:45:51 EDT
steve commited the patch
Comment 10 Steven R. Shaw CLA 2006-05-30 08:50:52 EDT
Verified fix in logic designer example..