类org.eclipse.ui.texteditor.ITextEditorExtension源码实例Demo

下面列出了怎么用org.eclipse.ui.texteditor.ITextEditorExtension的API类实例代码及写法,或者点击链接到github查看源代码。

private boolean canModifyEditor(ITextEditor editor)
{
	if (editor instanceof ITextEditorExtension2)
	{
		return ((ITextEditorExtension2) editor).isEditorInputModifiable();
	}
	else if (editor instanceof ITextEditorExtension)
	{
		return !((ITextEditorExtension) editor).isEditorInputReadOnly();
	}
	else if (editor != null)
	{
		return editor.isEditable();
	}
	return false;
}
 
@Override
public void setActiveEditor(IEditorPart part) {
	super.setActiveEditor(part);
	if (part instanceof ITextEditor) {
		ITextEditor textEditor = (ITextEditor) part;
		if (commandsMenuContributionItem != null) {
			commandsMenuContributionItem.setTextEditor(textEditor);
		}

		if (inputPositionStatsContributionItem != null) {
			inputPositionStatsContributionItem.setActionHandler(getAction(textEditor, ITextEditorActionConstants.GOTO_LINE));
			ITextEditorExtension extension = (ITextEditorExtension) textEditor;
			extension.setStatusField(inputPositionStatsContributionItem, ITextEditorActionConstants.STATUS_CATEGORY_INPUT_POSITION);
		}

		if (part instanceof AbstractThemeableEditor) {
			FoldingActionsGroup foldingActions = ((AbstractThemeableEditor) part).getFoldingActionsGroup();
			if (foldingActions != null) {
				foldingActions.updateActionBars();
			}
		}
		markOccurrencesAction.setEditor(textEditor);
	}
}
 
源代码3 项目: Pydev   文件: BaseAction.java
/**
 * @return true if the contents of the editor may be changed. Clients MUST call this before actually
 * modifying the editor.
 */
public static boolean canModifyEditor(ITextEditor editor) {

    if (editor instanceof ITextEditorExtension2) {
        return ((ITextEditorExtension2) editor).isEditorInputModifiable();

    } else if (editor instanceof ITextEditorExtension) {
        return !((ITextEditorExtension) editor).isEditorInputReadOnly();

    } else if (editor != null) {
        return editor.isEditable();

    }

    //If we don't have the editor, let's just say it's ok (working on document).
    return true;
}
 
源代码4 项目: xds-ide   文件: AddBlockCommentHandler.java
protected boolean validateEditorInputState(ITextEditor editor) {
    if (editor instanceof ITextEditorExtension2)
        return ((ITextEditorExtension2) editor).validateEditorInputState();
    else if (editor instanceof ITextEditorExtension)
        return !((ITextEditorExtension) editor).isEditorInputReadOnly();
    else if (editor != null)
        return editor.isEditable();
    else
        return false;
}
 
源代码5 项目: xds-ide   文件: RemoveBlockCommentHandler.java
protected boolean validateEditorInputState(ITextEditor editor) {
    if (editor instanceof ITextEditorExtension2)
        return ((ITextEditorExtension2) editor).validateEditorInputState();
    else if (editor instanceof ITextEditorExtension)
        return !((ITextEditorExtension) editor).isEditorInputReadOnly();
    else if (editor != null)
        return editor.isEditable();
    else
        return false;
}
 
源代码6 项目: e4macs   文件: EmacsPlusCmdHandler.java
/**
 * Eclipse forces us to check this ourselves
 * 
 * @return true if the editor is modifiable
 */
private boolean getEditable() {
	boolean result = false;
	ITextEditor editor= getThisEditor();
	if (editor != null) {
		if (editor instanceof ITextEditorExtension2)
			result = ((ITextEditorExtension2) editor).isEditorInputModifiable();
		else if (editor instanceof ITextEditorExtension)
			result = !((ITextEditorExtension) editor).isEditorInputReadOnly();
		else 
			result = editor.isEditable();
	} 
	return result;
}
 
private void findJavaAnnotation() {
	fPosition= null;
	fAnnotation= null;
	fHasCorrection= false;

	AbstractMarkerAnnotationModel model= getAnnotationModel();
	IAnnotationAccessExtension annotationAccess= getAnnotationAccessExtension();

	IDocument document= getDocument();
	if (model == null)
		return ;

	boolean hasAssistLightbulb= fStore.getBoolean(PreferenceConstants.EDITOR_QUICKASSIST_LIGHTBULB);

	Iterator<Annotation> iter= model.getAnnotationIterator();
	int layer= Integer.MIN_VALUE;

	while (iter.hasNext()) {
		Annotation annotation= iter.next();
		if (annotation.isMarkedDeleted())
			continue;

		int annotationLayer= layer;
		if (annotationAccess != null) {
			annotationLayer= annotationAccess.getLayer(annotation);
			if (annotationLayer < layer)
				continue;
		}

		Position position= model.getPosition(annotation);
		if (!includesRulerLine(position, document))
			continue;

		AnnotationPreference preference= fAnnotationPreferenceLookup.getAnnotationPreference(annotation);
		if (preference == null)
			continue;

		String key= preference.getVerticalRulerPreferenceKey();
		if (key == null)
			continue;

		if (!fStore.getBoolean(key))
			continue;

		boolean isReadOnly= fTextEditor instanceof ITextEditorExtension && ((ITextEditorExtension)fTextEditor).isEditorInputReadOnly();
		if (!isReadOnly
				&& (
					((hasAssistLightbulb && annotation instanceof AssistAnnotation)
					|| JavaCorrectionProcessor.hasCorrections(annotation)))) {
			fPosition= position;
			fAnnotation= annotation;
			fHasCorrection= true;
			layer= annotationLayer;
			continue;
		} else if (!fHasCorrection) {
				fPosition= position;
				fAnnotation= annotation;
				layer= annotationLayer;
		}
	}
}
 
源代码8 项目: xds-ide   文件: ToggleCommentHandler.java
/**
 * Checks and validates the editor's modifiable state. Returns <code>true</code> if an action
 * can proceed modifying the editor's input, <code>false</code> if it should not.
 *
 * <p>If the editor implements <code>ITextEditorExtension2</code>,
 * this method returns {@link ITextEditorExtension2#validateEditorInputState()};<br> else if the editor
 * implements <code>ITextEditorExtension</code>, it returns {@link ITextEditorExtension#isEditorInputReadOnly()};<br>
 * else, {@link ITextEditor#isEditable()} is returned, or <code>false</code> if the editor is <code>null</code>.</p>
 *
 * <p>There is only a difference to {@link #canModifyEditor()} if the editor implements
 * <code>ITextEditorExtension2</code>.</p>
 *
 * @return <code>true</code> if a modifying action can proceed to modify the underlying document, <code>false</code> otherwise
 */
protected boolean validateEditorInputState(ITextEditor editor) {
    if (editor instanceof ITextEditorExtension2)
        return ((ITextEditorExtension2) editor).validateEditorInputState();
    else if (editor instanceof ITextEditorExtension)
        return !((ITextEditorExtension) editor).isEditorInputReadOnly();
    else if (editor != null)
        return editor.isEditable();
    else
        return false;
}
 
源代码9 项目: goclipse   文件: TextEditorAction_Adapter.java
/**
 * Checks the editor's modifiable state. Returns <code>true</code> if the editor can be modified,
 * taking in account the possible editor extensions.
 *
 * <p>If the editor implements <code>ITextEditorExtension2</code>,
 * this method returns {@link ITextEditorExtension2#isEditorInputModifiable()};<br> else if the editor
 * implements <code>ITextEditorExtension</code>, it returns {@link ITextEditorExtension#isEditorInputReadOnly()};<br>
 * else, {@link ITextEditor#isEditable()} is returned, or <code>false</code> if the editor is <code>null</code>.</p>
 *
 * <p>There is only a difference to {@link #validateEditorInputState()} if the editor implements
 * <code>ITextEditorExtension2</code>.</p>
 *
 * @return <code>true</code> if a modifying action should be enabled, <code>false</code> otherwise
 * @since 3.0
 */
protected boolean canModifyEditor() {
	ITextEditor editor= getTextEditor();
	if (editor instanceof ITextEditorExtension2)
		return ((ITextEditorExtension2) editor).isEditorInputModifiable();
	else if (editor instanceof ITextEditorExtension)
		return !((ITextEditorExtension) editor).isEditorInputReadOnly();
	else if (editor != null)
		return editor.isEditable();
	else
		return false;
}
 
源代码10 项目: goclipse   文件: TextEditorAction_Adapter.java
/**
 * Checks and validates the editor's modifiable state. Returns <code>true</code> if an action
 * can proceed modifying the editor's input, <code>false</code> if it should not.
 *
 * <p>If the editor implements <code>ITextEditorExtension2</code>,
 * this method returns {@link ITextEditorExtension2#validateEditorInputState()};<br> else if the editor
 * implements <code>ITextEditorExtension</code>, it returns {@link ITextEditorExtension#isEditorInputReadOnly()};<br>
 * else, {@link ITextEditor#isEditable()} is returned, or <code>false</code> if the editor is <code>null</code>.</p>
 *
 * <p>There is only a difference to {@link #canModifyEditor()} if the editor implements
 * <code>ITextEditorExtension2</code>.</p>
 *
 * @return <code>true</code> if a modifying action can proceed to modify the underlying document, <code>false</code> otherwise
 * @since 3.0
 */
protected boolean validateEditorInputState() {
	ITextEditor editor= getTextEditor();
	if (editor instanceof ITextEditorExtension2)
		return ((ITextEditorExtension2) editor).validateEditorInputState();
	else if (editor instanceof ITextEditorExtension)
		return !((ITextEditorExtension) editor).isEditorInputReadOnly();
	else if (editor != null)
		return editor.isEditable();
	else
		return false;
}
 
 类所在包
 类方法
 同包方法