org.eclipse.xtext.ui.editor
Class XtextEditor
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
- 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
- Direct Known Subclasses:
- DefaultMergeEditor, XbaseEditor
public class XtextEditor
- extends org.eclipse.ui.editors.text.TextEditor
- Author:
- Dennis Huebner - Initial contribution and API, Peter Friese - Initial contribution and API, Sven Efftinge, Michael Clay, Dan Stefanescu - Fix for bug 278279
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 |
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 |
Methods inherited from class org.eclipse.ui.editors.text.TextEditor |
editorContextMenuAboutToShow, 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, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getOverviewRulerContextMenuId, getSharedColors, getSourceViewerDecorationSupport, gotoAnnotation, gotoMarker, hideOverviewRuler, initializeLineNumberRulerColumn, isChangeInformationShowing, isEditable, isErrorStatus, isLineNumberRulerVisible, isNavigationTarget, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, isTabsToSpacesConversionEnabled, overviewRulerContextMenuAboutToShow, performSaveAs, setDocumentProvider, setOverviewRulerContextMenuId, showChangeInformation, showOverviewRuler, showRevisionInformation, updateMarkerViews |
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, containsSavedState, createEmptyNavigationLocation, createNavigationLocation, createUndoRedoActions, doGetSelection, doRestoreState, doSetSelection, 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, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, setStatusLineErrorMessage, setStatusLineMessage, 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, 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 |
ERROR_ANNOTATION_TYPE
public static final java.lang.String ERROR_ANNOTATION_TYPE
- See Also:
- Constant Field Values
WARNING_ANNOTATION_TYPE
public static final java.lang.String WARNING_ANNOTATION_TYPE
- See Also:
- Constant Field Values
INFO_ANNOTATION_TYPE
public static final java.lang.String INFO_ANNOTATION_TYPE
- Since:
- 2.3
- See Also:
- Constant Field Values
KEY_BINDING_SCOPE
public static final java.lang.String KEY_BINDING_SCOPE
- Since:
- 2.2
- See Also:
- Constant Field Values
DEFAULT_KEY_BINDING_SCOPE
public static final java.lang.String DEFAULT_KEY_BINDING_SCOPE
- Since:
- 2.2
- See Also:
- Constant Field Values
ID
public static final java.lang.String ID
- See Also:
- Constant Field Values
XtextEditor
public XtextEditor()
getDocument
public IXtextDocument getDocument()
setLanguageName
@Inject
public void setLanguageName(java.lang.String name)
getLanguageName
public java.lang.String getLanguageName()
setKeyBindingScope
@Inject(optional=true)
public void setKeyBindingScope(java.lang.String scope)
- Note: Not injected directly into field as
initializeKeyBindingScopes()
is called by constructor.
- Since:
- 2.2
doSetInput
protected void doSetInput(org.eclipse.ui.IEditorInput input)
throws org.eclipse.core.runtime.CoreException
- Overrides:
doSetInput
in class org.eclipse.ui.editors.text.TextEditor
- Throws:
org.eclipse.core.runtime.CoreException
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
setPreferenceStore
protected void setPreferenceStore(org.eclipse.jface.preference.IPreferenceStore preferenceStore)
- Overrides:
setPreferenceStore
in class org.eclipse.ui.texteditor.AbstractTextEditor
getXtextSourceViewerConfiguration
public XtextSourceViewerConfiguration getXtextSourceViewerConfiguration()
doSaveAs
public void doSaveAs()
- Specified by:
doSaveAs
in interface org.eclipse.ui.ISaveablePart
- Overrides:
doSaveAs
in class org.eclipse.ui.texteditor.AbstractTextEditor
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
doRevertToSaved
public void doRevertToSaved()
- Specified by:
doRevertToSaved
in interface org.eclipse.ui.texteditor.ITextEditor
- Overrides:
doRevertToSaved
in class org.eclipse.ui.texteditor.StatusTextEditor
initializeKeyBindingScopes
protected void initializeKeyBindingScopes()
- Set key binding scope. Required for custom key bindings (e.g. F3).
- Overrides:
initializeKeyBindingScopes
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
getResource
public org.eclipse.core.resources.IResource getResource()
getAdapter
public java.lang.Object getAdapter(java.lang.Class adapter)
- Specified by:
getAdapter
in interface org.eclipse.core.runtime.IAdaptable
- Overrides:
getAdapter
in class org.eclipse.ui.editors.text.TextEditor
outlinePageClosed
public void outlinePageClosed()
- Informs the editor that its outline has been closed.
createActions
protected void createActions()
- Overrides:
createActions
in class org.eclipse.ui.editors.text.TextEditor
configureToggleCommentAction
protected void configureToggleCommentAction(ToggleSLCommentAction action)
getUndoRedoOperationApprover
protected org.eclipse.core.commands.operations.IOperationApprover getUndoRedoOperationApprover(org.eclipse.core.commands.operations.IUndoContext undoContext)
- Overrides:
getUndoRedoOperationApprover
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
- Since:
- 2.1
isContentAssistAvailable
public boolean isContentAssistAvailable()
- Returns:
- true if content assist is available
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
configureSourceViewerDecorationSupport
protected void configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport support)
- Overrides:
configureSourceViewerDecorationSupport
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
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
installProjectionSupport
protected org.eclipse.jface.text.source.projection.ProjectionSupport installProjectionSupport(org.eclipse.jface.text.source.projection.ProjectionViewer projectionViewer)
installFoldingSupport
protected void installFoldingSupport(org.eclipse.jface.text.source.projection.ProjectionViewer projectionViewer)
dispose
public void dispose()
- Specified by:
dispose
in interface org.eclipse.ui.IWorkbenchPart
- Overrides:
dispose
in class org.eclipse.ui.editors.text.TextEditor
uninstallFoldingSupport
protected void uninstallFoldingSupport()
getInternalSourceViewer
public org.eclipse.jface.text.source.ISourceViewer getInternalSourceViewer()
handlePreferenceStoreChanged
protected void handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent event)
- Overrides:
handlePreferenceStoreChanged
in class org.eclipse.ui.editors.text.TextEditor
collectContextMenuPreferencePages
protected java.lang.String[] collectContextMenuPreferencePages()
- Overrides:
collectContextMenuPreferencePages
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
createAnnotationAccess
protected org.eclipse.jface.text.source.IAnnotationAccess createAnnotationAccess()
- Overrides:
createAnnotationAccess
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
updateStatusLine
protected void updateStatusLine()
validateEditorInputState
public boolean validateEditorInputState()
- Specified by:
validateEditorInputState
in interface org.eclipse.ui.texteditor.ITextEditorExtension2
- Overrides:
validateEditorInputState
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
updatedTitleImage
public void updatedTitleImage(org.eclipse.swt.graphics.Image image)
getDefaultImage
public org.eclipse.swt.graphics.Image getDefaultImage()
- Overrides:
getDefaultImage
in class org.eclipse.ui.part.WorkbenchPart
rulerContextMenuAboutToShow
protected void rulerContextMenuAboutToShow(org.eclipse.jface.action.IMenuManager menu)
- Overrides:
rulerContextMenuAboutToShow
in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
resetProjection
public void resetProjection()
- Resets the foldings structure according to the folding preferences.
setXtextEditorCallback
public void setXtextEditorCallback(CompoundXtextEditorCallback callback)
- Externally set the editor callback, e.g. to disable dirty state support for a specific instance.
reveal
public void reveal(int offset,
int length)
- Copied from
AbstractTextEditor.selectAndReveal(int, int)
and removed selection
functionality.
createWordIterator
protected CommonWordIterator createWordIterator()
createDeleteNextSubWordAction
protected XtextEditor.DeleteNextSubWordAction createDeleteNextSubWordAction()
createDeletePreviousSubWordAction
protected XtextEditor.DeletePreviousSubWordAction createDeletePreviousSubWordAction()
createSelectNextSubWordAction
protected XtextEditor.SelectNextSubWordAction createSelectNextSubWordAction()
createSelectPreviousSubWordAction
protected XtextEditor.SelectPreviousSubWordAction createSelectPreviousSubWordAction()
createNavigateNextSubWordAction
protected XtextEditor.NavigateNextSubWordAction createNavigateNextSubWordAction()
createNavigatePreviousSubWordAction
protected XtextEditor.NavigatePreviousSubWordAction createNavigatePreviousSubWordAction()
createSmartLineStartAction
protected XtextEditor.SmartLineStartAction createSmartLineStartAction(org.eclipse.swt.custom.StyledText textWidget,
boolean doSelect)
createNavigationActions
protected void createNavigationActions()
- Overrides:
createNavigationActions
in class org.eclipse.ui.texteditor.AbstractTextEditor