Skip to main content
Jump to: navigation, search

Albireo Focus Management Test Cases

Revision as of 20:56, 17 February 2008 by Gordon.hirsch.sas.com (Talk | contribs) (New page: === Get initial focus in one click === # Open application from the examples plug-in and show focus views (FV) 1-3, without having clicked inside any of them. # Click directly on the table...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Get initial focus in one click

  1. Open application from the examples plug-in and show focus views (FV) 1-3, without having clicked inside any of them.
  2. Click directly on the table in either FV 1 or 2. Use a view that is currently inactive. Table and containing view should become focused, with a table row highlighted and one cell outlined, showing that it has focus.
  3. Click directly on the table in the other FV. The same should happen with that table.

Problem (Windows, SWT 3.3, Java 1.5-1.6):

After clicking on each table, table row is highlighted but cell is not given focus.

This problem disappears as soon as there is a second click on any one of the tables. At that point a cell has focus, and clicking on all other tables also focuses a cell.

This problem never appears if the first click is on the view which already has focus.

Albireo fix:

Implementing the fix from bug 216431 when on Windows and Eclipse 3.3. Call EmbeddedFrame.synthesizeWindowActivation when the frame is activated and deactivated.

The SWT bug fix is new with 3.4M5. Earlier 3.4 milestones will have the problem described above.

Notes:

This sounds like problem A from IlvFocusDebugging, but I have not been able to reproduce it on Linux/GTK, and the fix above is only for Windows.

Restore focus on return from another application

  1. Open application with Focus views 1-3 showing
  2. Click directly on on a table in FV1 or 2. A table cell gets focus.
  3. Activate some other application's window
  4. Reactivate the RCP application. Focus should return to the same table cell.

Problem (Windows, SWT 3.3-3.4, Java 1.5-1.6):

The AWT frame is given back focus, but JTable is not, even though it is the permanent focus owner.

Albireo fix:

When implementing the fix from bug 216431 (see test case above), use Display.addFilter() and consume the SWT.Deactivate and SWT.Activate events so that SWT_AWT does not process them further. Otherwise, the AWT KeyboardFocusManager becomes confused by two different attempts to activate the embedded frame.

Notes:

Keep focus when clicking on parent view tab

  1. Open application with Focus view 1 or 2 showing.
  2. Click on a table cell to give it focus
  3. Click on the table's view tab (which already is focused)

Problem (Windows, SWT 3.3-3.4, Java 1.5-1.6):

Table loses focus.

Albireo fix:

Manually reactivate the embedded frame when the SwingControl is temporarily deactivated before getting back the focus (SWT does not reactivate the SwingControl in this case, so the frame does not get activated).

Notes:

This sounds like problem A from IlvFocusDebugging, but I have not been able to reproduce it on Linux/GTK, and the fix above is only for Windows.


Do not steal focus when populating Swing controls

  1. Open application and show Focus views 1-3 simultaneously
  2. Focus on FV 3 (the SWT-only view)
  3. Exit the application. Window state should be saved.
  4. Re-run the application. FV 3 should be the focused view.

Problem (GTK, SWT 3.3-3.4, Java 1.5-1.6):

Focus is stolen by one of the other views when Swing tables are populated at startup

Albireo fix:

Notes:

Back to the top