bibliothek.gui.dock.common.intern
Interface CDockable

All Known Subinterfaces:
MultipleCDockable, SingleCDockable
All Known Implementing Classes:
AbstractCDockable, CWorkingArea, DefaultCDockable, DefaultMultipleCDockable, DefaultSingleCDockable

public interface CDockable

A basic element representing some Component.

Author:
Benjamin Sigg

Nested Class Summary
static class CDockable.ExtendedMode
          The mode tells how big a CDockable is.
 
Method Summary
 void addCDockableListener(CDockableListener listener)
          Adds a listener to this dockable, the listener will be informed of changes of this dockable.
 DockActionSource getClose()
          Gets the source that contains the close-action.
 CControlAccess getControl()
          Gets the control which is responsible for this dockable.
 CDockable.ExtendedMode getExtendedMode()
          Gets the size and location of this dockable.
 CLocation getLocation()
          Gets the location of this dockable.
 CWorkingArea getWorkingArea()
          Gets the parent of this dockable, this should be the same as set by the last call of setWorkingArea(CWorkingArea).
 CommonDockable intern()
          Gets the intern representation of this dockable.
 boolean isCloseable()
          Tells whether this dockable can be closed by the user.
 boolean isExternalizable()
          Tells whether this dockable can be externalized by the user.
 boolean isMaximizable()
          Tells whether this dockable can be maximized by the user.
 boolean isMinimizable()
          Tells whether this dockable can be minimized by the user.
 boolean isStackable()
          Tells whether this dockable can be combined with another dockable to create a stack.
 boolean isVisible()
          Tells whether this dockable is currently visible or not.
 void removeCDockableListener(CDockableListener listener)
          Removes a listener from this dockable.
 void setControl(CControlAccess control)
          Sets the CControl which is responsible for this dockable.
 void setExtendedMode(CDockable.ExtendedMode extendedMode)
          Sets how and where this dockable should be shown.
 void setLocation(CLocation location)
          Sets the location of this dockable.
 void setVisible(boolean visible)
          Shows or hides this dockable.
 void setWorkingArea(CWorkingArea area)
          Sets the parent of this dockable.
 

Method Detail

addCDockableListener

void addCDockableListener(CDockableListener listener)
Adds a listener to this dockable, the listener will be informed of changes of this dockable.

Parameters:
listener - the new listener

removeCDockableListener

void removeCDockableListener(CDockableListener listener)
Removes a listener from this dockable.

Parameters:
listener - the listener to remove

isMinimizable

boolean isMinimizable()
Tells whether this dockable can be minimized by the user.

Returns:
true if this element can be minimized

isMaximizable

boolean isMaximizable()
Tells whether this dockable can be maximized by the user.

Returns:
true if this element can be maximized

isExternalizable

boolean isExternalizable()
Tells whether this dockable can be externalized by the user.

Returns:
true if this element can be externalized

isStackable

boolean isStackable()
Tells whether this dockable can be combined with another dockable to create a stack.

Returns:
true if this element can be combined with another dockable, normally true should be the answer.

isCloseable

boolean isCloseable()
Tells whether this dockable can be closed by the user.

Returns:
true if this element can be closed

setVisible

void setVisible(boolean visible)
Shows or hides this dockable. If this dockable is not visible and is made visible, then the framework tries to set its location at the last known position.
Subclasses should call CControlAccess.show(CDockable) or CControlAccess.hide(CDockable).

Parameters:
visible - the new visibility state
Throws:
IllegalStateException - if this dockable can't be made visible
See Also:
isVisible()

isVisible

boolean isVisible()
Tells whether this dockable is currently visible or not. Visibility means that this dockable is in the tree structure of DockingFrames. Being in the structure does not imply being visible on the screen. If some JFrame is not shown, or some DockStation not properly added to a parent component, then a visible dockable can be invisible for the user.
Subclasses should return the result of CControlAccess.isVisible(CDockable).

Returns:
true if this dockable can be accessed by the user through a graphical user interface.

setLocation

void setLocation(CLocation location)
Sets the location of this dockable. If this dockable is visible, than this method will take immediately effect. Otherwise the location will be stored in a cache and read as soon as this dockable is made visible.
Note that the location can only be seen as a hint, the framework tries to fit the location as good as possible, but there are no guarantees.

Parameters:
location - the new location, null is possible, but will not move the dockable immediately

getLocation

CLocation getLocation()
Gets the location of this dockable. If this dockable is visible, then a location will always be returned. Otherwise a location will only be returned if it just was set using setLocation(CLocation).

Returns:
the location or null

setExtendedMode

void setExtendedMode(CDockable.ExtendedMode extendedMode)
Sets how and where this dockable should be shown. Conflicts with isExternalizable(), isMaximizable() and isMinimizable() will just be ignored.

Parameters:
extendedMode - the size and location

getExtendedMode

CDockable.ExtendedMode getExtendedMode()
Gets the size and location of this dockable.

Returns:
the size and location or null if this dockable is not part of an CControl.

setWorkingArea

void setWorkingArea(CWorkingArea area)
Sets the parent of this dockable. This method can be called by the client or indirectly through setLocation(CLocation).

Parameters:
area - the new parent or null

getWorkingArea

CWorkingArea getWorkingArea()
Gets the parent of this dockable, this should be the same as set by the last call of setWorkingArea(CWorkingArea).

Returns:
the parent or null

intern

CommonDockable intern()
Gets the intern representation of this dockable.

Returns:
the intern representation.

setControl

void setControl(CControlAccess control)
Sets the CControl which is responsible for this dockable. Subclasses must call CControlAccess.link(CDockable, CDockableAccess) to grant the CControl access to the internal systems of this CDockable. link can also be used to revoke access.

Parameters:
control - the new control or null

getClose

DockActionSource getClose()
Gets the source that contains the close-action.

Returns:
the source

getControl

CControlAccess getControl()
Gets the control which is responsible for this dockable. Clients should not use this method unless they know exactly what they are doing.

Returns:
the control