Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 276942

Summary: connector discovery wizard keyboard navigation and focus management
Product: z_Archived Reporter: David Green <greensopinion>
Component: MylynAssignee: David Green <greensopinion>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P2 CC: steffen.pingel
Version: unspecified   
Target Milestone: 3.2   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 276232    
Attachments:
Description Flags
mylyn/context/zip
none
patch that manages traversal
none
mylyn/context/zip
none
mylyn/context/zip none

Description David Green CLA 2009-05-19 12:15:16 EDT
the list of connectors should be navigable using the keyboard, and tabbing to a descriptor should ensure that it is visible in the scrolled panel
Comment 1 Steffen Pingel CLA 2009-05-19 15:33:21 EDT
The TraverseListener in ControlListViewer and the revealControl() method may have some of the code that you need to implement this.
Comment 2 David Green CLA 2009-05-21 17:21:50 EDT
Turning on 'Full Keyboard Access' on a mac enables tabbing onto a descriptor's checkbox.  I don't think that we need to programatically control which items get focus, however ensuring that a focus change causes the newly focused item to be visible in the scrolled pane is still relevant.
Comment 3 Steffen Pingel CLA 2009-05-21 17:32:19 EDT
Keyboard navigation does not work on Linux. Once the list gets focus I am stuck and can not focus on other controls or leave the dialog.

There is a flag on the ScrolledComposite that makes it auto-scroll if a child gets focus.
Comment 4 David Green CLA 2009-06-02 23:39:56 EDT
Steffen I've made a fix for this, committed to CVS.  There was a problem with a listener sucking up all the events -- It may be fixed for Linux now.  Can you take a look and see if it's working for you?
Comment 5 David Green CLA 2009-06-02 23:40:01 EDT
Created attachment 138085 [details]
mylyn/context/zip
Comment 6 Steffen Pingel CLA 2009-06-04 00:51:01 EDT
Works for me with the latest from head. Thanks David!
Comment 7 Steffen Pingel CLA 2009-06-04 00:52:58 EDT
Only nit is that I am not able to navigate to the Info hyperlinks.
Comment 8 David Green CLA 2009-06-04 01:05:39 EDT
(In reply to comment #7)
> Only nit is that I am not able to navigate to the Info hyperlinks.

Good point.  I'll see what I can do about that.
Comment 9 David Green CLA 2009-06-04 11:22:42 EDT
Created attachment 138299 [details]
patch that manages traversal

The attached patch attempts to manage focus programatically.  It works as it should, with the exception that on Mac/Cocoa the SWT Label widget refuses to accept focus.  The Label widget is used for the information image link.  We could use a Button instead of a Label, however I'm not aware of a way to style the button so that it looks as it does now (SWT.FLAT is not enough).  We could probably use a Button and paint it ourselves.  Open to feedback here.
Comment 10 David Green CLA 2009-06-04 11:23:36 EDT
Created attachment 138300 [details]
mylyn/context/zip
Comment 11 David Green CLA 2009-06-04 11:47:32 EDT
Fixed.  Info link is now a real button, which can accept focus.  Custom painting makes it look flat.
Comment 12 David Green CLA 2009-06-04 11:48:01 EDT
Created attachment 138303 [details]
mylyn/context/zip