1 package org.simantics.browsing.ui.nattable;
3 import org.eclipse.nebula.widgets.nattable.config.AbstractUiBindingConfiguration;
4 import org.eclipse.nebula.widgets.nattable.edit.action.CellEditDragMode;
5 import org.eclipse.nebula.widgets.nattable.edit.action.KeyEditAction;
6 import org.eclipse.nebula.widgets.nattable.edit.action.MouseEditAction;
7 import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
8 import org.eclipse.nebula.widgets.nattable.painter.cell.CheckBoxPainter;
9 import org.eclipse.nebula.widgets.nattable.ui.binding.UiBindingRegistry;
10 import org.eclipse.nebula.widgets.nattable.ui.matcher.CellEditorMouseEventMatcher;
11 import org.eclipse.nebula.widgets.nattable.ui.matcher.CellPainterMouseEventMatcher;
12 import org.eclipse.nebula.widgets.nattable.ui.matcher.KeyEventMatcher;
13 import org.eclipse.nebula.widgets.nattable.ui.matcher.LetterOrDigitKeyEventMatcher;
14 import org.eclipse.nebula.widgets.nattable.ui.matcher.MouseEventMatcher;
15 import org.eclipse.swt.SWT;
17 public class GEEditBindings extends AbstractUiBindingConfiguration {
20 public void configureUiBindings(UiBindingRegistry uiBindingRegistry) {
21 // configure the space key to activate a cell editor via keyboard
22 // this is especially useful for changing the value for a checkbox
23 uiBindingRegistry.registerKeyBinding(
24 new KeyEventMatcher(SWT.NONE, 32),
26 uiBindingRegistry.registerKeyBinding(
27 new KeyEventMatcher(SWT.NONE, SWT.F2),
29 uiBindingRegistry.registerKeyBinding(
30 new LetterOrDigitKeyEventMatcher(),
32 uiBindingRegistry.registerKeyBinding(
33 new LetterOrDigitKeyEventMatcher(SWT.MOD2),
36 uiBindingRegistry.registerSingleClickBinding(
37 new SelectedCellEditorMatcher(GridRegion.BODY),
38 new MouseEditAction());
40 uiBindingRegistry.registerMouseDragMode(
41 new CellEditorMouseEventMatcher(GridRegion.BODY),
42 new CellEditDragMode());
44 uiBindingRegistry.registerFirstSingleClickBinding(
45 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),
46 new MouseEditAction());
48 uiBindingRegistry.registerFirstMouseDragMode(
49 new CellPainterMouseEventMatcher(GridRegion.BODY, MouseEventMatcher.LEFT_BUTTON, CheckBoxPainter.class),
50 new CellEditDragMode());