]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEEditBindings.java
Merge commit '876ede6'
[simantics/platform.git] / bundles / org.simantics.browsing.ui.nattable / src / org / simantics / browsing / ui / nattable / GEEditBindings.java
1 package org.simantics.browsing.ui.nattable;\r
2 \r
3 import org.eclipse.nebula.widgets.nattable.config.AbstractUiBindingConfiguration;\r
4 import org.eclipse.nebula.widgets.nattable.edit.action.CellEditDragMode;\r
5 import org.eclipse.nebula.widgets.nattable.edit.action.KeyEditAction;\r
6 import org.eclipse.nebula.widgets.nattable.edit.action.MouseEditAction;\r
7 import org.eclipse.nebula.widgets.nattable.grid.GridRegion;\r
8 import org.eclipse.nebula.widgets.nattable.painter.cell.CheckBoxPainter;\r
9 import org.eclipse.nebula.widgets.nattable.ui.binding.UiBindingRegistry;\r
10 import org.eclipse.nebula.widgets.nattable.ui.matcher.CellEditorMouseEventMatcher;\r
11 import org.eclipse.nebula.widgets.nattable.ui.matcher.CellPainterMouseEventMatcher;\r
12 import org.eclipse.nebula.widgets.nattable.ui.matcher.KeyEventMatcher;\r
13 import org.eclipse.nebula.widgets.nattable.ui.matcher.LetterOrDigitKeyEventMatcher;\r
14 import org.eclipse.nebula.widgets.nattable.ui.matcher.MouseEventMatcher;\r
15 import org.eclipse.swt.SWT;\r
16 \r
17 public class GEEditBindings extends AbstractUiBindingConfiguration {\r
18         \r
19     @Override\r
20     public void configureUiBindings(UiBindingRegistry uiBindingRegistry) {\r
21         // configure the space key to activate a cell editor via keyboard\r
22         // this is especially useful for changing the value for a checkbox\r
23         uiBindingRegistry.registerKeyBinding(\r
24                 new KeyEventMatcher(SWT.NONE, 32),\r
25                 new KeyEditAction());\r
26         uiBindingRegistry.registerKeyBinding(\r
27                 new KeyEventMatcher(SWT.NONE, SWT.F2),\r
28                 new KeyEditAction());\r
29         uiBindingRegistry.registerKeyBinding(\r
30                 new LetterOrDigitKeyEventMatcher(),\r
31                 new KeyEditAction());\r
32         uiBindingRegistry.registerKeyBinding(\r
33                 new LetterOrDigitKeyEventMatcher(SWT.MOD2),\r
34                 new KeyEditAction());\r
35 \r
36         uiBindingRegistry.registerSingleClickBinding(\r
37                 new SelectedCellEditorMatcher(GridRegion.BODY),\r
38                 new MouseEditAction());\r
39 \r
40         uiBindingRegistry.registerMouseDragMode(\r
41                 new CellEditorMouseEventMatcher(GridRegion.BODY),\r
42                 new CellEditDragMode());\r
43 \r
44         uiBindingRegistry.registerFirstSingleClickBinding(\r
45                 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),\r
46                 new MouseEditAction());\r
47 \r
48         uiBindingRegistry.registerFirstMouseDragMode(\r
49                 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),\r
50                 new CellEditDragMode());\r
51 \r
52     }\r
53 \r
54         \r
55 }\r