]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEEditBindings.java
Sync git svn branch with SVN repository r33144.
[simantics/platform.git] / bundles / org.simantics.browsing.ui.nattable / src / org / simantics / browsing / ui / nattable / GEEditBindings.java
diff --git a/bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEEditBindings.java b/bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEEditBindings.java
new file mode 100644 (file)
index 0000000..19ada02
--- /dev/null
@@ -0,0 +1,56 @@
+package org.simantics.browsing.ui.nattable;\r
+\r
+import org.eclipse.nebula.widgets.nattable.config.AbstractUiBindingConfiguration;\r
+import org.eclipse.nebula.widgets.nattable.edit.action.CellEditDragMode;\r
+import org.eclipse.nebula.widgets.nattable.edit.action.KeyEditAction;\r
+import org.eclipse.nebula.widgets.nattable.edit.action.MouseEditAction;\r
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;\r
+import org.eclipse.nebula.widgets.nattable.painter.cell.CheckBoxPainter;\r
+import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;\r
+import org.eclipse.nebula.widgets.nattable.ui.binding.UiBindingRegistry;\r
+import org.eclipse.nebula.widgets.nattable.ui.matcher.CellEditorMouseEventMatcher;\r
+import org.eclipse.nebula.widgets.nattable.ui.matcher.CellPainterMouseEventMatcher;\r
+import org.eclipse.nebula.widgets.nattable.ui.matcher.KeyEventMatcher;\r
+import org.eclipse.nebula.widgets.nattable.ui.matcher.LetterOrDigitKeyEventMatcher;\r
+import org.eclipse.nebula.widgets.nattable.ui.matcher.MouseEventMatcher;\r
+import org.eclipse.swt.SWT;\r
+\r
+public class GEEditBindings extends AbstractUiBindingConfiguration {\r
+       \r
+    @Override\r
+    public void configureUiBindings(UiBindingRegistry uiBindingRegistry) {\r
+        // configure the space key to activate a cell editor via keyboard\r
+        // this is especially useful for changing the value for a checkbox\r
+        uiBindingRegistry.registerKeyBinding(\r
+                new KeyEventMatcher(SWT.NONE, 32),\r
+                new KeyEditAction());\r
+        uiBindingRegistry.registerKeyBinding(\r
+                new KeyEventMatcher(SWT.NONE, SWT.F2),\r
+                new KeyEditAction());\r
+        uiBindingRegistry.registerKeyBinding(\r
+                new LetterOrDigitKeyEventMatcher(),\r
+                new KeyEditAction());\r
+        uiBindingRegistry.registerKeyBinding(\r
+                new LetterOrDigitKeyEventMatcher(SWT.MOD2),\r
+                new KeyEditAction());\r
+\r
+        uiBindingRegistry.registerSingleClickBinding(\r
+                new SelectedCellEditorMatcher(GridRegion.BODY),\r
+                new MouseEditAction());\r
+\r
+        uiBindingRegistry.registerMouseDragMode(\r
+                new CellEditorMouseEventMatcher(GridRegion.BODY),\r
+                new CellEditDragMode());\r
+\r
+        uiBindingRegistry.registerFirstSingleClickBinding(\r
+                new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),\r
+                new MouseEditAction());\r
+\r
+        uiBindingRegistry.registerFirstMouseDragMode(\r
+                new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),\r
+                new CellEditDragMode());\r
+\r
+    }\r
+\r
+       \r
+}\r