public class MultiViewEditorElement extends Object implements MultiViewElement, CloneableEditorSupport.Pane, Serializable
MultiViewElement
to integrate editor with
MultiViews
. It can be used directly via a factory method:
@
MultiViewElement.Registration(
displayName = "#BUNDLE_KEY",
iconBase = "path/to/some-icon.png",
mimeType = "text/yourmime",
persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
preferredID = "yourId",
position = 1000
)
public static MultiViewEditorElement createEditor(Lookup lkp) {
return new MultiViewEditorElement(lkp);
}
Or one can subclass the class, override some methods (it is recommended
to continue to call super implementation) and register the
subclass.MultiViewElement.Registration
Constructor and Description |
---|
MultiViewEditorElement(Lookup lookup)
Constructor suitable for use with
MultiViewElement.Registration annotation. |
Modifier and Type | Method and Description |
---|---|
CloseOperationState |
canCloseElement()
Element decides if it can be safely closed.
|
void |
componentActivated()
Called when this multi view element is activated.
|
void |
componentClosed()
Called only when multi view top component was closed.
|
void |
componentDeactivated()
Called when this multi view element is deactivated.
|
void |
componentHidden()
Called when this MultiViewElement was hidden.
|
void |
componentOpened()
Called only when enclosing multi view top component was closed before and
now is opened again for the first time.
|
void |
componentShowing()
Called when this MultiViewElement is about to be shown.
|
void |
ensureVisible() |
Action[] |
getActions()
Gets the actions which will appear in the popup menu of this component.
|
CloneableTopComponent |
getComponent() |
JEditorPane |
getEditorPane() |
Lookup |
getLookup()
Lookup for the MultiViewElement.
|
JComponent |
getToolbarRepresentation()
Returns the visual component with the multi view element's toolbar.Should be relatively fast as it's called
everytime the current perspective is switched.
|
UndoRedo |
getUndoRedo()
UndoRedo support,
Get the undo/redo support for this element.
|
JComponent |
getVisualRepresentation()
Returns Swing visual representation of this multi view element.
|
void |
setMultiViewCallback(MultiViewElementCallback callback)
Use the passed in callback instance for manipulating the enclosing multiview component, keep the instance around
during lifecycle of the component if you want to automatically switch to this component etc.
|
void |
updateName() |
public MultiViewEditorElement(Lookup lookup)
MultiViewElement.Registration
annotation.
The Lookup
parameter is expected to contain
CloneableEditorSupport
, otherwise it yields an exceptionlookup
- context for the editor. Should contain instance of CloneableEditorSupport
classIllegalArgumentException
- if CloneableEditorSupport
is not present
in provided Lookup
public JComponent getVisualRepresentation()
MultiViewElement
getVisualRepresentation
in interface MultiViewElement
public JComponent getToolbarRepresentation()
MultiViewElement
getToolbarRepresentation
in interface MultiViewElement
public Action[] getActions()
MultiViewElement
Subclasses are encouraged to use add the default TopComponent actions to the array of their own. These are accessible by calling MultiViewElementCallback.createDefaultActions()
public Action[] getActions() {
Action[] retValue;
// the multiviewObserver was passed to the element in setMultiViewCallback() method.
if (multiViewObserver != null) {
retValue = multiViewObserver.createDefaultActions();
// add you own custom actions here..
} else {
// fallback..
retValue = super.getActions();
}
return retValue;
}
getActions
in interface MultiViewElement
public Lookup getLookup()
MultiViewElement
getLookup
in interface MultiViewElement
public void componentOpened()
MultiViewElement
componentOpened
in interface MultiViewElement
public void componentClosed()
MultiViewElement
componentClosed
in interface MultiViewElement
public void componentShowing()
MultiViewElement
componentShowing
in interface MultiViewElement
public void componentHidden()
MultiViewElement
componentHidden
in interface MultiViewElement
public void componentActivated()
MultiViewElement
componentActivated
in interface MultiViewElement
public void componentDeactivated()
MultiViewElement
componentDeactivated
in interface MultiViewElement
public UndoRedo getUndoRedo()
MultiViewElement
getUndoRedo
in interface MultiViewElement
public void setMultiViewCallback(MultiViewElementCallback callback)
MultiViewElement
setMultiViewCallback
in interface MultiViewElement
public CloseOperationState canCloseElement()
MultiViewElement
canCloseElement
in interface MultiViewElement
public JEditorPane getEditorPane()
getEditorPane
in interface CloneableEditorSupport.Pane
public CloneableTopComponent getComponent()
getComponent
in interface CloneableEditorSupport.Pane
public void updateName()
updateName
in interface CloneableEditorSupport.Pane
public void ensureVisible()
ensureVisible
in interface CloneableEditorSupport.Pane