--- /dev/null
+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