private void initEditOnDoubleClick() {
TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer));
ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(treeViewer) {
@Override
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
// Enable editor only with mouse double click
if (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION) {
EventObject source = event.sourceEvent;
if (source instanceof MouseEvent && ((MouseEvent) source).button == 3)
return false;
return true;
}
return false;
}
};
TreeViewerEditor.create(treeViewer, focusCellManager, activationSupport,
// ColumnViewerEditor.TABBING_HORIZONTAL |
ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
}
java类org.eclipse.jface.viewers.TreeViewerFocusCellManager的实例源码
StructureTreeWidget.java 文件源码
项目:TranskribusSwtGui
阅读 27
收藏 0
点赞 0
评论 0
LabResultEditingSupport.java 文件源码
项目:elexis-3-core
阅读 25
收藏 0
点赞 0
评论 0
protected void setUpCellEditor(ColumnViewer viewer){
// set up validation of the cell editors
textCellEditor = new TextCellEditor((Composite) viewer.getControl());
textCellEditor.addListener(new ICellEditorListener() {
@Override
public void editorValueChanged(boolean oldValidState, boolean newValidState){
if (newValidState) {
textCellEditor.getControl()
.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
} else {
textCellEditor.getControl()
.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
}
}
@Override
public void cancelEditor(){
textCellEditor.getControl()
.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
}
@Override
public void applyEditorValue(){
textCellEditor.getControl()
.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
}
});
focusCell =
new TreeViewerFocusCellManager((TreeViewer) viewer, new FocusCellHighlighter(viewer) {
});
ColumnViewerEditorActivationStrategy actSupport =
new ColumnViewerEditorActivationStrategy(viewer) {
@Override
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event){
return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
&& event.keyCode == SWT.CR)
|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
&& event.keyCode == SWT.KEYPAD_CR)
|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
}
};
TreeViewerEditor.create((TreeViewer) viewer, focusCell, actSupport,
ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
}