SWT newb ie здесь. Итак, я хочу иметь возможность выделять целую строку, а также иметь возможность выбрать несколько строк и сделать так, чтобы двойной щелчок редактировал ячейки. Нужен ли focusCellManager? Соответствующие фрагменты кода:
EditorActivationEvent
final ColumnViewerEditorActivationStrategy actSupport =
new ColumnViewerEditorActivationStrategy(this)
{
@Override
protected boolean isEditorActivationEvent
(ColumnViewerEditorActivationEvent event)
{
return event.type ==
ColumnViewerEditorActivationEvent.TRAVERSAL
|| event.eventType ==
ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
|| event.eventType ==
ColumnViewerEditorActivationEvent.KEY_PRESSED
|| event.eventType ==
ColumnViewerEditorActivationEvent.PROGRAMMATIC;
}
};
создание TableViewerEditor
TableViewerEditor.create(this,
mgr,
actSupport,
ColumnViewerEditor.TABBING_HORIZONTAL|
ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR|
ColumnViewerEditor.TABBING_VERTICAL|
ColumnViewerEditor.KEYBOARD_ACTIVATION);
код для mgr (focusCellManager):
focusCellOwnerDrawHighlighter drawHighlighter = new FocusCellOwnerDrawHighlighter(this);
final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(this, null);
tableViewer (не отображается в предыдущих фрагментах, поскольку tableViewer расширен другим классом, и мы используем другой класс, поэтому я не хочу вас путать):
TableViewer vwr = new TableViewer(tableComposite,SWT.BORDER|SWT.FULL_SELECTION|SWT.MULTI);