diff options
author | Benedikt Kuntz | 2019-10-16 09:04:35 +0000 |
---|---|---|
committer | Benedikt Kuntz | 2019-10-16 09:04:35 +0000 |
commit | 45811fbeac5276d648181e81f7da78ee60b12b52 (patch) | |
tree | 32d2e8b4407ea4842f2790978b45bc2eb2739a9e /bundles | |
parent | 52ce709bf40adcc686b1dba01771e5558bc31840 (diff) | |
download | eclipse.platform.ui.tools-45811fbeac5276d648181e81f7da78ee60b12b52.tar.gz eclipse.platform.ui.tools-45811fbeac5276d648181e81f7da78ee60b12b52.tar.xz eclipse.platform.ui.tools-45811fbeac5276d648181e81f7da78ee60b12b52.zip |
Bug 551553 - Model editor - cannot select Imports in fragments viaI20191016-1800
keyboard
add listeners for arrow up/down to set focus to viewer/search text box
and to select the first element when table viewer gains focus
Change-Id: Iabb914f4a161fd0e8b2b0bcaa6a49b9b71e2e3a8
Signed-off-by: Benedikt Kuntz <benedikt.kuntz@airbus.com>
Diffstat (limited to 'bundles')
-rw-r--r-- | bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/FindParentReferenceElementDialog.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/FindParentReferenceElementDialog.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/FindParentReferenceElementDialog.java index 72275d7b..ab8aeb9f 100644 --- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/FindParentReferenceElementDialog.java +++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/FindParentReferenceElementDialog.java @@ -53,6 +53,10 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerCell; import org.eclipse.jface.viewers.ViewerComparator; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.FocusAdapter; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; @@ -226,6 +230,33 @@ public class FindParentReferenceElementDialog extends TitleAreaDialog { list = new WritableList<>(); viewer.setInput(list); + viewer.getControl().addFocusListener(new FocusAdapter() { + @Override + public void focusGained(FocusEvent e) { + if (viewer.getTable().getItemCount() > 0) { + viewer.getTable().select(0); + } + } + }); + + viewer.getTable().addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + super.keyPressed(e); + if (e.keyCode == SWT.ARROW_UP && viewer.getTable().getSelectionIndex() == 0) { + searchText.setFocus(); + } + } + }); + + searchText.addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if (e.keyCode == SWT.ARROW_DOWN) { + viewer.getTable().setFocus(); + } + } + }); searchText.addModifyListener(e -> updateSearch()); |