Class PropEditorPart
- All Implemented Interfaces:
IActivationListener,IDraggingFix,IWorkbenchPartIZ,IPropertyEditorController,IPropUndoContext,IPropUndoRedo,org.eclipse.core.runtime.IAdaptable,org.eclipse.core.runtime.IExecutableExtension,org.eclipse.jface.viewers.ISelectionChangedListener,org.eclipse.jface.viewers.ISelectionProvider,org.eclipse.ui.ide.IGotoMarker,org.eclipse.ui.IEditorPart,org.eclipse.ui.INavigationLocationProvider,org.eclipse.ui.IPersistable,org.eclipse.ui.IPersistableEditor,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
- Direct Known Subclasses:
CaptureEditor,ContextMenuEditor,DatabaseEditor,FontFacesEditor,ImageDefinitionEditor,PanelEditor,RecordingEditor,ScreenEditor,SelectorEditor,StyleEditor,TextTableEditor,VirtualSpaceEditor,WebServiceEditor
- Author:
- Christopher Mindus
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected final classClass used to delegate DragSource events to the listener, making it possible to know when drag-drop is in effect.Field Summary
FieldsModifier and TypeFieldDescriptionprotected ApplicationUIThe Application UI.protected PartActionMenu actions.protected PartActionprotected PartActionMenu actions that MAY be null in case they are not supported.protected PartActionMenu actions.protected PartActionMenu actions.protected DropdownSelectionListenerprotected PropCnrThe edited property inside thefilePropCnr.static final PropEditorPart[]Empty array.protected FilePropCnrThe File Property being edited, null for none.protected org.eclipse.core.resources.IFileThe file resource for the editor.protected org.eclipse.ui.IActionBarsThe global action bars.protected final ImageRegistryThe Image Registry.protected PartActionMenu actions.protected PartActionMenu actions.protected org.eclipse.jface.viewers.IStructuredSelectionThis part's current selection.protected PartActionMenu actions.protected PartActionMenu actions.protected PartActionMenu actions.protected PartActionMenu actions.protected PartActionMenu actions.protected final EventListenerProperty event listener.protected org.eclipse.ui.operations.RedoActionHandlerprotected PartActionMenu actions.protected org.eclipse.ui.IMementoThe restored memento.protected PartActionMenu actions.protected PropCnrThe (Module) root container used to listen to events, null when not used.protected PartActionMenu actions.protected PartActionMenu actions.protected SelectionEnablerThe last selection states.protected org.eclipse.swt.widgets.ToolItemPaste items.protected org.eclipse.swt.widgets.ToolBarThe tool bar.protected org.eclipse.swt.widgets.ToolBarThe tool bar.protected org.eclipse.ui.operations.UndoActionHandlerfinal RunnableThe update states runnable.Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUTFields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLEConstructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionprotected voidaddForDisposalAtDispose(Object disposable) Adds an action that is disposed when the editor is disposed of.static booleanaddListener(ILicenseSystemError listener) Adds a dispose listener for the client session.protected voidaddOpenFile(FilePropCnr fpc) Adds an open file.voidaddSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener) Adds a listener for selection changes in this selection provider.protected org.eclipse.swt.widgets.ToolItemaddToolbar2PushButton(String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.protected voidaddToolbar2PushButton(org.eclipse.jface.action.IAction action) Adds a push button to the second tool bar from an action.protected voidAdds a separator to the second tool bar.protected org.eclipse.swt.widgets.ToolItemaddToolbarPushButton(String tooltip, String icon, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.protected org.eclipse.swt.widgets.ToolItemaddToolbarPushButton(String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.protected voidaddToolbarPushButton(org.eclipse.jface.action.IAction action) Adds a tool bar push button from an action.static org.eclipse.swt.widgets.ToolItemaddToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, String icon, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.static org.eclipse.swt.widgets.ToolItemaddToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, org.eclipse.swt.graphics.Image image, int style, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.static org.eclipse.swt.widgets.ToolItemaddToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.voidaddToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, org.eclipse.jface.action.IAction action) Adds a tool bar push button from an action.protected voidAdds a separator to the tool bar.static voidaddToolbarSeparator(org.eclipse.swt.widgets.ToolBar toolBar) Adds a separator to the tool bar.protected voidcloseFile(FilePropCnr fpc) Closed an open file.final CommonViewerExcreateCommonViewer(org.eclipse.swt.widgets.Composite parent) Creates the CommonViewer with extra support for Drag-and-Drop.protected abstract voidcreateEditorComposite(org.eclipse.swt.widgets.Composite parent) Creates the Editor Main Composite.org.eclipse.ui.INavigationLocationCreates an empty navigation location.final FilteredCommonViewercreateFilteredCommonViewer(org.eclipse.swt.widgets.Composite parent, int style, IzFilter filter) Creates the Filtered CommonViewer with extra support for Drag-and-Drop.final FilteredCommonViewercreateFilteredCommonViewer(org.eclipse.swt.widgets.Composite parent, IzFilter filter) Creates the Filtered CommonViewer with extra support for Drag-and-Drop.static org.eclipse.swt.widgets.CompositecreateLicenseExceptionComposite(org.eclipse.swt.widgets.Composite parent, String errorText) Creates an error composite from the license exception.protected voidcreateMenu(org.eclipse.jface.viewers.Viewer viewer, IContextMenuContributor contributor) Creates a menu that is used as a pop-up menu.protected voidcreateMenu(org.eclipse.swt.widgets.Control control, IContextMenuContributorFormControl<org.eclipse.swt.widgets.Control> contributor) Creates a menu that is used as a pop-up menu.org.eclipse.ui.INavigationLocationCreates a navigation location describing the current state.final voidcreatePartControl(org.eclipse.swt.widgets.Composite parent) Create contents of the editor part.voiddispose()Disposes of the Editor.booleanOpens the property by selecting it in focus.booleanOpens the property by selecting it in focus.voiddoSave(org.eclipse.core.runtime.IProgressMonitor monitor) Saves the contents of this part.final voiddoSaveAs()Saves the contents of this part to another object.voidFires a new selection event that also updates the states.static PropEditorPartGets the active editor part.static PropEditorPartgetActiveEditor(GProp<?> prop) Gets the active or topmost editor from a property.static PropEditorPartGets the active part, differs fromgetActiveEditor()because it check if e.g.org.eclipse.ui.Saveable[]<T> TgetAdapter(Class<T> adapter) protected org.eclipse.jface.viewers.TreeViewerGets the current tree viewer.static PropEditorPart[]Gets a snapshot of the editor parts.The extensions framework.static LicenseExceptionGets the potential license exception that occurred when loading it.Gets the ModuleModel instance of the project.final MultiSelectionProviderGets the multi-property selection provider.org.eclipse.swt.widgets.CompositeGets the part composite created.protected StringgetPartName(String title) Gets the part name that is about to be set.org.eclipse.ui.operations.RedoActionHandlerGets the undo action.org.eclipse.ui.Saveable[]org.eclipse.jface.viewers.ISelectionReturns the current selection for this provider.Gets the selection enabler instance.final org.eclipse.swt.widgets.ShellgetShell()Gets the shell.Gets the current IClipboardSelection implementor.Gets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).org.eclipse.swt.graphics.ImageReturns the workbench part image.Returns the title tooltip.protected StringgetTitleToolTip(String title) Gets the part name that is about to be set.static PropEditorPartgetTopmostEditor(PropEditorPart[] editors) Gets the topmost editor part from an array of editors.org.eclipse.ui.operations.UndoActionHandlerGets the undo action.final org.eclipse.core.commands.operations.IUndoContextGets the undo context.final IPropUndoRedoGets the undo/redo interface.voidgotoMarker(org.eclipse.core.resources.IMarker marker) Sets the cursor and selection state for an editor to reveal the position of the given marker.booleanFlag for initialize error, i.e.final voidinit(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input) Initializes this editor with the given editor site and input.protected voidinitEditor(PropCnr cnr) The initialize editor method.static voidCalled from the SWT thread if the license is not valid.booleanisDirty()Returns whether the contents of this part have changed since the last save operation.booleanChecks if the part is disposed of.booleanFlag for dragging to postpone selection events until drag completes.final booleanReturns whether the "Save As" operation is supported by this part.booleanReturns whether the contents of this editor should be saved when the editor is closed.final voidonActivated(boolean on) Called when activator or deactivated.voidonClose()Called when the part is being closed but is not yet disposed but hidden.static voidonCloseProject(org.eclipse.core.resources.IProject project) Called when a project is closed or unregistered from being a Module project.voidonComponentFocus(org.eclipse.swt.widgets.Control c) Called by the workbench extension when focus is received.protected voidDrag started.protected voidDrag finished.protected voidCalled when verification listener gets called for verify, very commonly in a non-SWT thread.protected voidonEditorActivated(boolean on) Called when the editor is activated or deactivated.protected voidFunction called once the Editor has been initialized and fully created, should be overridden by Editor parts that need such functionality.protected voidonFileClosed(FilePropCnr fpc) Called when an open file in the editor has been closed and needs to be removed.protected voidCalled when the part has been renamed.protected voidCalled when set focus is called to override default processing.protected voidCalled just in the beginning of updateStates() before selections are processed.protected voidPerforms move up.voidPerforms Copy.protected booleanperformCopyFullPath(boolean doPerform) Copies the full path.protected booleanperformCopyReference(boolean doPerform) Copies the reference.voidPerforms Cut.voidPerforms Delete.protected voidPerforms move down.voidPerforms Link.voidPerforms Move.voidPerforms Paste.voidPerforms Paste Before.voidPerforms Paste Before.voidPerforms Paste-link.protected abstract voidPerforms Print.voidPerforms Redo.protected voidPerforms Rename.protected voidPerforms Revert.protected voidPerforms Save.final voidPerforms Select All.voidPerforms Undo.protected final voidPost an async updateStates event (once only in one "SWT cycle").protected voidContinues the "init".protected voidProceeds initializing the editor with the property.voidRefreshes all registered viewers before e.g.voidregisterFormControl(org.eclipse.swt.widgets.Control control) Registers a form entry capable control in the Editor part.protected voidregisterViewer(org.eclipse.jface.viewers.StructuredViewer viewer, int index) Registers a viewer for selection changes.voidregisterViewer(org.eclipse.jface.viewers.StructuredViewer viewer, int index, IContextMenuContributor contributor) Registers a viewer for selection changes.static booleanremoveListener(ILicenseSystemError listener) Removes a dispose listener for the client session.voidremovePropertyValue(GProp<?> property) Removes a property when undefined in the editors.voidremoveSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener) Removes the given selection change listener from this selection provider.protected voidCalled to perform the restoring of the Memento state.final voidrestoreState(org.eclipse.ui.IMemento memento) Called with a memento for this editor.final voidsaveState(org.eclipse.ui.IMemento memento) Saves the state of the object in the given memento.protected voidsaveStateImpl(org.eclipse.ui.IMemento memento) Saves the state of the object in the given memento.final voidselectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event) Selection changes in the tree.protected voidselectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event) Selection changes in the tree.voidsetActionsUndoContext(org.eclipse.core.commands.operations.IUndoContext undoContext) Assigns another undo context to the undo/redo actions.voidsetBlockViewerFocus(boolean block) Blocks the target viewer from focus.final voidsetFocus()Sets focus to the Editor.protected intsetFocus(PropCnr container, org.eclipse.jface.viewers.StructuredViewer viewer, IzFilter filter, PropertyEditor propertyEditor, GProp<?> property, int index, String childName) Attempts to set focus to the property in question based on a container, a viewer and a property editor.voidsetInput(org.eclipse.ui.IEditorInput input) Sets the input to this editor.voidsetPropertyAttrFlag(GProp<?> property, int attr, boolean flag) Sets a property attribute flag.voidsetPropertyError(GProp<?> property, String errorID, IPropErrorItem item) Sets a property error.voidsetPropertyValue(PropCnr parent, GProp<?> property, Object value) Sets a property value.voidsetSelection(org.eclipse.jface.viewers.ISelection selection) Sets the current selection for this selection provider.final voidsetTargetViewer(Object viewer) Sets the target viewer for e.g.protected booleanReturns if the Copy path should be present or not.protected booleanReturns if the Copy reference should be present or not.static voidUpdates the states of all created editors.final voidUpdate states of the menu and tool bars, both global and part-local ones.protected voidUpdate states of the menu and tool bars, both global and part-local ones.protected voidProcess update states for pasteBeforeAction and pasteAfterAction.protected voidUpdates the title and tooltip when file name/contents changes.protected booleanOverride to return how paste before/after are processed.voidVerifies the dirty and fires state changed as required.Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, setContentDescription, setInitializationData, setInputWithNotify, setPartNameMethods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusyMethods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObjectMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, removePropertyListenerMethods inherited from interface com.iizigo.editor.IWorkbenchPartIZ
onComponentFocused
Field Details
EMPTY
Empty array.rootPropCnr
The (Module) root container used to listen to events, null when not used.fileResource
protected org.eclipse.core.resources.IFile fileResourceThe file resource for the editor.filePropCnr
The File Property being edited, null for none.editedPropCnr
The edited property inside thefilePropCnr.toolBar
protected org.eclipse.swt.widgets.ToolBar toolBarThe tool bar.toolBar2
protected org.eclipse.swt.widgets.ToolBar toolBar2The tool bar.partSelection
protected org.eclipse.jface.viewers.IStructuredSelection partSelectionThis part's current selection.selectionEnabler
The last selection states.cutAction
Menu actions.copyAction
Menu actions.pasteAction
Menu actions.pasteBeforeAction
Menu actions.pasteAfterAction
Menu actions.pasteLinkAction
Menu actions.deleteAction
Menu actions.selectAllAction
Menu actions.revertAction
Menu actions.saveAction
Menu actions.renameAction
Menu actions.moveAction
Menu actions.linkAction
Menu actions.printAction
Menu actions.copyReferenceAction
Menu actions that MAY be null in case they are not supported.copyFullPathAction
undoAction
protected org.eclipse.ui.operations.UndoActionHandler undoActionredoAction
protected org.eclipse.ui.operations.RedoActionHandler redoActiontiPaste
protected org.eclipse.swt.widgets.ToolItem tiPastePaste items.dslPaste
globalActionBars
protected org.eclipse.ui.IActionBars globalActionBarsThe global action bars.ir
The Image Registry.appUI
The Application UI.restoreMemento
protected org.eclipse.ui.IMemento restoreMementoThe restored memento.Note that
restoreMementomay benull.propEventListener
Property event listener.updateSelectionAndStatesRunner
The update states runnable.
Constructor Details
PropEditorPart
Constructor.- Parameters:
propertyClass- The property class in files.
Method Details
getEditors
Gets a snapshot of the editor parts.updateAllStates
public static void updateAllStates()Updates the states of all created editors.getActiveEditor
Gets the active editor part.- Returns:
- The active editor part, or null for none.
getActiveEditor
Gets the active or topmost editor from a property.- Returns:
- null if none is found.
getTopmostEditor
Gets the topmost editor part from an array of editors.- Parameters:
editors- Selection of editors to choose from, in the order of first created editor.- Returns:
- The topmost editor, or null if no editor is found (editors array is empty).
getActivePart
Gets the active part, differs fromgetActiveEditor()because it check if e.g. a Common Navigator is active...- Returns:
- The active editor part, or null for none.
onCloseProject
public static void onCloseProject(org.eclipse.core.resources.IProject project) Called when a project is closed or unregistered from being a Module project. This closes the editors for it!addListener
Adds a dispose listener for the client session. Calling this method multiple times with the same listener will have no effect (but to return false).- Parameters:
listener- The listener to add.- Returns:
- true if the listener was added, false otherwise.
- Throws:
NullPointerException- If the listener isnull.
removeListener
Removes a dispose listener for the client session.- Parameters:
listener- The listener to remove.- Returns:
- true if listener is successfully removed, false otherwise.
invalidLicense
Called from the SWT thread if the license is not valid.- Parameters:
e- The license exception.
getLicenseException
Gets the potential license exception that occurred when loading it.- Returns:
- The license exception, or null for OK (or License System not yet loaded).
createLicenseExceptionComposite
public static org.eclipse.swt.widgets.Composite createLicenseExceptionComposite(org.eclipse.swt.widgets.Composite parent, String errorText) Creates an error composite from the license exception.- Parameters:
parent- The parent composite.errorText- The error text to use if there is no license exception.- Returns:
- The error composite, or null for no exception and no error text.
addForDisposalAtDispose
Adds an action that is disposed when the editor is disposed of.getMultiSelectionProvider
Gets the multi-property selection provider.- Specified by:
getMultiSelectionProviderin interfaceIPropertyEditorController
getExtension
The extensions framework.- Specified by:
getExtensionin interfaceIWorkbenchPartIZ
getSelectionEnabler
Gets the selection enabler instance.- Specified by:
getSelectionEnablerin interfaceIWorkbenchPartIZ
onEditorActivated
protected void onEditorActivated(boolean on) Called when the editor is activated or deactivated.addOpenFile
Adds an open file. This method should be called when e.g. the text table editor opens a parallel text table for editing.closeFile
Closed an open file. This method should be called when e.g. the text table editor opens a parallel text table for editing.init
public final void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input) throws org.eclipse.ui.PartInitException Initializes this editor with the given editor site and input.This method is automatically called shortly after the part is instantiated. It marks the start of the part's life cycle. The IWorkbenchPart.dispose method will be called automatically at the end of the life cycle. Clients must not call this method.
Implementors of this method must examine the editor input object type to determine if it is understood. If not, the implementor must throw a PartInitException.
The initEditor method is called once initialized.
- Specified by:
initin interfaceorg.eclipse.ui.IEditorPart- Specified by:
initin classorg.eclipse.ui.part.EditorPart- Throws:
org.eclipse.ui.PartInitException- For initialization failures.
hasInitError
public boolean hasInitError()Flag for initialize error, i.e. if there is a PartInitException in the postponed call.onEditorReady
protected void onEditorReady()Function called once the Editor has been initialized and fully created, should be overridden by Editor parts that need such functionality. By default nothing is done in this method.proceedInit
protected void proceedInit() throws org.eclipse.ui.PartInitExceptionContinues the "init". This method can be overridden by editors that are not file property based such as the capture editor.- Throws:
org.eclipse.ui.PartInitException
proceedInitProperty
Proceeds initializing the editor with the property.- Throws:
org.eclipse.ui.PartInitException
getPartComposite
public org.eclipse.swt.widgets.Composite getPartComposite()Gets the part composite created.- Returns:
- The part composite, null if not yet created.
updateTitle
protected void updateTitle()Updates the title and tooltip when file name/contents changes.getTitleToolTip
Returns the title tooltip.- Specified by:
getTitleToolTipin interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
getTitleToolTipin classorg.eclipse.ui.part.EditorPart
getTitleImage
public org.eclipse.swt.graphics.Image getTitleImage()Returns the workbench part image.- Specified by:
getTitleImagein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
getTitleImagein classorg.eclipse.ui.part.WorkbenchPart
getPartName
Gets the part name that is about to be set. Override to provide an other title.getTitleToolTip
Gets the part name that is about to be set. Override to provide an other title.setInput
public void setInput(org.eclipse.ui.IEditorInput input) Sets the input to this editor.Note: Clients must fire the
IEditorPart.PROP_INPUTproperty change within their implementation ofsetInput().- Overrides:
setInputin classorg.eclipse.ui.part.EditorPart- Parameters:
input- The editor input.
getModuleModel
Gets the ModuleModel instance of the project.- Specified by:
getModuleModelin interfaceIPropertyEditorController- Returns:
- The ModuleModel of the project, null if not yet loaded.
onFileClosed
Called when an open file in the editor has been closed and needs to be removed. This is called in the SWT thread. This call is not done for the main file of this editor, but secondary files. For the main file, the editor is closed directory.Subclasses with multiple files override this method.
- Parameters:
fpc- The file closed.
onPartRenamed
Called when the part has been renamed. Subclasses override this method to handle changes in property names if the property e.g. is in a tree.initEditor
The initialize editor method.Subclasses may override this method.
- Parameters:
cnr- The property container being edited. Note: the real name of the property is in the parent FilePropCnr Atom.- Throws:
org.eclipse.ui.PartInitException- For initialization failures.
onClose
public void onClose()Called when the part is being closed but is not yet disposed but hidden.- Specified by:
onClosein interfaceIActivationListener
isSaveOnCloseNeeded
public boolean isSaveOnCloseNeeded()Returns whether the contents of this editor should be saved when the editor is closed.This method always returns
falsebecause the IIZI saveables mechanism is somewhat different and saves when workspace exits.- Specified by:
isSaveOnCloseNeededin interfaceorg.eclipse.ui.ISaveablePart- Overrides:
isSaveOnCloseNeededin classorg.eclipse.ui.part.EditorPart
dispose
public void dispose()Disposes of the Editor.- Specified by:
disposein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
disposein classorg.eclipse.ui.part.WorkbenchPart
isDisposed
public boolean isDisposed()Checks if the part is disposed of.- Specified by:
isDisposedin interfaceIActivationListener- Specified by:
isDisposedin interfaceIPropertyEditorController- Specified by:
isDisposedin interfaceIWorkbenchPartIZ- Returns:
- true if disposed of, false otherwise.
restoreState
public final void restoreState(org.eclipse.ui.IMemento memento) Called with a memento for this editor. The editor can parse the data or save the memento. This method may not be called.- Specified by:
restoreStatein interfaceorg.eclipse.ui.IPersistableEditor- Parameters:
memento- the saved state for this editor. May benull.
restoreMemento
protected void restoreMemento()Called to perform the restoring of the Memento state. When this method is called, the subclass can get the memento using the protected variablerestoreMemento.Note that
restoreMementomay benull.saveState
public final void saveState(org.eclipse.ui.IMemento memento) Saves the state of the object in the given memento.Subclasses may extend this method.
- Specified by:
saveStatein interfaceorg.eclipse.ui.IPersistable- Parameters:
memento- The storage area for object's state.
saveStateImpl
protected void saveStateImpl(org.eclipse.ui.IMemento memento) Saves the state of the object in the given memento.Subclasses should override this method to provide support.
- Parameters:
memento- The storage area for object's state.
addSelectionChangedListener
public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener) Adds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.- Specified by:
addSelectionChangedListenerin interfaceorg.eclipse.jface.viewers.ISelectionProvider- Parameters:
listener- a selection changed listener
removeSelectionChangedListener
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener) Removes the given selection change listener from this selection provider. Has no effect if an identical listener is not registered.- Specified by:
removeSelectionChangedListenerin interfaceorg.eclipse.jface.viewers.ISelectionProvider- Parameters:
listener- a selection changed listener
getSelection
public org.eclipse.jface.viewers.ISelection getSelection()Returns the current selection for this provider.- Specified by:
getSelectionin interfaceorg.eclipse.jface.viewers.ISelectionProvider- Returns:
- the current selection
setSelection
public void setSelection(org.eclipse.jface.viewers.ISelection selection) Sets the current selection for this selection provider.- Specified by:
setSelectionin interfaceorg.eclipse.jface.viewers.ISelectionProvider- Parameters:
selection- the new selection
addToolbarPushButton
public static org.eclipse.swt.widgets.ToolItem addToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, org.eclipse.swt.graphics.Image image, int style, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.- Parameters:
toolBar- The tool bar.tooltip- The tool-tip text of the tool bar button.image- The image to use for the tool bar button.style- The style: SWT.PUSH, SWT.CHECK, etc...listener- The listener for the tool bar button.
addToolbarPushButton
public static org.eclipse.swt.widgets.ToolItem addToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.- Parameters:
toolBar- The tool bar.tooltip- The tool-tip text of the tool bar button.image- The image to use for the tool bar button.listener- The listener for the tool bar button.
addToolbarPushButton
public static org.eclipse.swt.widgets.ToolItem addToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, String tooltip, String icon, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.- Parameters:
toolBar- The tool bar.tooltip- The tool-tip text of the tool bar item.icon- The workbench predefined image name.listener- The listener for the tool bar button.- Returns:
- The newly created tool bar button.
addToolbarPushButton
protected org.eclipse.swt.widgets.ToolItem addToolbarPushButton(String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.- Parameters:
tooltip- The tool-tip text of the tool bar button.image- The image to use for the tool bar button.listener- The listener for the tool bar button.
addToolbarPushButton
protected org.eclipse.swt.widgets.ToolItem addToolbarPushButton(String tooltip, String icon, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button.- Parameters:
tooltip- The tool-tip text of the tool bar item.icon- The workbench predefined image name.listener- The listener for the tool bar button.- Returns:
- The newly created tool bar button.
addToolbarPushButton
public void addToolbarPushButton(org.eclipse.swt.widgets.ToolBar toolBar, org.eclipse.jface.action.IAction action) Adds a tool bar push button from an action.- Parameters:
toolBar- The tool bar.action- The action.
addToolbarPushButton
protected void addToolbarPushButton(org.eclipse.jface.action.IAction action) Adds a tool bar push button from an action.- Parameters:
action- The action.
addToolbar2PushButton
protected void addToolbar2PushButton(org.eclipse.jface.action.IAction action) Adds a push button to the second tool bar from an action.- Parameters:
action- The action.
addToolbar2PushButton
protected org.eclipse.swt.widgets.ToolItem addToolbar2PushButton(String tooltip, org.eclipse.swt.graphics.Image image, org.eclipse.swt.widgets.Listener listener) Adds a tool bar push button to the second tool bar.- Parameters:
tooltip- The tool-tip text of the tool bar button.image- The image to use for the tool bar button.listener- The listener for the tool bar button.
addToolbarSeparator
public static void addToolbarSeparator(org.eclipse.swt.widgets.ToolBar toolBar) Adds a separator to the tool bar.- Parameters:
toolBar- The tool bar.
addToolbarSeparator
protected void addToolbarSeparator()Adds a separator to the tool bar.addToolbar2Separator
protected void addToolbar2Separator()Adds a separator to the second tool bar.createPartControl
public final void createPartControl(org.eclipse.swt.widgets.Composite parent) Create contents of the editor part.This method calls .
- Specified by:
createPartControlin interfaceorg.eclipse.ui.IWorkbenchPart- Specified by:
createPartControlin classorg.eclipse.ui.part.WorkbenchPart- Parameters:
parent- The parent composite.
supportsCopyReference
protected boolean supportsCopyReference()Returns if the Copy reference should be present or not.- Returns:
- false indicates no such item should be present, true for maybe, depending on selection.
supportsCopyFullPath
protected boolean supportsCopyFullPath()Returns if the Copy path should be present or not.- Returns:
- false indicates no such item should be present, true for maybe, depending on selection.
usePasteBeforeAfter
protected boolean usePasteBeforeAfter()Override to return how paste before/after are processed.- Returns:
- true to handle before/after.
createEditorComposite
protected abstract void createEditorComposite(org.eclipse.swt.widgets.Composite parent) Creates the Editor Main Composite.- Parameters:
parent- The empty parent composite without initialized layout, with the widget background color.
performCopyReference
protected boolean performCopyReference(boolean doPerform) Copies the reference.- Parameters:
doPerform- Flag to perform the action or just testing it.- Returns:
- true for action enabled, false for disabled.
performCopyFullPath
protected boolean performCopyFullPath(boolean doPerform) Copies the full path.- Parameters:
doPerform- Flag to perform the action or just testing it.- Returns:
- true for action enabled, false for disabled.
setActionsUndoContext
public void setActionsUndoContext(org.eclipse.core.commands.operations.IUndoContext undoContext) Assigns another undo context to the undo/redo actions.- Parameters:
undoContext- The new undo context, or null to restore to the original one.
getUndoAction
public org.eclipse.ui.operations.UndoActionHandler getUndoAction()Gets the undo action.getRedoAction
public org.eclipse.ui.operations.RedoActionHandler getRedoAction()Gets the undo action.registerFormControl
public void registerFormControl(org.eclipse.swt.widgets.Control control) Registers a form entry capable control in the Editor part.- Parameters:
control- The control can be Text, Combo, CCombo, StyledText, Spinner.
getShell
public final org.eclipse.swt.widgets.Shell getShell()Gets the shell.- Specified by:
getShellin interfaceIPropUndoRedo- Returns:
- An object castable to org.eclipse.swt.widgets.Shell.
getUndoContext
public final org.eclipse.core.commands.operations.IUndoContext getUndoContext()Gets the undo context.- Specified by:
getUndoContextin interfaceIPropertyEditorController- Specified by:
getUndoContextin interfaceIPropUndoContext- Specified by:
getUndoContextin interfaceIPropUndoRedo- Returns:
- An object castable to org.eclipse.core.commands.operations.IUndoContext.
getUndoRedo
Gets the undo/redo interface.- Specified by:
getUndoRedoin interfaceIPropertyEditorController- Specified by:
getUndoRedoin interfaceIWorkbenchPartIZ
isDirty
public boolean isDirty()Returns whether the contents of this part have changed since the last save operation. If this value changes the part must fire a property listener event with PROP_DIRTY.- Specified by:
isDirtyin interfaceorg.eclipse.ui.ISaveablePart- Specified by:
isDirtyin classorg.eclipse.ui.part.EditorPart
verifyDirtyStateChanged
public void verifyDirtyStateChanged()Verifies the dirty and fires state changed as required.refreshViewers
public void refreshViewers()Refreshes all registered viewers before e.g. a "doOpen" call to show a property when they have just been added.doOpen
Opens the property by selecting it in focus. This method must be overridden.doOpen
Opens the property by selecting it in focus. This method must be overridden.- Parameters:
prop- The property to focus.index- The index in a multi-property.childName- The child property name or null.- Returns:
- true for success, false for failure.
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor) Saves the contents of this part.If the save is successful, the part should fire a property changed event reflecting the new dirty state (PROP_DIRTY property). If the save is cancelled through user action, or for any other reason, the part should invoke setCancelled on the IProgressMonitor to inform the caller.
- Specified by:
doSavein interfaceorg.eclipse.ui.ISaveablePart- Specified by:
doSavein classorg.eclipse.ui.part.EditorPart
doSaveAs
public final void doSaveAs()Saves the contents of this part to another object.This is not supported.
- Specified by:
doSaveAsin interfaceorg.eclipse.ui.ISaveablePart- Specified by:
doSaveAsin classorg.eclipse.ui.part.EditorPart
isSaveAsAllowed
public final boolean isSaveAsAllowed()Returns whether the "Save As" operation is supported by this part.- Specified by:
isSaveAsAllowedin interfaceorg.eclipse.ui.ISaveablePart- Specified by:
isSaveAsAllowedin classorg.eclipse.ui.part.EditorPart- Returns:
- false, always.
performUndo
public void performUndo()Performs Undo.performRedo
public void performRedo()Performs Redo.getSyntClipboardSelection
Gets the current IClipboardSelection implementor.- Returns:
- null For none.
performCopy
public void performCopy()Performs Copy.performCut
public void performCut()Performs Cut.performPaste
public void performPaste()Performs Paste.performPasteBefore
public void performPasteBefore()Performs Paste Before.performPasteAfter
public void performPasteAfter()Performs Paste Before.performPasteLink
public void performPasteLink()Performs Paste-link.performDelete
public void performDelete()Performs Delete.performSelectAll
public final void performSelectAll()Performs Select All.performMove
public void performMove()Performs Move.performLink
public void performLink()Performs Link.performPrint
protected abstract void performPrint()Performs Print.performRevert
protected void performRevert()Performs Revert.performSave
protected void performSave()Performs Save.performRename
protected void performRename()Performs Rename.getCurrentTreeViewer
protected org.eclipse.jface.viewers.TreeViewer getCurrentTreeViewer()Gets the current tree viewer.- Returns:
- null for none.
performCollapseAll
protected void performCollapseAll()Performs move up.performExpandAll
protected void performExpandAll()Performs move down.selectionChanged
public final void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event) Selection changes in the tree. Once the selection has been processed, theselectChangedEx(event)method is called.- Specified by:
selectionChangedin interfaceorg.eclipse.jface.viewers.ISelectionChangedListener
fireSelectionAndStates
public void fireSelectionAndStates()Fires a new selection event that also updates the states.selectionChangedEx
protected void selectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event) Selection changes in the tree.Subclasses should override this method to process selection changes.
updateStates
public final void updateStates()Update states of the menu and tool bars, both global and part-local ones. The states are set according to theselectionStatesmember variable class instance. To fine-tune the states in theselectionStatesand further process other states, override theupdateStatesEx()method.- Specified by:
updateStatesin interfaceIActivationListener- Specified by:
updateStatesin interfaceIPropUndoRedo
onUpdateStates
protected void onUpdateStates()Called just in the beginning of updateStates() before selections are processed. Override as required.updateStatesPasteBeforeAfter
protected void updateStatesPasteBeforeAfter()Process update states for pasteBeforeAction and pasteAfterAction. Override if other processing that the default is required, such as in the Panel Editor.postAsyncUpdateStates
protected final void postAsyncUpdateStates()Post an async updateStates event (once only in one "SWT cycle").onEditedPropertyChangedForVerify
Called when verification listener gets called for verify, very commonly in a non-SWT thread. This method does nothing by default and can be overridden to process the edited property container changes events.updateStatesEx
protected void updateStatesEx()Update states of the menu and tool bars, both global and part-local ones. The states are set according to theselectionStatesmember variable class instance.To fine-tune the states in the
selectionStatesand further process other states, override this method.setPropertyValue
Sets a property value. The undo/redo functionality will wrap an undo/redo action for this function. This method handles setting a property value that is extended in the parent and the new property is to replace it in the parent.- Specified by:
setPropertyValuein interfaceIPropertyEditorController
setPropertyError
Sets a property error. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
setPropertyErrorin interfaceIPropertyEditorController
setPropertyAttrFlag
Sets a property attribute flag. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
setPropertyAttrFlagin interfaceIPropertyEditorController
removePropertyValue
Removes a property when undefined in the editors. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
removePropertyValuein interfaceIPropertyEditorController
getAdapter
- Specified by:
getAdapterin interfaceorg.eclipse.core.runtime.IAdaptable- Overrides:
getAdapterin classorg.eclipse.ui.part.WorkbenchPart
getSaveables
public org.eclipse.ui.Saveable[] getSaveables()- Specified by:
getSaveablesin interfaceorg.eclipse.ui.ISaveablesSource
getActiveSaveables
public org.eclipse.ui.Saveable[] getActiveSaveables()- Specified by:
getActiveSaveablesin interfaceorg.eclipse.ui.ISaveablesSource
onActivated
public final void onActivated(boolean on) Called when activator or deactivated.- Specified by:
onActivatedin interfaceIActivationListener
createCommonViewer
Creates the CommonViewer with extra support for Drag-and-Drop. The Tree Control gets an added focus listener to this instance as well as the viewer getting a post-selection listener.- Parameters:
parent- The parent.- Returns:
- The common viewer registered as "com.iizigo.navigator".
createFilteredCommonViewer
public final FilteredCommonViewer createFilteredCommonViewer(org.eclipse.swt.widgets.Composite parent, IzFilter filter) Creates the Filtered CommonViewer with extra support for Drag-and-Drop. The Tree Control gets an added focus listener to this instance as well as the viewer getting a post-selection listener.The tree is created with SWT.MULTI style.
- Parameters:
parent- The parent.filter- Filter.- Returns:
- The common viewer registered as "com.iizigo.navigator".
createFilteredCommonViewer
public final FilteredCommonViewer createFilteredCommonViewer(org.eclipse.swt.widgets.Composite parent, int style, IzFilter filter) Creates the Filtered CommonViewer with extra support for Drag-and-Drop. The Tree Control gets an added focus listener to this instance as well as the viewer getting a post-selection listener.- Parameters:
parent- The parent.style- Tree SWT styles.filter- Filter.- Returns:
- The common viewer registered as "com.iizigo.navigator".
onDragBegin
protected void onDragBegin()Drag started.onDragEnd
protected void onDragEnd()Drag finished.isDragging
public boolean isDragging()Flag for dragging to postpone selection events until drag completes.- Specified by:
isDraggingin interfaceIDraggingFix
createMenu
protected void createMenu(org.eclipse.jface.viewers.Viewer viewer, IContextMenuContributor contributor) Creates a menu that is used as a pop-up menu.createMenu
protected void createMenu(org.eclipse.swt.widgets.Control control, IContextMenuContributorFormControl<org.eclipse.swt.widgets.Control> contributor) Creates a menu that is used as a pop-up menu.setFocus
public final void setFocus()Sets focus to the Editor. Subclasses should extend this method.- Specified by:
setFocusin interfaceorg.eclipse.ui.IWorkbenchPart- Specified by:
setFocusin classorg.eclipse.ui.part.WorkbenchPart
onSetFocus
protected void onSetFocus()Called when set focus is called to override default processing. Override this method instead of the "final" setFocus method that can't be overridden (due to process of initialization errors, PartInitException, etc).registerViewer
protected void registerViewer(org.eclipse.jface.viewers.StructuredViewer viewer, int index) Registers a viewer for selection changes. This will cause a focus listener to this class as well as a post-selection-listener. This method is required to set fulfill the contract of the editor's SelectionProvider contract.- Parameters:
viewer- The viewer.index- The control index.
registerViewer
public void registerViewer(org.eclipse.jface.viewers.StructuredViewer viewer, int index, IContextMenuContributor contributor) Registers a viewer for selection changes. This will cause a focus listener to this class as well as a post-selection-listener. This method is required to set fulfill the contract of the editor's SelectionProvider contract.- Parameters:
viewer- The viewer.index- The control index.contributor- The context menu contributor, null for none.
setTargetViewer
Sets the target viewer for e.g. add operations in order to make selection of the added properties at add, undo or redo.- Specified by:
setTargetViewerin interfaceIPropUndoRedo- Parameters:
viewer- The CommonViewer, TreeViewer or TableViewer, or null for none.
getTargetViewer
Gets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).- Specified by:
getTargetViewerin interfaceIPropUndoRedo- Returns:
- The CommonViewer, TreeViewer or TableViewer, or null for none.
setBlockViewerFocus
public void setBlockViewerFocus(boolean block) Blocks the target viewer from focus.- Specified by:
setBlockViewerFocusin interfaceIPropertyEditorController
onComponentFocus
public void onComponentFocus(org.eclipse.swt.widgets.Control c) Called by the workbench extension when focus is received.gotoMarker
public void gotoMarker(org.eclipse.core.resources.IMarker marker) Sets the cursor and selection state for an editor to reveal the position of the given marker.- Specified by:
gotoMarkerin interfaceorg.eclipse.ui.ide.IGotoMarker- Parameters:
marker- the marker
setFocus
protected int setFocus(PropCnr container, org.eclipse.jface.viewers.StructuredViewer viewer, IzFilter filter, PropertyEditor propertyEditor, GProp<?> property, int index, String childName) Attempts to set focus to the property in question based on a container, a viewer and a property editor. If successful, the viewer selects the property or its ancestor, the property editor has the focus to the edited property.This call should be made from the SWT thread.
- Parameters:
container- The container.viewer- A viewer.filter- A filter instance for the viewer, null for none.propertyEditor- The property editor.property- The property to focus.index- Index in multi-property, -1 for none.childName- Name of child property or null.- Returns:
- -1=failed, 0=selection only, 1=selection+property.