Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Kuntz2019-10-16 09:04:35 +0000
committerBenedikt Kuntz2019-10-16 09:04:35 +0000
commit45811fbeac5276d648181e81f7da78ee60b12b52 (patch)
tree32d2e8b4407ea4842f2790978b45bc2eb2739a9e /bundles
parent52ce709bf40adcc686b1dba01771e5558bc31840 (diff)
downloadeclipse.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.java31
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());

Back to the top