[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();