org.sintef.mofscript.editor
Class MofScriptTextEditor

java.lang.Object
  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 org.eclipse.ui.editors.text.TextEditor
                          extended by org.sintef.mofscript.editor.MofScriptTextEditor
All Implemented Interfaces:
java.util.EventListener, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.swt.events.PaintListener, org.eclipse.swt.internal.SWTEventListener, 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, MofScriptBracketListener

public class MofScriptTextEditor
extends org.eclipse.ui.editors.text.TextEditor
implements MofScriptBracketListener, org.eclipse.swt.events.PaintListener

The text editor

Author:
jol

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
protected  org.eclipse.jface.text.IDocument _currentDocument
           
protected static java.lang.String _currentDocumentName
           
protected  org.eclipse.core.resources.IFile _currentFile
           
protected  java.lang.String _currentTransformationText
           
protected  java.lang.String _editorDocumentName
           
protected  boolean _paintSelection
           
protected  int _selectionRangeEnd
           
protected  int _selectionRangeStart
           
protected  org.eclipse.swt.custom.StyledText _text
           
 
Fields inherited from class org.eclipse.ui.editors.text.TextEditor
fEncodingSupport
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
fAnnotationAccess, 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
MofScriptTextEditor()
          Default constructor
 
Method Summary
 void bracketInserted(int positionStart, int positionEnd)
          Interface MofScriptBracketListener operation bracketInserted sets the local positions and triggers redraw
 MOFScriptSpecification compile()
          Compiles the source
protected  org.eclipse.jface.text.source.CompositeRuler createCompositeRuler()
          Creates ruler
 void createPartControl(org.eclipse.swt.widgets.Composite parent)
          Creates the part control
protected  org.eclipse.jface.text.source.ISourceViewer createSourceViewer(org.eclipse.swt.widgets.Composite parent, org.eclipse.jface.text.source.IVerticalRuler ruler, int styles)
          Creating a source viewer
 void dispose()
          Disposes the editor
 void doRevertToSaved()
          Reverts to saved
 void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
          Saves buffer
 void doSaveAs()
          Save as
 void doSetInput(org.eclipse.ui.IEditorInput input)
          Sets the input for the editor
 void execute(java.lang.String type)
          Execeute transformation: First compile, check for errors, then execute.
 java.lang.Object getAdapter(java.lang.Class required)
          Retrieves adapters
 java.lang.String getCurrentFileLocationString()
           
 java.lang.String getCurrentFileName()
           
 void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input)
          Initiates editor
 void paintControl(org.eclipse.swt.events.PaintEvent e)
          Paints and unpaints the area around a starting bracket of a pair match
 
Methods inherited from class org.eclipse.ui.editors.text.TextEditor
createActions, editorContextMenuAboutToShow, getStatusBanner, getStatusHeader, getStatusMessage, initializeEditor, installEncodingSupport, isSaveAsAllowed, performSaveAs, updatePropertyDependentActions
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
collectContextMenuPreferencePages, collectRulerMenuPreferencePages, configureSourceViewerDecorationSupport, createAnnotationAccess, createChangeHover, createChangeRulerColumn, createLineNumberRulerColumn, createOverviewRuler, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getSharedColors, getSourceViewerDecorationSupport, getUndoRedoOperationApprover, gotoMarker, handlePreferenceStoreChanged, hideOverviewRuler, initializeKeyBindingScopes, initializeLineNumberRulerColumn, isChangeInformationShowing, isErrorStatus, isLineNumberRulerVisible, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, rulerContextMenuAboutToShow, setDocumentProvider, showChangeInformation, showOverviewRuler
 
Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
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, doSetSelection, editorSaved, enableOverwriteMode, enableSanityChecking, enableStateValidation, 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, initializeDragAndDrop, initializeViewerColors, internalInit, isDirty, isEditable, 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, setInsertMode, setKeyBindingScopes, setPreferenceStore, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, showHighlightRangeOnly, showsHighlightRangeOnly, updateContentDependentActions, 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 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
 

Field Detail

_currentTransformationText

protected volatile java.lang.String _currentTransformationText

_currentDocument

protected volatile org.eclipse.jface.text.IDocument _currentDocument

_currentFile

protected volatile org.eclipse.core.resources.IFile _currentFile

_editorDocumentName

protected java.lang.String _editorDocumentName

_currentDocumentName

protected static java.lang.String _currentDocumentName

_text

protected org.eclipse.swt.custom.StyledText _text

_paintSelection

protected volatile boolean _paintSelection

_selectionRangeStart

protected volatile int _selectionRangeStart

_selectionRangeEnd

protected volatile int _selectionRangeEnd
Constructor Detail

MofScriptTextEditor

public MofScriptTextEditor()
Default constructor

Method Detail

createSourceViewer

protected org.eclipse.jface.text.source.ISourceViewer createSourceViewer(org.eclipse.swt.widgets.Composite parent,
                                                                         org.eclipse.jface.text.source.IVerticalRuler ruler,
                                                                         int styles)
Creating a source viewer

Overrides:
createSourceViewer in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
Parameters:
parane -
ruler -
styles -
Returns:

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput input)
          throws org.eclipse.ui.PartInitException
Initiates editor

Specified by:
init in interface org.eclipse.ui.IEditorPart
Overrides:
init in class org.eclipse.ui.texteditor.AbstractTextEditor
Throws:
org.eclipse.ui.PartInitException

dispose

public void dispose()
Disposes the editor

Specified by:
dispose in interface org.eclipse.ui.IWorkbenchPart
Overrides:
dispose in class org.eclipse.ui.editors.text.TextEditor

doRevertToSaved

public void doRevertToSaved()
Reverts to saved

Specified by:
doRevertToSaved in interface org.eclipse.ui.texteditor.ITextEditor
Overrides:
doRevertToSaved in class org.eclipse.ui.texteditor.StatusTextEditor

doSave

public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves buffer

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

doSaveAs

public void doSaveAs()
Save as

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

doSetInput

public void doSetInput(org.eclipse.ui.IEditorInput input)
                throws org.eclipse.core.runtime.CoreException
Sets the input for the editor

Overrides:
doSetInput in class org.eclipse.ui.editors.text.TextEditor
Throws:
org.eclipse.core.runtime.CoreException

getAdapter

public java.lang.Object getAdapter(java.lang.Class required)
Retrieves adapters

Specified by:
getAdapter in interface org.eclipse.core.runtime.IAdaptable
Overrides:
getAdapter in class org.eclipse.ui.editors.text.TextEditor

createPartControl

public void createPartControl(org.eclipse.swt.widgets.Composite parent)
Creates the part control

Specified by:
createPartControl in interface org.eclipse.ui.IWorkbenchPart
Overrides:
createPartControl in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

compile

public MOFScriptSpecification compile()
Compiles the source


getCurrentFileLocationString

public java.lang.String getCurrentFileLocationString()
Returns:
the current file location as string

getCurrentFileName

public java.lang.String getCurrentFileName()

execute

public void execute(java.lang.String type)
Execeute transformation: First compile, check for errors, then execute.

Parameters:
type -

createCompositeRuler

protected org.eclipse.jface.text.source.CompositeRuler createCompositeRuler()
Creates ruler

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

bracketInserted

public void bracketInserted(int positionStart,
                            int positionEnd)
Interface MofScriptBracketListener operation bracketInserted sets the local positions and triggers redraw

Specified by:
bracketInserted in interface MofScriptBracketListener

paintControl

public void paintControl(org.eclipse.swt.events.PaintEvent e)
Paints and unpaints the area around a starting bracket of a pair match

Specified by:
paintControl in interface org.eclipse.swt.events.PaintListener