com.aptana.ide.editors.untitled
Class BaseTextEditor

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 com.aptana.ide.editors.untitled.BaseTextEditor
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
Direct Known Subclasses:
UnifiedEditor, UntitledTextFileEditor

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

The base text editor from which other editors are derived. This class manages the Save As of different file types (external or project files). The save operation is then delegated to the document provider, which is the UnifiedDocumentProvider, which is implemented in BaseDocumentProvider

Author:
Ingo Muschenetz

Nested Class Summary
protected  class BaseTextEditor.FileDialogFilterInfo
          Holds information used for File Save As dialog box
 
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.TextEditorSavable
 
Nested classes/interfaces inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
org.eclipse.ui.texteditor.ITextEditorExtension3.InsertMode
 
Field Summary
 
Fields inherited from class org.eclipse.ui.editors.text.TextEditor
fEncodingSupport
 
Fields inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
fAnnotationAccess, fIsUpdatingMarkerViews, 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_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
BaseTextEditor()
           
 
Method Summary
protected  java.lang.String getDefaultSaveAsFile()
          Returns the default file.
protected  BaseTextEditor.FileDialogFilterInfo getFileDialogFilterInformation(java.lang.String fileName)
          Returns name and extension filters for display in file dialog
protected  java.lang.String getFileExtension(java.lang.String fileName)
          Returns the extension of a file
 java.lang.String getParentDirectoryHint()
          getParentDirectoryHint
protected  void onSaveAsComplete(java.io.File oldFile, java.io.File newFile)
          Hook to allow editors to deal with save as operation being completed.
protected  void onSaveComplete()
          Hook to allow editors to deal with save operation being completed.
protected  void performSave(boolean overwrite, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
protected  void performSaveAs(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
          The TextEditor implementation of this AbstractTextEditor method asks the user for the workspace path of a file resource and saves the document there.
 void setParentDirectoryHint(java.lang.String hint)
          setParentDirectoryHint
 
Methods inherited from class org.eclipse.ui.editors.text.TextEditor
createActions, dispose, doSetInput, editorContextMenuAboutToShow, getAdapter, getStatusBanner, getStatusHeader, getStatusMessage, handlePreferenceStoreChanged, initializeEditor, installEncodingSupport, isSaveAsAllowed, updatePropertyDependentActions
 
Methods inherited from class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
collectContextMenuPreferencePages, collectRulerMenuPreferencePages, configureSourceViewerDecorationSupport, createAnnotationAccess, createAnnotationRulerColumn, createChangeHover, createChangeRulerColumn, createColumnSupport, createCompositeRuler, createLineNumberRulerColumn, createOverviewRuler, createPartControl, createSourceViewer, createStatusControl, createVerticalRuler, disposeDocumentProvider, getAnnotationAccess, getAnnotationPreferenceLookup, getAnnotationPreferences, getDocumentProvider, getOverviewRuler, getSharedColors, getSourceViewerDecorationSupport, getUndoRedoOperationApprover, gotoAnnotation, gotoMarker, hideOverviewRuler, initializeKeyBindingScopes, initializeLineNumberRulerColumn, isChangeInformationShowing, isEditable, isErrorStatus, isLineNumberRulerVisible, isNavigationTarget, isOverviewRulerVisible, isOverwriteModeEnabled, isPrefQuickDiffAlwaysOn, isTabsToSpacesConversionEnabled, rulerContextMenuAboutToShow, setDocumentProvider, 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, affectsTextPresentation, canHandleMove, close, configureInsertMode, containsSavedState, createEmptyNavigationLocation, createNavigationActions, createNavigationLocation, createUndoRedoActions, doGetSelection, doRestoreState, doSave, doSaveAs, 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, init, initializeDragAndDrop, initializeViewerColors, installTabsToSpacesConverter, installTextDragAndDrop, internalInit, isDirty, isEditorInputIncludedInContextMenu, isEditorInputModifiable, isEditorInputReadOnly, isInInsertMode, isVisible, markAsContentDependentAction, markAsPropertyDependentAction, markAsSelectionDependentAction, markAsStateDependentAction, markInNavigationHistory, modelOffset2WidgetOffset, openSaveErrorDialog, performRevert, rememberSelection, removeActionActivationCode, removeRulerContextMenuListener, resetHighlightRange, restoreSelection, restoreState, safelySanityCheckState, saveState, selectAndReveal, selectAndReveal, setAction, setActionActivationCode, setCompatibilityMode, setDocumentProvider, setEditorContextMenuId, setFocus, setHelpContextId, setHighlightRange, setInput, setInputWithNotify, setInsertMode, setKeyBindingScopes, setPreferenceStore, 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, 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
 

Constructor Detail

BaseTextEditor

public BaseTextEditor()
Method Detail

performSave

protected void performSave(boolean overwrite,
                           org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Overrides:
performSave in class org.eclipse.ui.texteditor.AbstractTextEditor
See Also:
AbstractTextEditor.performSave(boolean, org.eclipse.core.runtime.IProgressMonitor)

onSaveComplete

protected void onSaveComplete()
Hook to allow editors to deal with save operation being completed.


performSaveAs

protected void performSaveAs(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
The TextEditor implementation of this AbstractTextEditor method asks the user for the workspace path of a file resource and saves the document there.

Overrides:
performSaveAs in class org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
Parameters:
progressMonitor - the progress monitor to be used

onSaveAsComplete

protected void onSaveAsComplete(java.io.File oldFile,
                                java.io.File newFile)
Hook to allow editors to deal with save as operation being completed.

Parameters:
oldFile -
newFile - The new file being saved

getFileDialogFilterInformation

protected BaseTextEditor.FileDialogFilterInfo getFileDialogFilterInformation(java.lang.String fileName)
Returns name and extension filters for display in file dialog

Parameters:
fileName -
Returns:
FileDialogFilterInfo

getDefaultSaveAsFile

protected java.lang.String getDefaultSaveAsFile()
Returns the default file.

Returns:
The path to the newly saved file

getFileExtension

protected java.lang.String getFileExtension(java.lang.String fileName)
Returns the extension of a file

Parameters:
fileName -
Returns:
String

getParentDirectoryHint

public java.lang.String getParentDirectoryHint()
getParentDirectoryHint

Returns:
String

setParentDirectoryHint

public void setParentDirectoryHint(java.lang.String hint)
setParentDirectoryHint

Parameters:
hint -