modesteditor.core
Class ModestEditor

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.EditorPart
              extended by org.eclipse.ui.texteditor.AbstractTextEditor
                  extended by org.eclipse.ui.texteditor.StatusTextEditor
                      extended by org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
                          extended by modesteditor.core.ModestEditor
All Implemented Interfaces:
IModestSimulationListener, ISimulationListener, ISimulationViewListener, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IEditorPart, org.eclipse.ui.INavigationLocationProvider, org.eclipse.ui.IReusableEditor, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.part.IWorkbenchPartOrientation, org.eclipse.ui.texteditor.ITextEditor, org.eclipse.ui.texteditor.ITextEditorExtension, org.eclipse.ui.texteditor.ITextEditorExtension2, org.eclipse.ui.texteditor.ITextEditorExtension3, org.eclipse.ui.texteditor.ITextEditorExtension4

public class ModestEditor
extends org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
implements IModestSimulationListener, ISimulationViewListener, ISimulationListener

MoDeST specific text editor.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
org.eclipse.ui.texteditor.AbstractTextEditor.AbstractSelectionChangedListener, org.eclipse.ui.texteditor.AbstractTextEditor.LineStartAction
 
Nested classes/interfaces inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
org.eclipse.ui.texteditor.ITextEditorExtension3.InsertMode
 
Field Summary
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
fAnnotationAccess, fIsUpdatingMarkerViews, fLineNumberRulerColumn, fOverviewRuler, fSourceViewerDecorationSupport
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
ACTION_MAP, DEFAULT_EDITOR_CONTEXT_MENU_ID, DEFAULT_RULER_CONTEXT_MENU_ID, fErrorLabel, PREFERENCE_COLOR_BACKGROUND, PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_FIND_SCOPE, PREFERENCE_COLOR_FOREGROUND, PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_SELECTION_BACKGROUND, PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_SELECTION_FOREGROUND, PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT, PREFERENCE_FONT, PREFERENCE_HYPERLINK_KEY_MODIFIER, PREFERENCE_HYPERLINK_KEY_MODIFIER_MASK, PREFERENCE_HYPERLINKS_ENABLED, PREFERENCE_NAVIGATION_SMART_HOME_END, PREFERENCE_USE_CUSTOM_CARETS, PREFERENCE_WIDE_CARET, VERTICAL_RULER_WIDTH
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Fields inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
INSERT, SMART_INSERT
 
Constructor Summary
ModestEditor()
           
 
Method Summary
protected  void createActions()
          The ModestEditor implementation of this AbstractTextEditor method extend the actions to add those specific to the receiver
 void deleteMarkers()
           
 java.lang.Object getAdapter(java.lang.Class adaptTo)
          Returns this editor's outline page if requested.
static ModestEditor getEditor()
           
 ModestSimulation getSimulation()
          Returns the ModestSimulation representing the document in this editor.
protected  void initializeEditor()
          Called by Eclipse to initialize the editor.
 boolean isSaveAsAllowed()
          Allow the Save As ... command.
protected  void performSaveAs(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
 void simulationChanged(ModestSimulation sim)
          Called when the ModestSimulation is updated.
 void simulationChanged(SimulationRoot sim)
          When the SimulationRoot changes after a step in the simulation, remove the highlighting.
 void simulationViewChanged(java.lang.Object selection)
           
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
collectContextMenuPreferencePages, collectRulerMenuPreferencePages, configureSourceViewerDecorationSupport, createAnnotationAccess, createAnnotationRulerColumn, createChangeHover, createChangeRulerColumn, createCompositeRuler, createLineNumberRulerColumn, createOverviewRuler, createPartControl, createSourceViewer, createStatusControl, createVerticalRuler, dispose, disposeDocumentProvider, doSetInput, editorContextMenuAboutToShow, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getSharedColors, getSourceViewerDecorationSupport, getUndoRedoOperationApprover, gotoAnnotation, gotoMarker, handlePreferenceStoreChanged, hideOverviewRuler, initializeKeyBindingScopes, initializeLineNumberRulerColumn, isChangeInformationShowing, isErrorStatus, isLineNumberRulerVisible, isNavigationTarget, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, rulerContextMenuAboutToShow, setDocumentProvider, showChangeInformation, showOverviewRuler, showRevisionInformation, updateMarkerViews
 
Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
doRevertToSaved, getStatusBanner, getStatusHeader, getStatusMessage, handleEditorInputChanged, handleElementContentReplaced, sanityCheckState, updatePartControl, updateStatusField
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
addAction, addAction, addGroup, addRulerContextMenuListener, adjustHighlightRange, affectsTextPresentation, canHandleMove, close, configureInsertMode, createEmptyNavigationLocation, createNavigationActions, createNavigationLocation, createUndoRedoActions, doGetSelection, doSave, doSaveAs, doSetSelection, editorSaved, enableOverwriteMode, enableSanityChecking, enableStateValidation, findAnnotation, firePropertyChange, getAction, getContextMenuListener, getCoverage, getCursorListener, getCursorPosition, getEditorContextMenuId, getFontPropertyPreferenceKey, getHelpContextId, getHighlightRange, getInsertMode, getLegalInsertModes, getPreferenceStore, getProgressMonitor, getRangeIndicator, getRulerContextMenuId, getRulerMouseListener, getSelectionChangedListener, getSelectionProvider, getSourceViewer, getSourceViewerConfiguration, getStatusField, getVerticalRuler, handleCursorPositionChanged, handleExceptionOnSave, handleInsertModeChanged, init, initializeDragAndDrop, initializeViewerColors, internalInit, isDirty, isEditable, isEditorInputIncludedInContextMenu, isEditorInputModifiable, isEditorInputReadOnly, isInInsertMode, isVisible, markAsContentDependentAction, markAsPropertyDependentAction, markAsSelectionDependentAction, markAsStateDependentAction, markInNavigationHistory, modelOffset2WidgetOffset, performRevert, performSave, rememberSelection, removeActionActivationCode, removeRulerContextMenuListener, resetHighlightRange, restoreSelection, safelySanityCheckState, selectAndReveal, selectAndReveal, setAction, setActionActivationCode, setCompatibilityMode, setDocumentProvider, setEditorContextMenuId, setFocus, setHelpContextId, setHighlightRange, setInput, setInputWithNotify, setInsertMode, setKeyBindingScopes, setPreferenceStore, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, setStatusLineErrorMessage, setStatusLineMessage, showHighlightRangeOnly, showsHighlightRangeOnly, updateContentDependentActions, updatePropertyDependentActions, updateSelectionDependentActions, updateState, updateStateDependentActions, updateStatusFields, validateEditorInputState, validateState, widgetOffset2ModelOffset
 
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getSite, getTitle, getTitleImage, removePropertyListener, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IEditorPart
getEditorInput, getEditorSite
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 
Methods inherited from interface org.eclipse.ui.ISaveablePart
isSaveOnCloseNeeded
 
Methods inherited from interface org.eclipse.ui.IEditorPart
getEditorInput, getEditorSite
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 
Methods inherited from interface org.eclipse.ui.ISaveablePart
isSaveOnCloseNeeded
 

Constructor Detail

ModestEditor

public ModestEditor()
Method Detail

initializeEditor

protected void initializeEditor()
Called by Eclipse to initialize the editor. Sets the editor to use the Modest plug-in's preference store, and configures its syntax highlighting, etc. See ModestSourceViewerConfiguration.

Overrides:
initializeEditor in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

getAdapter

public java.lang.Object getAdapter(java.lang.Class adaptTo)
Returns this editor's outline page if requested. (This is how Eclipse gets the outline from the editor.) If the request is for something else, passes it on to the superclass.

Specified by:
getAdapter in interface org.eclipse.core.runtime.IAdaptable
Overrides:
getAdapter in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

createActions

protected void createActions()
The ModestEditor implementation of this AbstractTextEditor method extend the actions to add those specific to the receiver

Overrides:
createActions in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

getSimulation

public ModestSimulation getSimulation()
Returns the ModestSimulation representing the document in this editor.


simulationChanged

public void simulationChanged(ModestSimulation sim)
Called when the ModestSimulation is updated. Does nothing for the time being. Removes existing error markers, and optionally adds markers for the errors in the updated program.

Specified by:
simulationChanged in interface IModestSimulationListener

simulationChanged

public void simulationChanged(SimulationRoot sim)
When the SimulationRoot changes after a step in the simulation, remove the highlighting.

Specified by:
simulationChanged in interface ISimulationListener
Parameters:
sim -

getEditor

public static ModestEditor getEditor()

simulationViewChanged

public void simulationViewChanged(java.lang.Object selection)
Specified by:
simulationViewChanged in interface ISimulationViewListener

deleteMarkers

public void deleteMarkers()

isSaveAsAllowed

public boolean isSaveAsAllowed()
Allow the Save As ... command.

Specified by:
isSaveAsAllowed in interface org.eclipse.ui.ISaveablePart
Overrides:
isSaveAsAllowed in class org.eclipse.ui.texteditor.AbstractTextEditor

performSaveAs

protected void performSaveAs(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Overrides:
performSaveAs in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor