org.eclipse.m2m.atl.adt.ui.editor
Class AtlEditor

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 org.eclipse.ui.editors.text.TextEditor
                              extended by org.eclipse.m2m.atl.adt.ui.editor.AtlEditor
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IEditorPart, org.eclipse.ui.INavigationLocationProvider, org.eclipse.ui.IPersistable, org.eclipse.ui.IPersistableEditor, org.eclipse.ui.IReusableEditor, org.eclipse.ui.ISaveablePart, org.eclipse.ui.ISaveablesSource, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, 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, org.eclipse.ui.texteditor.ITextEditorExtension5

public class AtlEditor
extends org.eclipse.ui.editors.text.TextEditor

The AtlEditor class is the main class that allows editing atl code. All editor's specifications are declared here.


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.ColumnSupport, org.eclipse.ui.texteditor.AbstractTextEditor.IdMapEntry, org.eclipse.ui.texteditor.AbstractTextEditor.LineEndAction, org.eclipse.ui.texteditor.AbstractTextEditor.LineStartAction, org.eclipse.ui.texteditor.AbstractTextEditor.SelectionProvider, org.eclipse.ui.texteditor.AbstractTextEditor.TextEditorSavable
 
Nested classes/interfaces inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
org.eclipse.ui.texteditor.ITextEditorExtension3.InsertMode
 
Field Summary
protected  AtlPairMatcher bracketMatcher
          The editor's bracket matcher.
 
Fields inherited from class org.eclipse.ui.editors.text.TextEditor
fEncodingSupport
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
DEFAULT_OVERVIEW_RULER_CONTEXT_MENU_ID, fAnnotationAccess, fIsUpdatingMarkerViews, fLineNumberRulerColumn, fOverviewRuler, fSourceViewerDecorationSupport
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
ACTION_MAP, COMMON_EDITOR_CONTEXT_MENU_ID, COMMON_RULER_CONTEXT_MENU_ID, 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_HOVER_ENRICH_MODE, PREFERENCE_HYPERLINK_KEY_MODIFIER, PREFERENCE_HYPERLINK_KEY_MODIFIER_MASK, PREFERENCE_HYPERLINKS_ENABLED, PREFERENCE_NAVIGATION_SMART_HOME_END, PREFERENCE_RULER_CONTRIBUTIONS, PREFERENCE_SHOW_WHITESPACE_CHARACTERS, PREFERENCE_TEXT_DRAG_AND_DROP_ENABLED, PREFERENCE_USE_CUSTOM_CARETS, PREFERENCE_WIDE_CARET, TAG_SELECTION_LENGTH, TAG_SELECTION_OFFSET, 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
AtlEditor()
          Creates a new ATL editor.
 
Method Summary
protected  boolean affectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent event)
           
protected  void configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport support)
           
protected  void createActions()
           
protected  AtlContentOutlinePage createOutlinePage()
           
 void createPartControl(org.eclipse.swt.widgets.Composite parent)
           
protected  org.eclipse.ui.views.properties.PropertySheetPage createPropertySheetPage()
          Creates the property sheet page used with this editor
protected  org.eclipse.jface.text.source.ISourceViewer createSourceViewer(org.eclipse.swt.widgets.Composite parent, org.eclipse.jface.text.source.IVerticalRuler ruler, int styles)
          
 void dispose()
           
 void doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
protected  void doSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
           
protected  void doSetSelection(org.eclipse.jface.viewers.ISelection selection)
           
 java.lang.Object getAdapter(java.lang.Class required)
           
 AtlPairMatcher getBracketMatcher()
           
 java.lang.String getDocumentProviderContent()
           return the content of the editor, i.e what currently displayed on the screen
 java.lang.String getEditorInputContent()
           return the content of the file associated to the active editor.
 AtlContentOutlinePage getOutlinePage()
           
protected  org.eclipse.jface.text.IRegion getSignedSelection(org.eclipse.jface.text.source.ISourceViewer sourceViewer)
          Returns the signed current selection.
 AtlSourceManager getSourceManager()
           
 org.eclipse.core.resources.IResource getUnderlyingResource()
           
 org.eclipse.jface.text.source.ISourceViewer getViewer()
           
 void gotoMatchingBracket()
           
protected  void handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent event)
           
 void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input)
           
protected  void initializeEditor()
           
 void setHelp(AtlNbCharFile help)
           
protected  void setNewPreferenceStore(org.eclipse.jface.preference.IPreferenceStore store)
           
protected  void setStatusLineErrorMessage(java.lang.String msg)
          Sets the given message as error message to this editor's status line.
protected  void setStatusLineMessage(java.lang.String msg)
          Sets the given message as message to this editor's status line.
 void synchronizeOutlinePageSelection()
          Synchronizes the outliner selection with the actual cursor position in the editor.
 void updateFoldingStructure(java.util.Map addedAnnotations, java.util.List deletedAnnotations, java.util.Map modifiedAnnotations)
          Updates the folding structure of the template.
 void updateTitleImage(org.eclipse.swt.graphics.Image image)
           
 
Methods inherited from class org.eclipse.ui.editors.text.TextEditor
doSetInput, editorContextMenuAboutToShow, getStatusBanner, getStatusHeader, getStatusMessage, installEncodingSupport, isSaveAsAllowed, updatePropertyDependentActions
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
collectContextMenuPreferencePages, collectOverviewRulerMenuPreferencePages, collectRulerMenuPreferencePages, createAnnotationAccess, createAnnotationRulerColumn, createChangeHover, createChangeRulerColumn, createColumnSupport, createCompositeRuler, createContextMenuListener, createLineNumberRulerColumn, createOverviewRuler, createOverviewRulerContextMenu, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getOverviewRulerContextMenuId, getSharedColors, getSourceViewerDecorationSupport, getUndoRedoOperationApprover, gotoAnnotation, gotoMarker, hideOverviewRuler, initializeKeyBindingScopes, initializeLineNumberRulerColumn, isChangeInformationShowing, isEditable, isErrorStatus, isLineNumberRulerVisible, isNavigationTarget, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, isTabsToSpacesConversionEnabled, overviewRulerContextMenuAboutToShow, performSaveAs, rulerContextMenuAboutToShow, setDocumentProvider, setOverviewRulerContextMenuId, showChangeInformation, showOverviewRuler, showRevisionInformation, updateMarkerViews, validateEditorInputState
 
Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
doRevertToSaved, handleEditorInputChanged, handleElementContentReplaced, sanityCheckState, updatePartControl, updateStatusField
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
addAction, addAction, addGroup, addRulerContextMenuListener, adjustHighlightRange, canHandleMove, close, configureInsertMode, containsSavedState, createEmptyNavigationLocation, createNavigationActions, createNavigationLocation, createUndoRedoActions, doGetSelection, doRestoreState, doSaveAs, editorSaved, enableOverwriteMode, enableSanityChecking, enableStateValidation, findAnnotation, firePropertyChange, getAction, getActiveSaveables, getContextMenuListener, getCoverage, getCursorListener, getCursorPosition, getEditorContextMenuId, getFontPropertyPreferenceKey, getHelpContextId, getHighlightRange, getInsertMode, getLegalInsertModes, getPreferenceStore, getProgressMonitor, getRangeIndicator, getRulerContextMenuId, getRulerMouseListener, getSaveables, getSelectionChangedListener, getSelectionProvider, getSourceViewer, getSourceViewerConfiguration, getStatusField, getStatusLineManager, getVerticalRuler, handleCursorPositionChanged, handleExceptionOnSave, handleInsertModeChanged, initializeDragAndDrop, initializeViewerColors, installTabsToSpacesConverter, installTextDragAndDrop, internalInit, isBlockSelectionModeEnabled, isBlockSelectionModeSupported, isDirty, isEditorInputIncludedInContextMenu, isEditorInputModifiable, isEditorInputReadOnly, isInInsertMode, isVisible, markAsContentDependentAction, markAsPropertyDependentAction, markAsSelectionDependentAction, markAsStateDependentAction, markInNavigationHistory, modelOffset2WidgetOffset, openSaveErrorDialog, performRevert, performSave, rememberSelection, removeActionActivationCode, removeRulerContextMenuListener, resetHighlightRange, restoreSelection, restoreState, safelySanityCheckState, saveState, selectAndReveal, selectAndReveal, setAction, setActionActivationCode, setBlockSelectionMode, setCompatibilityMode, setDocumentProvider, setEditorContextMenuId, setFocus, setHelpContextId, setHighlightRange, setInput, setInputWithNotify, setInsertMode, setKeyBindingScopes, setPreferenceStore, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, showHighlightRangeOnly, showsHighlightRangeOnly, uninstallTabsToSpacesConverter, uninstallTextDragAndDrop, updateContentDependentActions, updateContributedRulerColumns, updateIndentPrefixes, updateSelectionDependentActions, updateState, updateStateDependentActions, updateStatusFields, 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
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, 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
 

Field Detail

bracketMatcher

protected AtlPairMatcher bracketMatcher
The editor's bracket matcher.

Constructor Detail

AtlEditor

public AtlEditor()
Creates a new ATL editor. Initialize his values from the AtlUIPlugin default instance.

Method Detail

affectsTextPresentation

protected boolean affectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent event)
Overrides:
affectsTextPresentation in class org.eclipse.ui.texteditor.AbstractTextEditor

configureSourceViewerDecorationSupport

protected void configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport support)
Overrides:
configureSourceViewerDecorationSupport in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

createActions

protected void createActions()
Overrides:
createActions in class org.eclipse.ui.editors.text.TextEditor

createOutlinePage

protected AtlContentOutlinePage createOutlinePage()

createPartControl

public void createPartControl(org.eclipse.swt.widgets.Composite parent)
Specified by:
createPartControl in interface org.eclipse.ui.IWorkbenchPart
Overrides:
createPartControl in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor

updateFoldingStructure

public void updateFoldingStructure(java.util.Map addedAnnotations,
                                   java.util.List deletedAnnotations,
                                   java.util.Map modifiedAnnotations)
Updates the folding structure of the template. This will be called from the Atl template reconciler in order to allow the folding of blocks to the user.

Parameters:
addedAnnotations - These annotations have been added since the last reconciling operation.
deletedAnnotations - This list represents the annotations that were deleted since we last reconciled.
modifiedAnnotations - These annotations have seen their positions updated.

createPropertySheetPage

protected org.eclipse.ui.views.properties.PropertySheetPage createPropertySheetPage()
Creates the property sheet page used with this editor


dispose

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

doSave

public void doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Specified by:
doSave in interface org.eclipse.ui.ISaveablePart
Overrides:
doSave in class org.eclipse.ui.texteditor.AbstractTextEditor

getBracketMatcher

public AtlPairMatcher getBracketMatcher()

getSourceManager

public AtlSourceManager getSourceManager()

doSelectionChanged

protected void doSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)

doSetSelection

protected void doSetSelection(org.eclipse.jface.viewers.ISelection selection)
Overrides:
doSetSelection in class org.eclipse.ui.texteditor.AbstractTextEditor

getAdapter

public java.lang.Object getAdapter(java.lang.Class required)
Specified by:
getAdapter in interface org.eclipse.core.runtime.IAdaptable
Overrides:
getAdapter in class org.eclipse.ui.editors.text.TextEditor

getDocumentProviderContent

public java.lang.String getDocumentProviderContent()

return the content of the editor, i.e what currently displayed on the screen

Returns:
the content of the document provider associated with this AtlEditor

getEditorInputContent

public java.lang.String getEditorInputContent()

return the content of the file associated to the active editor.

When the current editor is dirty, i.e when changes have not been saved yet, the content of the active editor differs from the content of the file associated to this editor.

Returns:
the content of the editor input associated with this AtlEditor

getSignedSelection

protected org.eclipse.jface.text.IRegion getSignedSelection(org.eclipse.jface.text.source.ISourceViewer sourceViewer)
Returns the signed current selection. The length will be negative if the resulting selection is right-to-left(RtoL).

The selection offset is model based.

Parameters:
sourceViewer - the source viewer
Returns:
a region denoting the current signed selection, for a resulting RtoL selections length is < 0

getUnderlyingResource

public org.eclipse.core.resources.IResource getUnderlyingResource()
Returns:
the IResource associated to AtlEditor or null if none

getViewer

public org.eclipse.jface.text.source.ISourceViewer getViewer()

gotoMatchingBracket

public void gotoMatchingBracket()

handlePreferenceStoreChanged

protected void handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent event)
Overrides:
handlePreferenceStoreChanged in class org.eclipse.ui.editors.text.TextEditor

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput input)
          throws org.eclipse.ui.PartInitException
Specified by:
init in interface org.eclipse.ui.IEditorPart
Overrides:
init in class org.eclipse.ui.texteditor.AbstractTextEditor
Throws:
org.eclipse.ui.PartInitException

initializeEditor

protected void initializeEditor()
Overrides:
initializeEditor in class org.eclipse.ui.editors.text.TextEditor

setHelp

public void setHelp(AtlNbCharFile help)

setNewPreferenceStore

protected void setNewPreferenceStore(org.eclipse.jface.preference.IPreferenceStore store)

setStatusLineErrorMessage

protected void setStatusLineErrorMessage(java.lang.String msg)
Sets the given message as error message to this editor's status line.

Overrides:
setStatusLineErrorMessage in class org.eclipse.ui.texteditor.AbstractTextEditor
Parameters:
msg - message to be set

setStatusLineMessage

protected void setStatusLineMessage(java.lang.String msg)
Sets the given message as message to this editor's status line.

Overrides:
setStatusLineMessage in class org.eclipse.ui.texteditor.AbstractTextEditor
Parameters:
msg - message to be set

synchronizeOutlinePageSelection

public void synchronizeOutlinePageSelection()
Synchronizes the outliner selection with the actual cursor position in the editor.


updateTitleImage

public void updateTitleImage(org.eclipse.swt.graphics.Image image)

getOutlinePage

public AtlContentOutlinePage getOutlinePage()

createSourceViewer

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

Overrides:
createSourceViewer in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
See Also:
AbstractDecoratedTextEditor.createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int)

Copyright 2007 IBM Corporation and others.
All Rights Reserved.