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

Bug 17670

Summary: Cannot move through Plug-in Code Generation page list with arrow keys
Product: [Eclipse Project] Platform Reporter: Tod Creasey <Tod_Creasey>
Component: SWTAssignee: Veronika Irvine <veronika_irvine>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: P2 CC: dejan, eclipse, James_Moody, Mike_Wilson
Version: 2.0Keywords: accessibility
Target Milestone: 2.0 F3   
Hardware: PC   
OS: Linux-Motif   
Whiteboard:

Description Tod Creasey CLA 2002-05-24 10:34:38 EDT
Build 20020521

Note that this does work on Windows 2000 and is a Linux only issue.

On Linux motif you cannot use the arrow keys to move through the code generation
wizards list.

STEPS
1) Select New-Project
2) Select Plug-in project
3) Enter name and Hit Next twice
4) Tab through and select "Create using a code generation wizard.
5) Tab again - you will be in the list
6) Hit the arrow key - you will go t othe second entry
7) Hit it again - no effect 
8) Tab to get to the description - it skips it
Comment 1 Dejan Glozic CLA 2002-05-30 17:48:07 EDT
This does not look like a PDE problem - arrow support is built-in SWT widgets.

Moving to SWT - the wizard list in question uses a Table widget with one 
(hidden) column.
Comment 2 Mike Wilson CLA 2002-05-31 09:38:22 EDT
Linux table accessibility issue.
Comment 3 Nick Edgar CLA 2002-06-03 10:52:37 EDT
We are currently referring to this PR from our checklist of accessibility 
failures.
Please consider as P1/F3.
Comment 4 Veronika Irvine CLA 2002-06-04 10:07:16 EDT
The problem is that focus is being grabbed by the scrollbar in cases where the 
description requires a scrollbar.

I need to see how the GUI code for the "Plug-in Code Generators" page is 
written to debug further.  Can anyone point me to this class?
Comment 5 Veronika Irvine CLA 2002-06-04 17:35:14 EDT
OK I found the class (ProjectCodeGeneratorsPage).

The bug is caused by the line wizardList.setFocus() in 
ProjectCodeGeneratorsPage.setWizardListEnabled().

This is a scenario SWT is not handling correctly on motif.  

The fix might be quite complicated and impact many other things.  Before we try 
to make this change, could you tell me if there is a reason why you need to set 
focus to the wizardList after enabling it?
Comment 6 Dejan Glozic CLA 2002-06-04 18:04:19 EDT
I guess we can comment the focus grab part out. From the keyboard access point 
of view, when you select the second radio button, the list will enable, but you 
would need to press 'Tab' to switch to it. 
Comment 7 Veronika Irvine CLA 2002-06-05 08:09:17 EDT
You could also try wrapping the setFocus in an asynchExec - it is a timing 
problem on motif.  In case you don't have access to a motif machine I will give 
it a try too.
Comment 8 Mike Wilson CLA 2002-06-05 13:59:19 EDT
*** Bug 19333 has been marked as a duplicate of this bug. ***
Comment 9 Veronika Irvine CLA 2002-06-05 15:29:34 EDT
Hang on Dejan.  I had some bogus code in my workspace and commenting out the 
setFocus doesn't actually fix the problem like I thought.  Steve and I are 
still investigating.

Sorry.
Comment 10 James Moody CLA 2002-06-06 10:10:53 EDT
*** Bug 12236 has been marked as a duplicate of this bug. ***
Comment 11 Veronika Irvine CLA 2002-06-06 10:59:02 EDT
Fixed!!!!

The Header of the emulated Table was grabbing focus due to a bug in the 
setEnabled code.

Fix is in the Composite.propogateWidget() method to check for the SWT.NO_FOCUS 
style and ensure that the XmNTraversalOn bit is set to 0 (i.e. disable native 
traversal).

Reviewed by SN, VI and MW
Comment 12 Tod Creasey CLA 2002-06-14 09:46:13 EDT
Verified on F3