|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.javadocking.dock.CompositeTabDock
public class CompositeTabDock
This is a composite dock that has child docks that are organized in a tabbed pane. This dock can not contain dockables. When dockables are added, child docks are created and the dockables are added to the child docks.
The tabbed pane of this dock is created with the component factory of the docking manager
(DockingManager.getComponentFactory()) with the method
SwComponentFactory.createJTabbedPane().
Information on using composite tab docks is in How to Use Composite Docks in The Sanaware Developer Guide.
A dockable can be added to this dock if:
DockingMode.TAB as possible docking mode.CompositeDockable, but a child dock could not be created for the composite,
the dockable can be added, if a child dock can be created for every child dockable of the composite.
When a dockable is added, a child dock is created with the childDockFactory. The dockable is added to
the child dock.
If the mouse is inside the priority rectangle, the dockable can be added with priority (see Priority.CAN_DOCK_WITH_PRIORITY).
When the mouse is inside the panel of this dock, but outside the priority rectangle,
the dockable can be added without priority (see Priority.CAN_DOCK).
The priority rectangle is a rectangle in the middle of the dock and retrieved with getPriorityRectangle(Rectangle).
The Position for child docks docked in this dock are one-dimensional.
The first position value of a child dock is between 0 and the number of child docks minus 1;
it is the index of its tab.
This kind of dock is never full. It is empty when there are 0 child docks.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class javax.swing.JPanel |
|---|
javax.swing.JPanel.AccessibleJPanel |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
javax.swing.JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
java.awt.Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary |
|---|
| Fields inherited from class javax.swing.JComponent |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Component |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface com.javadocking.dock.CompositeDock |
|---|
CHILD_DOCK_PREFIX |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
CompositeTabDock()
Constructs a composite tab dock with a CompositeTabDockFactory as factory
for the child docks. |
|
CompositeTabDock(DockFactory childDockFactory)
Constructs a composite tab dock with the given child dock factories. |
|
| Method Summary | |
|---|---|
void |
addChildDock(Dock childDock,
Position position)
Adds the given dock as child dock at the given position. |
boolean |
addDockable(Dockable dockableToAdd,
java.awt.Point relativeLocation,
java.awt.Point dockableOffset)
Adds a dockable to this dock. |
void |
addDockingListener(DockingListener listener)
Adds a listener for DockingEvents of this dock. |
void |
clearGhosts()
Clears the ghost child docks from this dock. |
void |
emptyChild(Dock emptyChildDock)
Is called when the specified child dock is empty. |
Dock |
getChildDock(int index)
Gets the child dock with the specified index. |
int |
getChildDockCount()
Gets the number of child docks of this dock. |
DockFactory |
getChildDockFactory()
Gets the factory that creates the child docks for this composite dock. |
Position |
getChildDockPosition(Dock childDock)
Gets the position, where the child dock is docked in this dock. |
int |
getDockPriority(Dockable dockable,
java.awt.Point relativeLocation)
Determines if the given dockable can be added to this dock. |
int |
getHeaderPosition()
Gets the position where the headers of the docks are placed. |
CompositeDock |
getParentDock()
Gets the parent dock of this dock. |
protected void |
getPriorityRectangle(java.awt.Rectangle rectangle)
Computes the relative rectangle in this dock in which docking has priority. |
Dock |
getSelectedDock()
Gets the dock that is selected in the composite tab dock. |
javax.swing.JTabbedPane |
getTabbedPane()
Gets the tabbed pane that contains the dockables. |
protected java.lang.String |
getTitle(Dockable dockable)
Creates a title for the dockable. |
void |
ghostChild(Dock emptyChildDock)
Makes the given empty child dock invisible. |
boolean |
isEmpty()
Determines if this dock doesn't have any dockables docked in it, or doesn't have any child docks docked in it. |
boolean |
isFull()
Determines if any more dockables can be added to this dock. |
void |
loadProperties(java.lang.String prefix,
java.util.Properties properties,
java.util.Map newChildDocks,
java.util.Map dockablesMap,
java.awt.Window owner)
Loads the properties for this dock. |
void |
removeDockingListener(DockingListener listener)
Removes a listener for docking events of this dock. |
int |
retrieveDockingRectangle(Dockable dockable,
java.awt.Point relativeLocation,
java.awt.Point dockableOffset,
java.awt.Rectangle rectangle)
Sets the given rectangle to the position and size of the graphical content component of the dockable, when it will be docked in this dock. |
void |
saveProperties(java.lang.String prefix,
java.util.Properties properties,
java.util.Map childDockIds)
Saves the properties of this dock in the given properties object. |
void |
setChildDockFactory(DockFactory childDockFactory)
Sets the factory that creates the child docks for this composite dock. |
void |
setHeaderPosition(int headerPosition)
Sets the position where the headers of the docks are placed. |
void |
setParentDock(CompositeDock parentDock)
Sets the specified dock as new parent dock of this dock. |
boolean |
setSelectedDock(Dock dock)
Selects the tab of the child dock. |
| Methods inherited from class javax.swing.JPanel |
|---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
| Methods inherited from class javax.swing.JComponent |
|---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
| Methods inherited from class java.awt.Container |
|---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from class java.awt.Component |
|---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public CompositeTabDock()
CompositeTabDockFactory as factory
for the child docks.
public CompositeTabDock(DockFactory childDockFactory)
childDockFactory - The factory for creating child docks.| Method Detail |
|---|
public int getDockPriority(Dockable dockable,
java.awt.Point relativeLocation)
Determines if the given dockable can be added to this dock.
It can be docked in this dock:
DockingMode.TAB as possible docking mode.CompositeDockable, but a child dock could not be created for the composite,
the dockable can be added, if a child dock can be created for every child dockable of the composite.
getDockPriority in interface Dockdockable - The dockable that will be added.relativeLocation - The location where the dockable will be added.
public int retrieveDockingRectangle(Dockable dockable,
java.awt.Point relativeLocation,
java.awt.Point dockableOffset,
java.awt.Rectangle rectangle)
DockSets the given rectangle to the position and size of the graphical content component of the dockable, when it will be docked in this dock.
Determines if the dockable can be added to this dock. If the dockable cannot be added,
it returns Priority.CANNOT_DOCK and the given rectangle is not changed.
retrieveDockingRectangle in interface Dockdockable - The dockable that will be added.relativeLocation - The location where the dockable will be added.dockableOffset - The mouse location where the dragging started, relatively to the previous dock of the dockable.rectangle - This rectangle will be set to the location and size of the graphical component of the dockable
when it will be docked in this dock. The rectangle is relative to this dock.
Priority.CANNOT_DOCK is returned, otherwise a positive integer.
public boolean addDockable(Dockable dockableToAdd,
java.awt.Point relativeLocation,
java.awt.Point dockableOffset)
DockAdds a dockable to this dock.
First it determines if the dockable can be added with Dock.getDockPriority(Dockable, Point).
If this method returns CANNOT_DOCK, the dockable is not added.
addDockable in interface DockdockableToAdd - The dockable that will be added.relativeLocation - The location where the dockable will be added.dockableOffset - The mouse location where the dragging started, relatively to the previous dock of the dockable.
public boolean isEmpty()
Dock
isEmpty in interface Dockpublic boolean isFull()
Dock
isFull in interface Dockpublic CompositeDock getParentDock()
Dock
getParentDock in interface Dockpublic void setParentDock(CompositeDock parentDock)
Dock
setParentDock in interface DockparentDock - The parent dock of this dock.
public void saveProperties(java.lang.String prefix,
java.util.Properties properties,
java.util.Map childDockIds)
DockSaves the properties of this dock in the given properties object.
The property names for this dock should start with the given prefix.
saveProperties in interface Dockprefix - The prefix for the property names.properties - The properties object to which the properties should be added.childDockIds - A mapping between the child docks that are already saved and the keys that are used for the save.
Dock).
public void loadProperties(java.lang.String prefix,
java.util.Properties properties,
java.util.Map newChildDocks,
java.util.Map dockablesMap,
java.awt.Window owner)
throws java.io.IOException
DockLoads the properties for this dock. The properties can be found in the given properties object. The property names for this dock start with the given prefix.
The dockables that should be docked in this dock are added to this dock. They can be found in the given dockables mapping. The docks that should be docked inside this dock are added to this dock. They can be found in the given childDocks mapping.
This method should be called after the empty constructor to create the content of the dock. Don't call this method for a dock that already has a content.
loadProperties in interface Dockprefix - The prefix of the names of the properties that have been intended for this dock.properties - The properties object that contains the properties for this dock. It can contain also
properties for other objects, but they will have another prefix.newChildDocks - A mapping between the dock keys of the child docks that are already loaded and the docks.
Dock).dockablesMap - A mapping that contains the available dockables.
Dockable).owner - The owner window of the dock in the dock model (DockModel).
java.io.IOException - If an error occures while decoding the properties.public void addDockingListener(DockingListener listener)
DockDockingEvents of this dock.
The listener will be informed before and after
adding, moving or removing dockables or child docks from this dock.
addDockingListener in interface Docklistener - A docking listener that will be notified when a dockable or child dock is added, moved, or removed.public void removeDockingListener(DockingListener listener)
Dock
removeDockingListener in interface Docklistener - The docking listener to remove.
public void addChildDock(Dock childDock,
Position position)
throws java.lang.IllegalStateException
CompositeDockAdds the given dock as child dock at the given position.
If there is already a dock at the given position, the child is added at the first free position. If the given position is illegal, then the dock is added at the first free position.
addChildDock in interface CompositeDockchildDock - The new child dock for this dock.position - The position for the child dock.
java.lang.IllegalStateException - If the dock is full.public int getChildDockCount()
CompositeDock
getChildDockCount in interface CompositeDock
public Dock getChildDock(int index)
throws java.lang.IndexOutOfBoundsException
CompositeDock
getChildDock in interface CompositeDockindex - The index of the child dock.
java.lang.IndexOutOfBoundsException - If the index is out of range (index < 0 || index >= getChildDockCount()).
public Position getChildDockPosition(Dock childDock)
throws java.lang.IllegalArgumentException
CompositeDock
getChildDockPosition in interface CompositeDockchildDock - The dockable that is docked in this dock.
java.lang.IllegalArgumentException - If the given dock is not docked in this dock.public void emptyChild(Dock emptyChildDock)
CompositeDock
emptyChild in interface CompositeDockemptyChildDock - The child dock that is empty.public void ghostChild(Dock emptyChildDock)
CompositeDock
ghostChild in interface CompositeDockemptyChildDock - The child dock that is empty, but not may be removed.public void clearGhosts()
CompositeDock
clearGhosts in interface CompositeDockpublic DockFactory getChildDockFactory()
CompositeDock
getChildDockFactory in interface CompositeDockpublic void setChildDockFactory(DockFactory childDockFactory)
CompositeDock
setChildDockFactory in interface CompositeDockchildDockFactory - The factory that creates the child docks for this composite dock.public boolean setSelectedDock(Dock dock)
dock - The tab for this dock should be selected.public Dock getSelectedDock()
public int getHeaderPosition()
Gets the position where the headers of the docks are placed.
It should be one of the following values:
The default value is Position.TOP.
public void setHeaderPosition(int headerPosition)
Sets the position where the headers of the docks are placed.
It should be one of the following values:
headerPosition - The position where the headers of the docks are placed.
java.lang.IllegalArgumentException - If the given postion is not Position.TOP, Position.BOTTOM, Position.LEFT or Position.RIGHT.public javax.swing.JTabbedPane getTabbedPane()
protected void getPriorityRectangle(java.awt.Rectangle rectangle)
rectangle - The rectangle that will get the position and size of the priority rectangle for this dock.protected java.lang.String getTitle(Dockable dockable)
dockable - The dockable for which a title is created.
Can be a composite dockable. Not null.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||