Class AtlEditor
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.ui.part.WorkbenchPart
-
- org.eclipse.ui.part.EditorPart
-
- org.eclipse.ui.texteditor.AbstractTextEditor
-
- org.eclipse.ui.texteditor.StatusTextEditor
-
- org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
-
- org.eclipse.ui.editors.text.TextEditor
-
- 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,org.eclipse.ui.texteditor.ITextEditorExtension6
public class AtlEditor extends org.eclipse.ui.editors.text.TextEditorThe AtlEditor class is the main class that allows editing atl code. All editor's specifications are declared here.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAtlEditor.BracketLevelprotected static classAtlEditor.ExclusivePositionUpdaterPosition updater that takes any changes at the borders of a position to not belong to the position.-
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
-
-
Field Summary
Fields Modifier and Type Field Description protected AtlPairMatcherbracketMatcherThe editor's bracket matcher.-
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_CARET_OFFSET, PREFERENCE_SHOW_CARRIAGE_RETURN, PREFERENCE_SHOW_ENCLOSED_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_ENCLOSED_SPACES, PREFERENCE_SHOW_ENCLOSED_TABS, PREFERENCE_SHOW_LEADING_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_LEADING_SPACES, PREFERENCE_SHOW_LEADING_TABS, PREFERENCE_SHOW_LINE_FEED, PREFERENCE_SHOW_SELECTION_SIZE, PREFERENCE_SHOW_TRAILING_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_TRAILING_SPACES, PREFERENCE_SHOW_TRAILING_TABS, PREFERENCE_SHOW_WHITESPACE_CHARACTERS, PREFERENCE_TEXT_DRAG_AND_DROP_ENABLED, PREFERENCE_USE_CUSTOM_CARETS, PREFERENCE_WHITESPACE_CHARACTER_ALPHA_VALUE, PREFERENCE_WIDE_CARET, PREFERENCE_WORD_WRAP_ENABLED, TAG_SELECTION_HORIZONTAL_PIXEL, TAG_SELECTION_LENGTH, TAG_SELECTION_OFFSET, TAG_SELECTION_TOP_PIXEL, VERTICAL_RULER_WIDTH
-
-
Constructor Summary
Constructors Constructor Description AtlEditor()Creates a new ATL editor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanaffectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent event)protected voidconfigureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport support)protected voidcreateActions()protected AtlContentOutlinePagecreateOutlinePage()voidcreatePartControl(org.eclipse.swt.widgets.Composite parent)protected org.eclipse.ui.views.properties.PropertySheetPagecreatePropertySheetPage()Creates the property sheet page used with this editorprotected org.eclipse.jface.text.source.ISourceViewercreateSourceViewer(org.eclipse.swt.widgets.Composite parent, org.eclipse.jface.text.source.IVerticalRuler ruler, int styles)voiddispose()voiddoSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)protected voiddoSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)protected voiddoSetInput(org.eclipse.ui.IEditorInput input)protected voiddoSetSelection(org.eclipse.jface.viewers.ISelection selection)java.lang.ObjectgetAdapter(java.lang.Class required)AtlPairMatchergetBracketMatcher()LastSaveComparatorgetComparator()static java.lang.StringgetCurrentLine(org.eclipse.jface.text.IDocument document, int offset)Compute the whole line of the current offset.org.eclipse.emf.ecore.EObjectgetDebugElement(int lineNumber)java.lang.StringgetDocumentProviderContent()return the content of the editor, i.e what currently displayed on the screenjava.lang.StringgetEditorInputContent()return the content of the file associated to the active editor.AtlModelAnalysergetModelAnalyser()AtlContentOutlinePagegetOutlinePage()protected org.eclipse.jface.text.IRegiongetSignedSelection(org.eclipse.jface.text.source.ISourceViewer sourceViewer)Returns the signed current selection.AtlSourceManagergetSourceManager()AtlSourceViewerConfigurationgetSourceViewerConf()org.eclipse.core.resources.IResourcegetUnderlyingResource()org.eclipse.jface.text.source.ISourceViewergetViewer()voidgotoMatchingBracket()protected voidhandlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent event)voidinit(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input)protected voidinitializeEditor()protected voidinitializeKeyBindingScopes()voidsetHelp(AtlNbCharFile help)protected voidsetNewPreferenceStore(org.eclipse.jface.preference.IPreferenceStore store)protected voidsetStatusLineErrorMessage(java.lang.String msg)Sets the given message as error message to this editor's status line.protected voidsetStatusLineMessage(java.lang.String msg)Sets the given message as message to this editor's status line.voidsynchronizeOutlinePageSelection()Synchronizes the outliner selection with the actual cursor position in the editor.voidtoggleLineBreakpoints(org.eclipse.emf.ecore.EObject element)voidtoggleLineBreakpoints(org.eclipse.jface.viewers.ISelection selection)voidupdateFoldingStructure(java.util.Map<org.eclipse.jface.text.source.Annotation,org.eclipse.jface.text.Position> addedAnnotations, java.util.List<org.eclipse.jface.text.source.Annotation> deletedAnnotations, java.util.Map<org.eclipse.jface.text.source.Annotation,org.eclipse.jface.text.Position> modifiedAnnotations)Updates the folding structure of the template.voidupdateOccurrenceAnnotations(org.eclipse.jface.text.ITextSelection selection)Updates occurrences annotations.voidupdateTitleImage(org.eclipse.swt.graphics.Image image)-
Methods inherited from class org.eclipse.ui.editors.text.TextEditor
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, createShowInTargetList, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getOverviewRulerContextMenuId, getSharedColors, getSourceViewerDecorationSupport, getUndoRedoOperationApprover, gotoAnnotation, gotoMarker, handleEditorInputChanged, hideOverviewRuler, initializeLineNumberRulerColumn, isChangeInformationShowing, isEditable, isErrorStatus, isLineNumberRulerVisible, isNavigationTarget, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, isSpacesAsTabsDeletionEnabled, isTabsToSpacesConversionEnabled, openSaveErrorDialog, overviewRulerContextMenuAboutToShow, performSaveAs, rulerContextMenuAboutToShow, setDocumentProvider, setOverviewRulerContextMenuId, showChangeInformation, showOverviewRuler, showRevisionInformation, updateMarkerViews, validateEditorInputState
-
Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
doRevertToSaved, handleElementContentReplaced, sanityCheckState, setFocus, 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, getInitialWordWrapStatus, getInsertMode, getLegalInsertModes, getPreferenceStore, getProgressMonitor, getRangeIndicator, getRulerContextMenuId, getRulerMouseListener, getSaveables, getSelectionChangedListener, getSelectionProvider, getSourceViewer, getSourceViewerConfiguration, getStatusField, getStatusLineManager, getVerticalRuler, handleCursorPositionChanged, handleExceptionOnSave, handleInsertModeChanged, initializeDragAndDrop, initializeViewerColors, installCodeMiningProviders, installTabsToSpacesConverter, installTextDragAndDrop, internalInit, isBlockSelectionModeEnabled, isBlockSelectionModeSupported, isDirty, isEditorInputIncludedInContextMenu, isEditorInputModifiable, isEditorInputReadOnly, isInInsertMode, isVisible, isWordWrapEnabled, isWordWrapSupported, markAsContentDependentAction, markAsPropertyDependentAction, markAsSelectionDependentAction, markAsStateDependentAction, markInNavigationHistory, modelOffset2WidgetOffset, performRevert, performSave, rememberSelection, removeActionActivationCode, removeRulerContextMenuListener, resetHighlightRange, restoreSelection, restoreState, safelySanityCheckState, saveState, selectAndReveal, selectAndReveal, setAction, setActionActivationCode, setBlockSelectionMode, setCompatibilityMode, setDocumentProvider, setEditorContextMenuId, setHelpContextId, setHighlightRange, setInput, setInputWithNotify, setInsertMode, setKeyBindingScopes, setPreferenceStore, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, setWordWrap, 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
-
-
-
-
Field Detail
-
bracketMatcher
protected AtlPairMatcher bracketMatcher
The editor's bracket matcher.
-
-
Method Detail
-
getCurrentLine
public static java.lang.String getCurrentLine(org.eclipse.jface.text.IDocument document, int offset)Compute the whole line of the current offset.- Parameters:
document- the current documentoffset- the current offset- Returns:
- the line containing the offset, ended with the offset
-
updateOccurrenceAnnotations
public void updateOccurrenceAnnotations(org.eclipse.jface.text.ITextSelection selection)
Updates occurrences annotations.- Parameters:
selection- the text selection
-
affectsTextPresentation
protected boolean affectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent event)
- Overrides:
affectsTextPresentationin classorg.eclipse.ui.texteditor.AbstractTextEditor- See Also:
AbstractTextEditor.affectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent)
-
configureSourceViewerDecorationSupport
protected void configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport support)
- Overrides:
configureSourceViewerDecorationSupportin classorg.eclipse.ui.texteditor.AbstractDecoratedTextEditor- See Also:
AbstractDecoratedTextEditor.configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport)
-
createActions
protected void createActions()
- Overrides:
createActionsin classorg.eclipse.ui.editors.text.TextEditor- See Also:
TextEditor.createActions()
-
createOutlinePage
protected AtlContentOutlinePage createOutlinePage()
-
createPartControl
public void createPartControl(org.eclipse.swt.widgets.Composite parent)
- Specified by:
createPartControlin interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
createPartControlin classorg.eclipse.ui.texteditor.AbstractDecoratedTextEditor
-
updateFoldingStructure
public void updateFoldingStructure(java.util.Map<org.eclipse.jface.text.source.Annotation,org.eclipse.jface.text.Position> addedAnnotations, java.util.List<org.eclipse.jface.text.source.Annotation> deletedAnnotations, java.util.Map<org.eclipse.jface.text.source.Annotation,org.eclipse.jface.text.Position> 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:
disposein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
disposein classorg.eclipse.ui.editors.text.TextEditor- See Also:
TextEditor.dispose()
-
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
- Specified by:
doSavein interfaceorg.eclipse.ui.ISaveablePart- Overrides:
doSavein classorg.eclipse.ui.texteditor.AbstractTextEditor- See Also:
AbstractTextEditor.doSave(org.eclipse.core.runtime.IProgressMonitor)
-
getBracketMatcher
public AtlPairMatcher getBracketMatcher()
-
doSelectionChanged
protected void doSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
-
doSetSelection
protected void doSetSelection(org.eclipse.jface.viewers.ISelection selection)
- Overrides:
doSetSelectionin classorg.eclipse.ui.texteditor.AbstractTextEditor- See Also:
AbstractTextEditor.doSetSelection(org.eclipse.jface.viewers.ISelection)
-
getAdapter
public java.lang.Object getAdapter(java.lang.Class required)
- Specified by:
getAdapterin interfaceorg.eclipse.core.runtime.IAdaptable- Overrides:
getAdapterin classorg.eclipse.ui.editors.text.TextEditor- See Also:
TextEditor.getAdapter(java.lang.Class)
-
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
AtlEditorornullif 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:
handlePreferenceStoreChangedin classorg.eclipse.ui.editors.text.TextEditor- See Also:
TextEditor.handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent)
-
init
public void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input) throws org.eclipse.ui.PartInitException- Specified by:
initin interfaceorg.eclipse.ui.IEditorPart- Overrides:
initin classorg.eclipse.ui.texteditor.AbstractTextEditor- Throws:
org.eclipse.ui.PartInitException- See Also:
AbstractTextEditor.init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-
initializeEditor
protected void initializeEditor()
- Overrides:
initializeEditorin classorg.eclipse.ui.editors.text.TextEditor- See Also:
TextEditor.initializeEditor()
-
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:
setStatusLineErrorMessagein classorg.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:
setStatusLineMessagein classorg.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:
createSourceViewerin classorg.eclipse.ui.texteditor.AbstractDecoratedTextEditor- See Also:
AbstractDecoratedTextEditor.createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int)
-
toggleLineBreakpoints
public void toggleLineBreakpoints(org.eclipse.jface.viewers.ISelection selection) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
toggleLineBreakpoints
public void toggleLineBreakpoints(org.eclipse.emf.ecore.EObject element) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
getDebugElement
public org.eclipse.emf.ecore.EObject getDebugElement(int lineNumber)
-
doSetInput
protected void doSetInput(org.eclipse.ui.IEditorInput input) throws org.eclipse.core.runtime.CoreException- Overrides:
doSetInputin classorg.eclipse.ui.editors.text.TextEditor- Throws:
org.eclipse.core.runtime.CoreException- See Also:
TextEditor.doSetInput(org.eclipse.ui.IEditorInput)
-
initializeKeyBindingScopes
protected void initializeKeyBindingScopes()
- Overrides:
initializeKeyBindingScopesin classorg.eclipse.ui.texteditor.AbstractDecoratedTextEditor- See Also:
AbstractDecoratedTextEditor.initializeKeyBindingScopes()
-
getComparator
public LastSaveComparator getComparator()
-
getSourceViewerConf
public AtlSourceViewerConfiguration getSourceViewerConf()
-
getSourceManager
public AtlSourceManager getSourceManager()
-
getModelAnalyser
public AtlModelAnalyser getModelAnalyser()
-
-