Class CommonXtextEditor<T extends org.eclipse.emf.ecore.EObject,R>
- 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.xtext.ui.editor.XtextEditor
-
- net.ssehub.easy.dslCore.ui.editors.CommonXtextEditor<T,R>
-
- Type Parameters:
T- the type of the top-level language elementR- the model type corresponding toT
- All Implemented Interfaces:
IUpdatableEditor,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,org.eclipse.xtext.ui.editor.DirtyStateEditorSupport.IDirtyStateEditorSupportClient,org.eclipse.xtext.ui.editor.DirtyStateEditorSupport.IDirtyStateEditorSupportClientExtension
- Direct Known Subclasses:
AbstractXTextEditor
public abstract class CommonXtextEditor<T extends org.eclipse.emf.ecore.EObject,R> extends org.eclipse.xtext.ui.editor.XtextEditor implements IUpdatableEditor
A common extension of the generalorg.eclipse.xtext.ui.editor.XtextEditor. The extension hooks into the dispose- and the getDocument-mechanism in order to register or unregister ade.uni_hildesheim.sse.dslcore.ui.editors.AbstractModelChangeListenerinstance, which will update the editor if the underlying data model changes.- Author:
- kroeher, Holger Eichelberger
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classCommonXtextEditor.UnitOfWorkImplements the xText unit of work for building the model.-
Nested classes/interfaces inherited from class org.eclipse.xtext.ui.editor.XtextEditor
org.eclipse.xtext.ui.editor.XtextEditor.DeleteNextSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.DeletePreviousSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.NavigateNextSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.NavigatePreviousSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.NextSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.PreviousSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.SelectNextSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.SelectPreviousSubWordAction, org.eclipse.xtext.ui.editor.XtextEditor.SmartLineStartAction
-
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 AbstractModelChangeListenermodelListenerThe listener which will be registered to this editor in order to receive notifications about updates of the underlying model.-
Fields inherited from class org.eclipse.xtext.ui.editor.XtextEditor
DEFAULT_KEY_BINDING_SCOPE, ERROR_ANNOTATION_TYPE, ID, INFO_ANNOTATION_TYPE, KEY_BINDING_SCOPE, WARNING_ANNOTATION_TYPE
-
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 CommonXtextEditor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbuildModel(org.eclipse.xtext.ui.editor.model.IXtextDocument doc)Creates the model in the given xText documentdoc.protected abstract TranslationResult<R>createModel(T root, java.net.URI uri)Creates a model (while {@link #buildModel(IXtextDocument)).voiddispose()voiddoRevertToSaved()voiddoSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)voiddoSaveAs()protected abstract java.lang.StringgetBundleId()Returns the current bundle id.org.eclipse.xtext.ui.editor.model.IXtextDocumentgetDocument()private EASyLoggerFactory.EASyLoggergetLogger()Returns the logger for this class.protected abstract IResourceInitializergetResourceInitializer()Returns the resource initializer.private voidonSave()Builds up the IVML model on saving the document in the editor.protected abstract voidprint(TranslationResult<R> result, java.io.Writer out)Prints the translation result for debugging.private voidprocessMessages(TranslationResult<?> result)Processes the messages.voidupdateEditor()Updates this editor.-
Methods inherited from class org.eclipse.xtext.ui.editor.XtextEditor
addVerifyListener, collectContextMenuPreferencePages, configureSourceViewerDecorationSupport, configureToggleCommentAction, createActions, createAnnotationAccess, createDeleteNextSubWordAction, createDeletePreviousSubWordAction, createNavigateNextSubWordAction, createNavigatePreviousSubWordAction, createNavigationActions, createPartControl, createSelectNextSubWordAction, createSelectPreviousSubWordAction, createSmartLineStartAction, createSourceViewer, createWordIterator, doSetInput, editorContextMenuAboutToShow, forceReconcile, getAdapter, getDefaultImage, getDirtyStateEditorSupport, getInternalSourceViewer, getLanguageName, getResource, getShell, getUndoRedoOperationApprover, getXtextEditorCallback, getXtextSourceViewerConfiguration, handlePreferenceStoreChanged, init, initializeDirtyStateSupport, initializeKeyBindingScopes, initializeViewerColors, installFoldingSupport, installProjectionSupport, isContentAssistAvailable, isNavigationTarget, outlinePageClosed, removeDirtyStateSupport, removeVerifyListener, resetProjection, reveal, rulerContextMenuAboutToShow, setKeyBindingScope, setLanguageName, setPreferenceStore, setXtextEditorCallback, uninstallFoldingSupport, updatedTitleImage, updateState, updateStatusLine, validateEditorInputState, validateState
-
Methods inherited from class org.eclipse.ui.editors.text.TextEditor
getStatusBanner, getStatusHeader, getStatusMessage, initializeEditor, installEncodingSupport, isSaveAsAllowed, updatePropertyDependentActions
-
Methods inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
collectOverviewRulerMenuPreferencePages, collectRulerMenuPreferencePages, createAnnotationRulerColumn, createChangeHover, createChangeRulerColumn, createColumnSupport, createCompositeRuler, createContextMenuListener, createLineNumberRulerColumn, createOverviewRuler, createOverviewRulerContextMenu, createShowInTargetList, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getOverviewRulerContextMenuId, getSharedColors, getSourceViewerDecorationSupport, gotoAnnotation, gotoMarker, handleEditorInputChanged, hideOverviewRuler, initializeLineNumberRulerColumn, isChangeInformationShowing, isEditable, isErrorStatus, isLineNumberRulerVisible, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, isSpacesAsTabsDeletionEnabled, isTabsToSpacesConversionEnabled, openSaveErrorDialog, overviewRulerContextMenuAboutToShow, performSaveAs, setDocumentProvider, setOverviewRulerContextMenuId, showChangeInformation, showOverviewRuler, showRevisionInformation, updateMarkerViews
-
Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
handleElementContentReplaced, sanityCheckState, setFocus, updatePartControl, updateStatusField
-
Methods inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
addAction, addAction, addGroup, addRulerContextMenuListener, adjustHighlightRange, affectsTextPresentation, canHandleMove, close, configureInsertMode, containsSavedState, createEmptyNavigationLocation, createNavigationLocation, createUndoRedoActions, doGetSelection, doRestoreState, doSetSelection, 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, 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, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, setStatusLineErrorMessage, setStatusLineMessage, setWordWrap, showHighlightRangeOnly, showsHighlightRangeOnly, uninstallTabsToSpacesConverter, uninstallTextDragAndDrop, updateContentDependentActions, updateContributedRulerColumns, updateIndentPrefixes, updateSelectionDependentActions, updateStateDependentActions, updateStatusFields, 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, 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.xtext.ui.editor.DirtyStateEditorSupport.IDirtyStateEditorSupportClient
isDirty
-
Methods inherited from interface net.ssehub.easy.dslCore.ui.editors.IUpdatableEditor
getResource
-
-
-
-
Field Detail
-
modelListener
protected AbstractModelChangeListener modelListener
The listener which will be registered to this editor in order to receive notifications about updates of the underlying model.
-
-
Method Detail
-
dispose
public void dispose()
- Specified by:
disposein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
disposein classorg.eclipse.xtext.ui.editor.XtextEditor
-
getDocument
public org.eclipse.xtext.ui.editor.model.IXtextDocument getDocument()
- Specified by:
getDocumentin interfaceorg.eclipse.xtext.ui.editor.DirtyStateEditorSupport.IDirtyStateEditorSupportClient- Overrides:
getDocumentin classorg.eclipse.xtext.ui.editor.XtextEditor
-
updateEditor
public void updateEditor()
Description copied from interface:IUpdatableEditorUpdates this editor.- Specified by:
updateEditorin interfaceIUpdatableEditor
-
doSaveAs
public void doSaveAs()
- Specified by:
doSaveAsin interfaceorg.eclipse.ui.ISaveablePart- Overrides:
doSaveAsin classorg.eclipse.xtext.ui.editor.XtextEditor
-
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
- Specified by:
doSavein interfaceorg.eclipse.ui.ISaveablePart- Overrides:
doSavein classorg.eclipse.xtext.ui.editor.XtextEditor
-
doRevertToSaved
public void doRevertToSaved()
- Specified by:
doRevertToSavedin interfaceorg.eclipse.ui.texteditor.ITextEditor- Overrides:
doRevertToSavedin classorg.eclipse.xtext.ui.editor.XtextEditor
-
onSave
private void onSave()
Builds up the IVML model on saving the document in the editor.
-
buildModel
public void buildModel(org.eclipse.xtext.ui.editor.model.IXtextDocument doc)
Description copied from interface:IUpdatableEditorCreates the model in the given xText documentdoc. This method synchronizes overdocin order to avoid reentrant model validation.- Specified by:
buildModelin interfaceIUpdatableEditor- Parameters:
doc- the document to create the model for
-
processMessages
private void processMessages(TranslationResult<?> result) throws org.eclipse.core.runtime.CoreException
Processes the messages.- Parameters:
result- the translation result- Throws:
org.eclipse.core.runtime.CoreException- in case of marker processing problems
-
getLogger
private EASyLoggerFactory.EASyLogger getLogger()
Returns the logger for this class.- Returns:
- the logger
-
getBundleId
protected abstract java.lang.String getBundleId()
Returns the current bundle id.- Returns:
- the current bundle identification
-
createModel
protected abstract TranslationResult<R> createModel(T root, java.net.URI uri)
Creates a model (while {@link #buildModel(IXtextDocument)).- Parameters:
root- the root language elementuri- the URI of the underlying document- Returns:
- the translation result for the created model
-
getResourceInitializer
protected abstract IResourceInitializer getResourceInitializer()
Returns the resource initializer.- Returns:
- the resource initializer
-
print
protected abstract void print(TranslationResult<R> result, java.io.Writer out)
Prints the translation result for debugging.- Parameters:
result- the translation result to be printedout- the output stream / writer
-
-