public abstract class DockStation extends java.lang.Object implements Controller, Addin
The singleton for docking operations. To write a dockable window, you must create your own
s and a DockableWindow
.
DockableFactory
Modifier and Type | Field and Description |
---|---|
static int |
STATUS_ACCESSIBLE
The user has a direct access to the dockable.
|
static int |
STATUS_ACTIVE
Dockable is active (title bar is dark blue)
|
static int |
STATUS_MINIMIZED |
static int |
STATUS_PINNED |
static int |
STATUS_PRESENT |
static int |
STATUS_TABBED |
static int |
STATUS_VISIBLE
Dockable is visible.
|
UPDATE_FROM_ACTION_PERFORMED, UPDATE_FROM_ACTIVE_VIEW_CHANGED, UPDATE_FROM_UNDO, UPDATE_FROM_USER_EXTENSION, UPDATE_FROM_VIEW_SELECTION_CHANGED
Constructor and Description |
---|
DockStation() |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
activateAnyDockable()
Sets the focus in the first available dockable window.
|
abstract boolean |
activateDockable(Dockable dockable)
Sets the focus in the specified dockable.
|
abstract void |
addDockableListener(DockableListener l,
Dockable d)
Dockable listeners are manipulated by the
DockStation to simplify the implementation of the
Dockable interface. |
protected abstract void |
addToCache(Dockable dockable) |
abstract void |
cancelRequestAttention(Dockable dockable)
Cause the Dockable's tab to stop flashing if it was flashing.
|
abstract void |
close(Dockable dockable)
Close the specified dockable.
|
abstract DockableDragContext |
createDockableDragContext(DockableDragSource dockableDragSource) |
protected abstract DrawerModel |
createDrawerModel(DrawerDockableWindow drawerDockableWindow) |
abstract void |
dock(Dockable dockable,
DockingParam dockingParam)
Inserts the dockable into the docking system.
|
abstract Dockable |
findDockable(ViewId viewId)
Searches/create a dockable based on a name.
|
abstract void |
fireDockableEvent(DockableEvent e) |
abstract Dockable |
getDockable(ViewId viewId)
Searches a dockable based on a name.
|
abstract int |
getDockableStatus(Dockable dockable) |
static DockStation |
getDockStation() |
abstract void |
initialize()
This method is called to give this class an opportunity to hook layout listeners to the ide.
|
abstract void |
install(javax.swing.JFrame frame,
java.awt.Container topPanel,
javax.swing.JComponent centerPanel)
Initializes the docking system.
|
abstract boolean |
isDockableVisible(Dockable dockable) |
abstract boolean |
isDockableVisible(java.lang.String viewId) |
abstract DockableFactory |
lookupFactory(ViewId viewId) |
abstract void |
makeBusy(Dockable dockable,
boolean busy)
Notify the user that some (possibly lengthy) process is being run in this
dockable.
|
abstract void |
registerDockableFactory(java.lang.String viewTypeId,
DockableFactory factory)
Deprecated.
clients use a declarative "dockable-factory-hook" trigger hook in their extension.xml.
|
abstract void |
registerDockableFactory(java.lang.String viewTypeId,
DockableFactory factory,
double priority)
Deprecated.
clients should use a declarative "dockable-factory-hook" trigger hook in their extension.xml.
|
void |
registerDockableFactory(java.lang.String viewTypeId,
MetaClass metaClass)
Deprecated.
clients should use a declarative "dockable-factory-hook" trigger hook in their extension.xml.
|
abstract void |
removeDockableListener(DockableListener l,
Dockable d)
Unregisters a dockable listener.
|
protected abstract void |
removeFromCache(Dockable dockable) |
protected abstract void |
removeFromCache(java.lang.String uniqueName) |
abstract void |
requestAttention(Dockable dockable,
boolean brief)
Cause the Dockable's tab to flash or otherwise draw attention to
itself.
|
abstract void |
saveLayout(PropertyAccess pa)
Saves all of the docking layout.
|
abstract void |
setAttentionHighlight(Dockable dockable,
boolean highlight)
Permanently highlights this Dockable's tab until user activates it.
|
abstract void |
setDockableVisible(Dockable dockable,
boolean bVisible) |
abstract void |
setDockableVisible(java.lang.String strViewId,
boolean bVisible)
Show/hide a dockable.
|
abstract void |
setDockableVisibleNoFocus(Dockable dockable)
Show a dockable, the Focus remains on the current window.
|
abstract void |
setDockableVisibleNoFocus(java.lang.String strViewId)
Show a dockable, the Focus remains on the current window.
|
static void |
setDockStation(DockStation dockStation)
Publishes the specified
as the active instance in the IDE. |
abstract void |
undock(Dockable dockable)
Remove the dockable.
|
protected abstract void |
undock(Dockable dockable,
int flags) |
abstract void |
unregisterDockableFactory(java.lang.String viewTypeId) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleEvent, update
public static final int STATUS_PRESENT
public static final int STATUS_PINNED
public static final int STATUS_MINIMIZED
public static final int STATUS_TABBED
public static final int STATUS_ACCESSIBLE
public static final int STATUS_ACTIVE
public static final int STATUS_VISIBLE
public static DockStation getDockStation()
DockStation
instance that is active in the IDE.public static void setDockStation(DockStation dockStation)
DockStation
as the active instance in the IDE.dockStation
- the specified dock station.@Deprecated public abstract void registerDockableFactory(java.lang.String viewTypeId, DockableFactory factory)
viewTypeId
- the type id of the factory.factory
- the dockable factory to register.@Deprecated public abstract void registerDockableFactory(java.lang.String viewTypeId, DockableFactory factory, double priority)
public abstract void unregisterDockableFactory(java.lang.String viewTypeId)
public abstract DockableFactory lookupFactory(ViewId viewId)
public abstract void addDockableListener(DockableListener l, Dockable d)
DockStation
to simplify the implementation of the
Dockable
interface.l
- the listener to add.d
- the dockable to watch. If this value is null, the listener will be registered for every dockable.public abstract void removeDockableListener(DockableListener l, Dockable d)
l
- the listener to remove.d
- the dockable on which the listener was registered.public abstract void initialize()
initialize
in interface Addin
AddinManager
public abstract void install(javax.swing.JFrame frame, java.awt.Container topPanel, javax.swing.JComponent centerPanel)
frame
- The main application frame. It will be used to attach floating windows.topPanel
- usually the contentFrame.centerPanel
- the place where MDI windows will circulate.public abstract boolean isDockableVisible(java.lang.String viewId)
true
if the view identified by the given viewId
is visible.public abstract boolean isDockableVisible(Dockable dockable)
true
if the given dockable
is visible.public abstract int getDockableStatus(Dockable dockable)
public abstract void dock(Dockable dockable, DockingParam dockingParam)
dockable
- the dockable to insert.dockingParam
- specifies where to place the dockable.public abstract void undock(Dockable dockable)
TitledPanel
.dockable
- the dockable to remove.protected abstract void undock(Dockable dockable, int flags)
public abstract void setDockableVisible(java.lang.String strViewId, boolean bVisible)
bVisible
is true and the dockable was not created yet, the dockable factories will be searched and
the one that matches the name will be asked to create the dockable.
If bVisible
is true and the container of the dockable is hidden (floating windows) the container will
be shown too.strViewId
- the identification of the dockable.bVisible
- true if the dockable must be shown.public abstract void setDockableVisible(Dockable dockable, boolean bVisible)
public abstract void close(Dockable dockable)
dockable
- the dockable to close.public abstract void saveLayout(PropertyAccess pa)
pa
- the storage object.public abstract boolean activateDockable(Dockable dockable)
dockable
- the dockable to activate.public abstract boolean activateAnyDockable()
public abstract Dockable getDockable(ViewId viewId)
viewId
- the id or name used as search criteria.null
if the dockable was not found.public abstract Dockable findDockable(ViewId viewId)
public abstract DockableDragContext createDockableDragContext(DockableDragSource dockableDragSource)
protected abstract void addToCache(Dockable dockable)
protected abstract void removeFromCache(Dockable dockable)
protected abstract void removeFromCache(java.lang.String uniqueName)
protected abstract DrawerModel createDrawerModel(DrawerDockableWindow drawerDockableWindow)
public abstract void fireDockableEvent(DockableEvent e)
public abstract void requestAttention(Dockable dockable, boolean brief)
It will remain flashing until either cancelRequestAttention
is called, the component becomes selected or its activated state changes,
unless the brief
argument is true, in which case it will stop
after a few second.
It is NOT safe to call this method off the EDT.
dockable
- brief
- True if the tab should blink a few times and stoppublic abstract void cancelRequestAttention(Dockable dockable)
dockable
- public abstract void makeBusy(Dockable dockable, boolean busy)
dockable
- busy
- 'true' - to start 'busy' notification, 'false' to stop it.@Deprecated public void registerDockableFactory(java.lang.String viewTypeId, MetaClass metaClass)
public abstract void setDockableVisibleNoFocus(Dockable dockable)
dockable
- public abstract void setDockableVisibleNoFocus(java.lang.String strViewId)
strViewId
- the identification of the dockable.public abstract void setAttentionHighlight(Dockable dockable, boolean highlight)
dockable
- dockable to highlighthighlight
- True to highlight the tab, false to switch the highlight off.#requestAttention(boolean)