VASSAL.tools
Class ComponentSplitter.SplitPane

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JSplitPane
                          |
                          +--VASSAL.tools.ComponentSplitter.SplitPane
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Enclosing class:
ComponentSplitter

public static class ComponentSplitter.SplitPane
extends javax.swing.JSplitPane

Contains methods to automatically show/hide one of its components (the "hideable" component) while the other (the "base" component) remains always visible. Can optionally change the size of its top level ancestorExtension when the component is shown/hidden. The hideable component is initially hidden

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JSplitPane
javax.swing.JSplitPane.AccessibleJSplitPane
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static int HIDE_BOTTOM
           
static int HIDE_LEFT
           
static int HIDE_RIGHT
           
static int HIDE_TOP
           
 
Fields inherited from class javax.swing.JSplitPane
BOTTOM, CONTINUOUS_LAYOUT_PROPERTY, continuousLayout, DIVIDER, DIVIDER_LOCATION_PROPERTY, DIVIDER_SIZE_PROPERTY, dividerSize, HORIZONTAL_SPLIT, LAST_DIVIDER_LOCATION_PROPERTY, lastDividerLocation, LEFT, leftComponent, ONE_TOUCH_EXPANDABLE_PROPERTY, oneTouchExpandable, orientation, ORIENTATION_PROPERTY, RESIZE_WEIGHT_PROPERTY, RIGHT, rightComponent, TOP, VERTICAL_SPLIT
 
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
ComponentSplitter.SplitPane(java.awt.Component hideableComponent, java.awt.Component baseComponent, int hideablePosition, boolean resizeOnVisibilityChange)
          Initialize the SplitPane with the two component
 
Method Summary
 java.awt.Component getBaseComponent()
           
protected  int getBaseComponentSize()
           
 java.awt.Component getHideableComponent()
           
protected  int getHideableComponentSize()
           
protected  int getPreferredBaseComponentSize()
           
protected  int getPreferredDividerLocation()
           
 java.awt.Dimension getPreferredSize()
          If the hideable component is not visible, use the base component's preferred size
protected  java.awt.Dimension getTransverseSize()
          Return the preferred size of the top-level container in the direction transverse to this SplitPane's orientation.
 ComponentSplitter.SplitPane getTransverseSplit()
          Return the first SplitPane ancestor with a different orientation from this SplitPane
 void hideComponent()
          Hide the hideable component
protected  void hideTransverseComponent(ComponentSplitter.SplitPane split)
          Set the divider location and/or the top-level ancestor size to the preferred transverse size.
protected  void resizeBaseComponent()
          Set the base component size to be large enough to accomodate all descendant SplitPane's showing components
 void showComponent()
          Show the hideable component
protected  void showTransverseComponent(ComponentSplitter.SplitPane split)
          Set the divider location and/or the top-level ancestor size to be large enough to display the argument SplitPane's hideable component
 void toggleVisibility()
          Toggle the visibility of the hideable component
 
Methods inherited from class javax.swing.JSplitPane
addImpl, getAccessibleContext, getBottomComponent, getDividerLocation, getDividerSize, getLastDividerLocation, getLeftComponent, getMaximumDividerLocation, getMinimumDividerLocation, getOrientation, getResizeWeight, getRightComponent, getTopComponent, getUI, getUIClassID, isContinuousLayout, isOneTouchExpandable, isValidateRoot, paintChildren, paramString, remove, remove, removeAll, resetToPreferredSizes, setBottomComponent, setContinuousLayout, setDividerLocation, setDividerLocation, setDividerSize, setLastDividerLocation, setLeftComponent, setOneTouchExpandable, setOrientation, setResizeWeight, setRightComponent, setTopComponent, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HIDE_TOP

public static final int HIDE_TOP

HIDE_BOTTOM

public static final int HIDE_BOTTOM

HIDE_LEFT

public static final int HIDE_LEFT

HIDE_RIGHT

public static final int HIDE_RIGHT
Constructor Detail

ComponentSplitter.SplitPane

public ComponentSplitter.SplitPane(java.awt.Component hideableComponent,
                                   java.awt.Component baseComponent,
                                   int hideablePosition,
                                   boolean resizeOnVisibilityChange)
Initialize the SplitPane with the two component
Parameters:
hideableComponent -  
baseComponent -  
hideablePosition - one of HIDE_TOP, HIDE_BOTTOM, HIDE_LEFT or HIDE_RIGHT
resizeOnVisibilityChange - If true, resize the top-level ancestor when the hideable component is shown/hidden
Method Detail

toggleVisibility

public void toggleVisibility()
Toggle the visibility of the hideable component

getHideableComponent

public java.awt.Component getHideableComponent()
Returns:
the Component that can be shown/hidden

getBaseComponent

public java.awt.Component getBaseComponent()
Returns:
the Component that remains always visible

getBaseComponentSize

protected int getBaseComponentSize()
Returns:
the size of the base component along the axis of orientation

getHideableComponentSize

protected int getHideableComponentSize()
Returns:
the size of the hideable component along the axis of orientation

hideComponent

public void hideComponent()
Hide the hideable component

showTransverseComponent

protected void showTransverseComponent(ComponentSplitter.SplitPane split)
Set the divider location and/or the top-level ancestor size to be large enough to display the argument SplitPane's hideable component
Parameters:
split -  

resizeBaseComponent

protected void resizeBaseComponent()
Set the base component size to be large enough to accomodate all descendant SplitPane's showing components

getPreferredBaseComponentSize

protected int getPreferredBaseComponentSize()
Returns:
the preferred size of the base component along the orientation axis

hideTransverseComponent

protected void hideTransverseComponent(ComponentSplitter.SplitPane split)
Set the divider location and/or the top-level ancestor size to the preferred transverse size.
Parameters:
split -  

getTransverseSize

protected java.awt.Dimension getTransverseSize()
Return the preferred size of the top-level container in the direction transverse to this SplitPane's orientation. Depends on which ancestors have been shown using showTransverseComponent(VASSAL.tools.ComponentSplitter.SplitPane).

showComponent

public void showComponent()
Show the hideable component

getPreferredDividerLocation

protected int getPreferredDividerLocation()
Returns:
the preferred location of the divider when the hideable component is visible

getTransverseSplit

public ComponentSplitter.SplitPane getTransverseSplit()
Return the first SplitPane ancestor with a different orientation from this SplitPane
Returns:
 

getPreferredSize

public java.awt.Dimension getPreferredSize()
If the hideable component is not visible, use the base component's preferred size
Overrides:
getPreferredSize in class javax.swing.JComponent