|
5 | 5 |
|
6 | 6 | import org.eclipse.jface.viewers.ArrayContentProvider; |
7 | 7 | import org.eclipse.jface.viewers.ColumnLabelProvider; |
| 8 | +import org.eclipse.jface.viewers.ColumnViewerEditor; |
| 9 | +import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; |
| 10 | +import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy; |
| 11 | +import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter; |
8 | 12 | import org.eclipse.jface.viewers.StyledCellLabelProvider; |
9 | 13 | import org.eclipse.jface.viewers.TableViewer; |
10 | 14 | import org.eclipse.jface.viewers.TableViewerColumn; |
| 15 | +import org.eclipse.jface.viewers.TableViewerEditor; |
| 16 | +import org.eclipse.jface.viewers.TableViewerFocusCellManager; |
11 | 17 | import org.eclipse.jface.viewers.ViewerCell; |
12 | 18 | import org.eclipse.swt.SWT; |
13 | 19 | import org.eclipse.swt.custom.StyleRange; |
@@ -80,6 +86,28 @@ public void keyReleased(KeyEvent ke) { |
80 | 86 | private void createViewer(Composite parent) { |
81 | 87 | viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL |
82 | 88 | | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); |
| 89 | + |
| 90 | + ColumnViewerEditorActivationStrategy actStrategy = new ColumnViewerEditorActivationStrategy( |
| 91 | + viewer) { |
| 92 | + protected boolean isEditorActivationEvent( |
| 93 | + ColumnViewerEditorActivationEvent event) { |
| 94 | + return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL |
| 95 | + || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION |
| 96 | + // || event.eventType == |
| 97 | + // ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION |
| 98 | + || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED); |
| 99 | + } |
| 100 | + |
| 101 | + }; |
| 102 | + |
| 103 | + final TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager( |
| 104 | + viewer, new FocusCellOwnerDrawHighlighter(viewer)); |
| 105 | + |
| 106 | + TableViewerEditor.create(viewer, focusCellMgr, actStrategy, |
| 107 | + ColumnViewerEditor.TABBING_HORIZONTAL |
| 108 | + | ColumnViewerEditorActivationEvent.TRAVERSAL |
| 109 | + | ColumnViewerEditor.KEYBOARD_ACTIVATION); |
| 110 | + |
83 | 111 | createColumns(parent, viewer); |
84 | 112 | final Table table = viewer.getTable(); |
85 | 113 | table.setHeaderVisible(true); |
@@ -164,6 +192,7 @@ public String getText(Object element) { |
164 | 192 | return p.getGender(); |
165 | 193 | } |
166 | 194 | }); |
| 195 | + |
167 | 196 | col.setEditingSupport(new GenderEditingSupport(viewer)); |
168 | 197 |
|
169 | 198 | // // Now the status married |
|
0 commit comments