org.noos.xing.mydoggy.plaf.ui.cmp
Class MultiSplitDockableContainer<D extends org.noos.xing.mydoggy.Dockable>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.noos.xing.mydoggy.plaf.ui.cmp.MultiSplitDockableContainer<D>
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
MultiSplitTabbedContentContainer

public class MultiSplitDockableContainer<D extends org.noos.xing.mydoggy.Dockable>
extends JPanel

Author:
Angelo De Caro (angelo.decaro@gmail.com)
See Also:
Serialized Form

Nested Class Summary
static class MultiSplitDockableContainer.Action
           
 class MultiSplitDockableContainer.DebugRepaintRunnable
           
 class MultiSplitDockableContainer.DockableConstraint
           
 class MultiSplitDockableContainer.DockableEntry
           
 class MultiSplitDockableContainer.RepaintRunnable
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  org.noos.xing.mydoggy.AggregationPosition defaultAggregationPosition
           
protected  Map<org.noos.xing.mydoggy.Dockable,MultiSplitDockableContainer.DockableEntry> entries
           
protected  boolean jumpResetBounds
           
protected  byte[] lastLayout
           
protected  int leafNameCounter
           
protected  MultiSplitPanel multiSplitPane
           
protected  MultiSplitLayout.Node multiSplitPaneModelRoot
           
protected  int orientation
           
protected  org.noos.xing.mydoggy.Dockable removedDockable
           
protected  boolean storeLayout
           
protected  MyDoggyToolWindowManager toolWindowManager
           
protected  boolean useAlwaysContentWrapper
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MultiSplitDockableContainer(MyDoggyToolWindowManager toolWindowManager, int orientation)
           
 
Method Summary
 void addDockable(org.noos.xing.mydoggy.Dockable dockable, Component content, org.noos.xing.mydoggy.Dockable aggregationOnDockable, int aggregationIndexLocation, org.noos.xing.mydoggy.AggregationPosition aggregationPosition)
           
 void addDockable(org.noos.xing.mydoggy.Dockable dockable, Component component, MultiSplitDockableContainer.DockableConstraint dockableConstraint)
           
protected  void addToWrapper(Component wrapperSource, org.noos.xing.mydoggy.Dockable dockable, int aggregationIndexLocation, Component content)
           
protected  boolean checkModel()
           
 void clear()
           
 boolean containsDockable(org.noos.xing.mydoggy.Dockable dockable)
           
protected  boolean containsDockable(DockableLeaf leaf)
           
protected  MultiSplitLayout.Node decode(byte[] bytes)
           
protected  byte[] encode()
           
protected  void forceWeight(List<MultiSplitLayout.Node> children)
           
protected  Component forceWrapperForComponent(org.noos.xing.mydoggy.Dockable dockable, Component component)
           
 Rectangle getBoundsRelativeToScreen(org.noos.xing.mydoggy.Dockable dockable)
           
protected  Component getComponentFromWrapper(Component wrapper)
           
protected  Component getComponentFromWrapper(Component wrapper, org.noos.xing.mydoggy.Dockable dockable)
           
 org.noos.xing.mydoggy.Dockable getDockable()
           
 Component getDockableComponent()
           
 int getDockableCount()
           
 List<MultiSplitDockableContainer.DockableEntry> getDockableEntries()
           
 List<D> getDockables()
           
protected  MultiSplitLayout.Node getFirstNotDivider(List<MultiSplitLayout.Node> children)
           
protected  DockableLeaf getLeaf(org.noos.xing.mydoggy.Dockable dockable)
           
protected  DockableLeaf getLeaf(MultiSplitLayout.Node root, String dockableId)
           
protected  String getLeafName(org.noos.xing.mydoggy.Dockable dockable)
           
 MultiSplitLayout.Node getMultiSplitLayout()
           
protected  String getNextLeanName()
           
protected  Component getRootComponent()
           
protected  Component getWrapperForComponent(org.noos.xing.mydoggy.Dockable dockable, Component component, MultiSplitDockableContainer.Action action)
           
 boolean isEmpty()
           
protected  boolean isNodeAttached(MultiSplitLayout.Node node)
           
 boolean isStoreLayout()
           
 boolean isUseAlwaysContentWrapper()
           
protected  boolean isWrapper(Component component)
           
protected  boolean isWrapRequest(org.noos.xing.mydoggy.Dockable dockable, MultiSplitDockableContainer.Action action)
           
 MultiSplitDockableContainer.DockableConstraint removeDockable(org.noos.xing.mydoggy.Dockable dockable)
           
 MultiSplitDockableContainer.DockableConstraint removeDockable(org.noos.xing.mydoggy.Dockable dockable, boolean storeLayout)
           
protected  int removeFromWrapper(Component wrapperSource, org.noos.xing.mydoggy.Dockable dockable)
           
protected  void repaintMultiSplit(boolean resetBounds, MultiSplitLayout.Node rootNode)
           
protected  void resetBounds()
           
protected  void resetBounds(MultiSplitLayout.Node rootNode)
           
protected  void resetRootComponent()
           
 boolean setComponent(D dockable, Component component)
           
 void setConstraints(org.noos.xing.mydoggy.Dockable dockable, Component content, org.noos.xing.mydoggy.Dockable aggregationOnDockable, int aggregationIndexLocation, org.noos.xing.mydoggy.AggregationPosition aggregationPosition)
           
 void setMultiSplitLayout(MultiSplitLayout.Node root)
           
protected  void setRootComponent(Component component)
           
 void setStoreLayout(boolean storeLayout)
           
 void setUseAlwaysContentWrapper(boolean useAlwaysContentWrapper)
           
protected  void validateModel(MultiSplitLayout.Node root)
           
 
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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

toolWindowManager

protected MyDoggyToolWindowManager toolWindowManager

entries

protected Map<org.noos.xing.mydoggy.Dockable,MultiSplitDockableContainer.DockableEntry> entries

orientation

protected int orientation

defaultAggregationPosition

protected org.noos.xing.mydoggy.AggregationPosition defaultAggregationPosition

multiSplitPane

protected MultiSplitPanel multiSplitPane

multiSplitPaneModelRoot

protected MultiSplitLayout.Node multiSplitPaneModelRoot

storeLayout

protected boolean storeLayout

lastLayout

protected byte[] lastLayout

removedDockable

protected org.noos.xing.mydoggy.Dockable removedDockable

useAlwaysContentWrapper

protected boolean useAlwaysContentWrapper

jumpResetBounds

protected boolean jumpResetBounds

leafNameCounter

protected int leafNameCounter
Constructor Detail

MultiSplitDockableContainer

public MultiSplitDockableContainer(MyDoggyToolWindowManager toolWindowManager,
                                   int orientation)
Method Detail

addDockable

public void addDockable(org.noos.xing.mydoggy.Dockable dockable,
                        Component content,
                        org.noos.xing.mydoggy.Dockable aggregationOnDockable,
                        int aggregationIndexLocation,
                        org.noos.xing.mydoggy.AggregationPosition aggregationPosition)

addDockable

public void addDockable(org.noos.xing.mydoggy.Dockable dockable,
                        Component component,
                        MultiSplitDockableContainer.DockableConstraint dockableConstraint)

removeDockable

public MultiSplitDockableContainer.DockableConstraint removeDockable(org.noos.xing.mydoggy.Dockable dockable)

removeDockable

public MultiSplitDockableContainer.DockableConstraint removeDockable(org.noos.xing.mydoggy.Dockable dockable,
                                                                     boolean storeLayout)

setConstraints

public void setConstraints(org.noos.xing.mydoggy.Dockable dockable,
                           Component content,
                           org.noos.xing.mydoggy.Dockable aggregationOnDockable,
                           int aggregationIndexLocation,
                           org.noos.xing.mydoggy.AggregationPosition aggregationPosition)

getMultiSplitLayout

public MultiSplitLayout.Node getMultiSplitLayout()

setMultiSplitLayout

public void setMultiSplitLayout(MultiSplitLayout.Node root)

isEmpty

public boolean isEmpty()

getDockableCount

public int getDockableCount()

getDockableEntries

public List<MultiSplitDockableContainer.DockableEntry> getDockableEntries()

clear

public void clear()

isStoreLayout

public boolean isStoreLayout()

setStoreLayout

public void setStoreLayout(boolean storeLayout)

isUseAlwaysContentWrapper

public boolean isUseAlwaysContentWrapper()

setUseAlwaysContentWrapper

public void setUseAlwaysContentWrapper(boolean useAlwaysContentWrapper)

getBoundsRelativeToScreen

public Rectangle getBoundsRelativeToScreen(org.noos.xing.mydoggy.Dockable dockable)

containsDockable

public boolean containsDockable(org.noos.xing.mydoggy.Dockable dockable)

getDockable

public org.noos.xing.mydoggy.Dockable getDockable()

getDockableComponent

public Component getDockableComponent()

getDockables

public List<D> getDockables()

setComponent

public boolean setComponent(D dockable,
                            Component component)

getRootComponent

protected Component getRootComponent()

setRootComponent

protected void setRootComponent(Component component)

resetRootComponent

protected void resetRootComponent()

getWrapperForComponent

protected Component getWrapperForComponent(org.noos.xing.mydoggy.Dockable dockable,
                                           Component component,
                                           MultiSplitDockableContainer.Action action)

forceWrapperForComponent

protected Component forceWrapperForComponent(org.noos.xing.mydoggy.Dockable dockable,
                                             Component component)

getComponentFromWrapper

protected Component getComponentFromWrapper(Component wrapper)

addToWrapper

protected void addToWrapper(Component wrapperSource,
                            org.noos.xing.mydoggy.Dockable dockable,
                            int aggregationIndexLocation,
                            Component content)

removeFromWrapper

protected int removeFromWrapper(Component wrapperSource,
                                org.noos.xing.mydoggy.Dockable dockable)

getComponentFromWrapper

protected Component getComponentFromWrapper(Component wrapper,
                                            org.noos.xing.mydoggy.Dockable dockable)

isWrapRequest

protected boolean isWrapRequest(org.noos.xing.mydoggy.Dockable dockable,
                                MultiSplitDockableContainer.Action action)

isWrapper

protected boolean isWrapper(Component component)

encode

protected byte[] encode()

decode

protected MultiSplitLayout.Node decode(byte[] bytes)

validateModel

protected void validateModel(MultiSplitLayout.Node root)

forceWeight

protected void forceWeight(List<MultiSplitLayout.Node> children)

resetBounds

protected void resetBounds()

resetBounds

protected void resetBounds(MultiSplitLayout.Node rootNode)

checkModel

protected boolean checkModel()

repaintMultiSplit

protected void repaintMultiSplit(boolean resetBounds,
                                 MultiSplitLayout.Node rootNode)

getFirstNotDivider

protected MultiSplitLayout.Node getFirstNotDivider(List<MultiSplitLayout.Node> children)

getLeafName

protected String getLeafName(org.noos.xing.mydoggy.Dockable dockable)

getLeaf

protected DockableLeaf getLeaf(org.noos.xing.mydoggy.Dockable dockable)

getLeaf

protected DockableLeaf getLeaf(MultiSplitLayout.Node root,
                               String dockableId)

getNextLeanName

protected String getNextLeanName()

isNodeAttached

protected boolean isNodeAttached(MultiSplitLayout.Node node)

containsDockable

protected boolean containsDockable(DockableLeaf leaf)


Copyright © 2012. All Rights Reserved.