[326585] Deployment assembly table is not keyboard accessible
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html b/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html
index 4cbfd9a..9e96f3c 100644
--- a/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html
+++ b/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html
@@ -14,5 +14,6 @@
<h2>org.eclipse.wst.common_ui.feature</h2>
<p>Bug <a href='https://bugs.eclipse.org/326417'>326417</a>. Deployment Assembly Verifier for classpath entries</p>
+<p>Bug <a href='https://bugs.eclipse.org/326585'>326585</a>. Deployment assembly table is not keyboard accessible</p>
</body>
</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/feature.properties b/features/org.eclipse.wst.common_ui.feature.patch/feature.properties
index 510f83a..d83ba67 100644
--- a/features/org.eclipse.wst.common_ui.feature.patch/feature.properties
+++ b/features/org.eclipse.wst.common_ui.feature.patch/feature.properties
@@ -28,6 +28,7 @@
Contains fixes described in the following bugzilla(s):\n\
\n\
Bug https://bugs.eclipse.org/326417 Deployment Assembly Verifier for classpath entries\n\
+Bug https://bugs.eclipse.org/326585 Deployment assembly table is not keyboard accessible\n\
\n\
# "copyright" property - text of the "Feature Update Copyright"
copyright=\
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
index ed1e9e5..f1f1886 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
@@ -35,7 +35,11 @@
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.ColumnViewerEditor;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ISelection;
@@ -46,6 +50,8 @@
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.TreeViewerEditor;
+import org.eclipse.jface.viewers.TreeViewerFocusCellManager;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
@@ -657,6 +663,22 @@
Tree tree = new Tree(parent, flags);
TreeViewer tempViewer = new TreeViewer(tree);
+
+ TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(tempViewer,new FocusCellOwnerDrawHighlighter(tempViewer));
+ ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tempViewer) {
+ private final int SPACE = 32;
+ protected boolean isEditorActivationEvent(
+ ColumnViewerEditorActivationEvent event) {
+ return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
+ || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
+ || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SPACE)
+ || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
+ }
+ };
+
+ TreeViewerEditor.create(tempViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
+ | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
+ | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
// set up table layout
TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();