bibliothek.gui.dock.common
Class CWorkingArea

java.lang.Object
  extended by bibliothek.gui.dock.common.intern.AbstractCDockable
      extended by bibliothek.gui.dock.common.CWorkingArea
All Implemented Interfaces:
CDockable, SingleCDockable

public class CWorkingArea
extends AbstractCDockable
implements SingleCDockable

A working area is an element which is always visible and contains some CDockables which can't be dragged out of it. Also no CDockable can be dropped in a CWorkingArea.
There can be more than one CWorkingArea, and the working areas can be nested.

Author:
Benjamin Sigg

Nested Class Summary
 
Nested classes/interfaces inherited from interface bibliothek.gui.dock.common.intern.CDockable
CDockable.ExtendedMode
 
Constructor Summary
CWorkingArea(String uniqueId, boolean restrictedEnvironment)
          Creates a new area.
 
Method Summary
<F extends MultipleCDockable>
F
add(F dockable)
          Ensures that this is the parent of dockable and adds dockable to the CControl which is associated with this CWorkingArea.
<F extends SingleCDockable>
F
add(F dockable)
          Ensures that this is the parent of dockable and adds dockable to the CControl which is associated with this CWorkingArea.
 void deploy(CGrid grid)
          Exchanges all the CDockables on this area with the elements of grid.
 Icon getTitleIcon()
          Gets the icon that is shown in the title.
 String getTitleText()
          Gets the text that is shown as title.
 String getUniqueId()
          Gets the id 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 isSuppressTitle()
          Tells whether this working-area suppresses its title.
 void setControl(CControlAccess control)
          Sets the CControl which is responsible for this dockable.
 void setSuppressTitle(boolean suppressTitle)
          Sets whether this working-area should suppress its title or not.
 void setTitleIcon(Icon icon)
          Sets the icon that is shown in the title of this CDockable.
 void setTitleText(String text)
          Sets the text that is shown as title.
protected  boolean suppressTitle(DockTitleVersion version)
          Checks whether the title created by version should be suppressed.
 
Methods inherited from class bibliothek.gui.dock.common.intern.AbstractCDockable
addCDockablePropertyListener, addCDockableStateListener, control, getAndClearResizeRequest, getClose, getColors, getControl, getExtendedMode, getLocation, getMinimizedSize, getWorkingArea, init, intern, isMinimizedHold, isResizeLocked, isVisible, propertyListeners, removeCDockablePropertyListener, removeCDockableStateListener, setExtendedMode, setLocation, setMinimizedHold, setMinimizedSize, setResizeLocked, setResizeRequest, setVisible, setWorkingArea, stateListeners, toFront, updateClose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bibliothek.gui.dock.common.intern.CDockable
addCDockablePropertyListener, addCDockableStateListener, getAndClearResizeRequest, getClose, getColors, getControl, getExtendedMode, getLocation, getMinimizedSize, getWorkingArea, intern, isMinimizedHold, isResizeLocked, isVisible, removeCDockablePropertyListener, removeCDockableStateListener, setExtendedMode, setLocation, setMinimizedHold, setMinimizedSize, setVisible, setWorkingArea
 

Constructor Detail

CWorkingArea

public CWorkingArea(String uniqueId,
                    boolean restrictedEnvironment)
Creates a new area.

Parameters:
uniqueId - a unique identifier
restrictedEnvironment - true if the SecurityManager is active, for example in an applet or when using webstart.
Method Detail

deploy

public void deploy(CGrid grid)
Exchanges all the CDockables on this area with the elements of grid. This method also calls CDockable.setWorkingArea(CWorkingArea) for each dockable in grid.

Parameters:
grid - a grid containing some new Dockables

setSuppressTitle

public void setSuppressTitle(boolean suppressTitle)
Sets whether this working-area should suppress its title or not.

Parameters:
suppressTitle - true if this area should try not to have a title.

isSuppressTitle

public boolean isSuppressTitle()
Tells whether this working-area suppresses its title.

Returns:
true if this area normally has no title

setTitleText

public void setTitleText(String text)
Sets the text that is shown as title.

Parameters:
text - the title

getTitleText

public String getTitleText()
Gets the text that is shown as title.

Returns:
the title

setTitleIcon

public void setTitleIcon(Icon icon)
Sets the icon that is shown in the title of this CDockable.

Parameters:
icon - the title-icon

getTitleIcon

public Icon getTitleIcon()
Gets the icon that is shown in the title.

Returns:
the title-icon, might be null

add

public <F extends SingleCDockable> F add(F dockable)
Ensures that this is the parent of dockable and adds dockable to the CControl which is associated with this CWorkingArea. If there is no CControl, then the dockable is added nowhere.

Type Parameters:
F - the type of element to add
Parameters:
dockable - the new element
Returns:
dockable

add

public <F extends MultipleCDockable> F add(F dockable)
Ensures that this is the parent of dockable and adds dockable to the CControl which is associated with this CWorkingArea. If there is no CControl, then the dockable is added nowhere.

Type Parameters:
F - the type of element to add
Parameters:
dockable - the new element
Returns:
dockable

setControl

public void setControl(CControlAccess control)
Description copied from class: AbstractCDockable
Sets the CControl which is responsible for this dockable.

Specified by:
setControl in interface CDockable
Overrides:
setControl in class AbstractCDockable
Parameters:
control - the new control

isCloseable

public boolean isCloseable()
Description copied from interface: CDockable
Tells whether this dockable can be closed by the user.

Specified by:
isCloseable in interface CDockable
Returns:
true if this element can be closed

getUniqueId

public String getUniqueId()
Description copied from interface: SingleCDockable
Gets the id of this dockable. The id is unique if among all dockables which are added to the same CControl.

Specified by:
getUniqueId in interface SingleCDockable
Returns:
the unique id

isExternalizable

public boolean isExternalizable()
Description copied from interface: CDockable
Tells whether this dockable can be externalized by the user.

Specified by:
isExternalizable in interface CDockable
Returns:
true if this element can be externalized

isMaximizable

public boolean isMaximizable()
Description copied from interface: CDockable
Tells whether this dockable can be maximized by the user.

Specified by:
isMaximizable in interface CDockable
Returns:
true if this element can be maximized

isMinimizable

public boolean isMinimizable()
Description copied from interface: CDockable
Tells whether this dockable can be minimized by the user.

Specified by:
isMinimizable in interface CDockable
Returns:
true if this element can be minimized

isStackable

public boolean isStackable()
Description copied from interface: CDockable
Tells whether this dockable can be combined with another dockable to create a stack.

Specified by:
isStackable in interface CDockable
Returns:
true if this element can be combined with another dockable, normally true should be the answer.

suppressTitle

protected boolean suppressTitle(DockTitleVersion version)
Checks whether the title created by version should be suppressed.

Parameters:
version - the version of the title
Returns:
true if no DockTitle should be created