/** * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ /* * Created on 12/06/2005 */ package org.python.pydev.core; import java.util.Map; import org.eclipse.jface.text.IDocument; import org.eclipse.ui.IEditorInput; import org.python.pydev.core.parser.IParserObserver; /** * @author Fabio */ public interface IPyEdit extends IParserObserver { /** * @return the python nature used in this editor * @throws NotConfiguredInterpreterException * @throws MisconfigurationException */ IPythonNature getPythonNature() throws MisconfigurationException; /** * @return the editor input */ IEditorInput getEditorInput(); /** * This map may be used by clients to store info regarding this editor. * * Clients should be careful so that this key is unique and does not conflict with other * plugins. * * This is not enforced. * * The suggestion is that the cache key is always preceded by the class name that will use it. */ Map<String, Object> getCache(); /** * @return whether this edit and the one passed as a parameter have the same input. */ boolean hasSameInput(IPyEdit edit); IDocument getDocument(); /** * Set status message */ void setStatusLineErrorMessage(String msg); IGrammarVersionProvider getGrammarVersionProvider(); IIndentPrefs getIndentPrefs(); }