1 package org.simantics.browsing.ui.nattable;
\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
17 public class GEEditBindings extends AbstractUiBindingConfiguration {
\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
36 uiBindingRegistry.registerSingleClickBinding(
\r
37 new SelectedCellEditorMatcher(GridRegion.BODY),
\r
38 new MouseEditAction());
\r
40 uiBindingRegistry.registerMouseDragMode(
\r
41 new CellEditorMouseEventMatcher(GridRegion.BODY),
\r
42 new CellEditDragMode());
\r
44 uiBindingRegistry.registerFirstSingleClickBinding(
\r
45 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),
\r
46 new MouseEditAction());
\r
48 uiBindingRegistry.registerFirstMouseDragMode(
\r
49 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),
\r
50 new CellEditDragMode());
\r