下面列出了org.eclipse.jface.text.ITextViewer#getTextOperationTarget ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* The <code>TextOperationAction</code> implementation of this <code>IUpdate</code> method discovers the operation
* through the current editor's <code>ITextOperationTarget</code> adapter, and sets the enabled state accordingly.
*/
@Override
public void update() {
if (!fAllowUpdate)
return;
super.update();
if (!fRunsOnReadOnly && !canModifyViewer()) {
setEnabled(false);
return;
}
ITextViewer viewer = getTextViewer();
if (fOperationTarget == null && viewer != null && fOperationCode != -1)
fOperationTarget = viewer.getTextOperationTarget();
boolean isEnabled = (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
setEnabled(isEnabled);
}
@Override
public void update() {
super.update();
if (!isEnabled())
return;
if (!canModifyViewer()) {
setEnabled(false);
return;
}
ITextViewer viewer = getTextViewer();
if (fOperationTarget == null && viewer != null && fOperationCode != -1)
fOperationTarget = viewer.getTextOperationTarget();
}
@Override
public boolean isEnabled(boolean isWritable) {
if (!isWritable)
return false;
/*
* Note that this implementation still honors the result returned by canDoOperation.
* I.e. if the viewer is set to read-only, this method still returns false.
* It covers the case in which the viewer is also writable.
*
*/
ITextViewer viewer = getTextViewer();
if (fOperationTarget == null && viewer != null && fOperationCode != -1)
fOperationTarget = viewer.getTextOperationTarget();
return (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
}
public TextViewerAction(ITextViewer viewer, int operationCode) {
this.operationCode = operationCode;
operationTarget = viewer.getTextOperationTarget();
update();
}
/**
* Creates a new action.
*
* @param viewer
* the viewer
* @param operationCode
* the opcode
*/
public TextViewerAction(ITextViewer viewer, int operationCode) {
fOperationCode = operationCode;
fOperationTarget = viewer.getTextOperationTarget();
update();
}
/**
* Creates a new action.
*
* @param viewer the viewer
* @param operationCode the opcode
*/
public TextViewerAction(ITextViewer viewer, int operationCode) {
fOperationCode= operationCode;
fOperationTarget= viewer.getTextOperationTarget();
update();
}