net.infonode.docking
Class TabWindow

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 net.infonode.gui.panel.BaseContainer
                      extended by net.infonode.gui.panel.BasePanel
                          extended by net.infonode.docking.DockingWindow
                              extended by net.infonode.docking.AbstractTabWindow
                                  extended by net.infonode.docking.TabWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class TabWindow
extends AbstractTabWindow

A docking window containing a tabbed panel.

Version:
$Revision: 1.57 $
Author:
$Author: jesper $
See Also:
Serialized Form

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
private  PropertyMapTreeListener buttonFactoryListener
           
private static ButtonInfo[] buttonInfos
           
private  javax.swing.AbstractButton[] buttons
           
private  PropertyChangeListener minimumSizePropertiesListener
           
 
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
  TabWindow()
          Creates an empty tab window.
  TabWindow(DockingWindow window)
          Creates a tab window with a tab containing the child window.
  TabWindow(DockingWindow[] windows)
          Creates a tab window with tabs for the child windows.
protected TabWindow(DockingWindow[] windows, TabWindowItem windowItem)
           
 
Method Summary
protected  boolean acceptsSplitWith(DockingWindow window)
           
 int addTab(DockingWindow w, int index)
          Inserts a window tab at an index in this tab window.
protected  int addTabNoSelect(DockingWindow window, int index)
           
protected  PropertyMap createPropertyObject()
           
private  void doUpdateButtonVisibility(java.util.Map changes)
           
protected  DockingWindow getBestFittedWindow(DockingWindow parentWindow)
           
protected  int getChildEdgeDepth(DockingWindow window, Direction dir)
           
protected  int getEdgeDepth(Direction dir)
           
protected  DockingWindow getOptimizedWindow()
          Returns the result after removing unnecessary tab windows which contains only one tab.
protected  PropertyMap getPropertyObject()
           
protected  int getTabAreaComponentCount()
           
protected  void getTabAreaComponents(int index, javax.swing.JComponent[] components)
           
 TabWindowProperties getTabWindowProperties()
          Returns the properties for this tab window.
protected  void optimizeWindowLayout()
           
protected  void tabSelected(WindowTab tab)
           
protected  void update()
           
protected  void updateButtonVisibility()
           
protected  void updateWindowItem(RootWindow rootWindow)
           
protected  void write(java.io.ObjectOutputStream out, WriteContext context, ViewWriter viewWriter)
           
 
Methods inherited from class net.infonode.docking.AbstractTabWindow
acceptInteriorDrop, addTab, childInsideTab, clearChildrenFocus, clearFocus, createGhostTab, doRemoveWindow, doReplace, getChildWindow, getChildWindowCount, getCustomTabAreaComponents, getIcon, getIgnoreSelected, getLocationWindow, getPreferredFocusChild, getSelectedWindow, getTabbedPanel, initMouseListener, isChildShowingInRootWindow, isInsideTabArea, newRead, oldRead, removeWindowComponent, restoreWindowComponent, setDraggedTabIndex, setSelectedTab, setTabWindowProperties, showChildWindow, showsWindowTitle, updateSelectedTab, updateTabAreaComponents
 
Methods inherited from class net.infonode.docking.DockingWindow
acceptChildDrop, acceptDrop, acceptSplitDrop, addListener, addTabMouseButtonListener, addWindow, addWindowItem, afterWindowRemoved, beforeDrop, beginOptimize, beginUpdateModel, childGainedFocus, childRemoved, cleanUpModel, close, closeWithAbort, createTabWindow, detach, doAcceptDrop, dock, dockWithAbort, endOptimize, endUpdateModel, fireTabWindowMouseButtonEvent, fireTabWindowMouseButtonEvent, fireTitleChanged, fireViewFocusChanged, fireWindowDocked, fireWindowDocked, fireWindowDocking, fireWindowHidden, fireWindowMaximized, fireWindowMaximizing, fireWindowMinimized, fireWindowMinimizing, fireWindowRestored, fireWindowRestoring, fireWindowShown, fireWindowUndocked, fireWindowUndocking, getAncestors, getChildDropFilter, getChildWindowIndex, getContentWindow, getDefaultDropAction, getInsertTabDropFilter, getInteriorDropFilter, getLastFocusedChildWindow, getPopupMenuFactory, getPreferredMinimizeDirection, getRootWindow, getSplitDropFilter, getTab, getTitle, getUpdateModel, getWindowItem, getWindowParent, getWindowProperties, hasParent, init, insideTab, internalClose, internalReplaceChildWindow, isClosable, isDockable, isMaximizable, isMaximized, isMinimizable, isMinimized, isRestorable, isShowingInRootWindow, isUndockable, isUndocked, makeVisible, maximize, maximizeWithAbort, minimize, minimize, minimizeWithAbort, minimizeWithAbort, needsTitleWindow, notifyListeners, optimizeAfter, readLocations, removeChildWindow, removeListener, removeTabMouseButtonListener, removeWindow, replaceChildWindow, restore, restoreFocus, restoreWithAbort, rootChanged, setFocused, setLastMinimizedDirection, setPopupMenuFactory, setPreferredMinimizeDirection, showPopupMenu, split, split, startDrag, storeAncestors, toString, undock, undockWithAbort, updateWindowItems, writeLocations
 
Methods inherited from class net.infonode.gui.panel.BasePanel
setComponent, setSouthComponent
 
Methods inherited from class net.infonode.gui.panel.BaseContainer
paintComponent, setBackground, setFont, setForeground, setOpaque, setUI
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, 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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

buttonInfos

private static final ButtonInfo[] buttonInfos

buttons

private javax.swing.AbstractButton[] buttons

minimumSizePropertiesListener

private PropertyChangeListener minimumSizePropertiesListener

buttonFactoryListener

private PropertyMapTreeListener buttonFactoryListener
Constructor Detail

TabWindow

public TabWindow()
Creates an empty tab window.


TabWindow

public TabWindow(DockingWindow window)
Creates a tab window with a tab containing the child window.

Parameters:
window - the child window

TabWindow

public TabWindow(DockingWindow[] windows)
Creates a tab window with tabs for the child windows.

Parameters:
windows - the child windows

TabWindow

protected TabWindow(DockingWindow[] windows,
                    TabWindowItem windowItem)
Method Detail

getTabWindowProperties

public TabWindowProperties getTabWindowProperties()
Description copied from class: AbstractTabWindow
Returns the properties for this tab window.

Specified by:
getTabWindowProperties in class AbstractTabWindow
Returns:
the properties for this tab window

tabSelected

protected void tabSelected(WindowTab tab)
Overrides:
tabSelected in class AbstractTabWindow

update

protected void update()
Specified by:
update in class DockingWindow

updateButtonVisibility

protected void updateButtonVisibility()
Overrides:
updateButtonVisibility in class DockingWindow

doUpdateButtonVisibility

private void doUpdateButtonVisibility(java.util.Map changes)

getTabAreaComponentCount

protected int getTabAreaComponentCount()
Overrides:
getTabAreaComponentCount in class AbstractTabWindow

getTabAreaComponents

protected void getTabAreaComponents(int index,
                                    javax.swing.JComponent[] components)
Overrides:
getTabAreaComponents in class AbstractTabWindow

optimizeWindowLayout

protected void optimizeWindowLayout()
Overrides:
optimizeWindowLayout in class DockingWindow

addTab

public int addTab(DockingWindow w,
                  int index)
Description copied from class: AbstractTabWindow
Inserts a window tab at an index in this tab window.

Overrides:
addTab in class AbstractTabWindow
Parameters:
w - the window
index - the index where to insert the tab
Returns:
the index of the added tab, this might not be the same as index if the tab already is added to this tab window

addTabNoSelect

protected int addTabNoSelect(DockingWindow window,
                             int index)
Overrides:
addTabNoSelect in class AbstractTabWindow

updateWindowItem

protected void updateWindowItem(RootWindow rootWindow)
Overrides:
updateWindowItem in class DockingWindow

getPropertyObject

protected PropertyMap getPropertyObject()
Specified by:
getPropertyObject in class DockingWindow

createPropertyObject

protected PropertyMap createPropertyObject()
Specified by:
createPropertyObject in class DockingWindow

getEdgeDepth

protected int getEdgeDepth(Direction dir)
Overrides:
getEdgeDepth in class DockingWindow

getChildEdgeDepth

protected int getChildEdgeDepth(DockingWindow window,
                                Direction dir)
Overrides:
getChildEdgeDepth in class DockingWindow

getOptimizedWindow

protected DockingWindow getOptimizedWindow()
Description copied from class: DockingWindow
Returns the result after removing unnecessary tab windows which contains only one tab.

Overrides:
getOptimizedWindow in class DockingWindow
Returns:
the result after removing unnecessary tab windows which contains only one tab

acceptsSplitWith

protected boolean acceptsSplitWith(DockingWindow window)
Overrides:
acceptsSplitWith in class DockingWindow

getBestFittedWindow

protected DockingWindow getBestFittedWindow(DockingWindow parentWindow)
Overrides:
getBestFittedWindow in class DockingWindow

write

protected void write(java.io.ObjectOutputStream out,
                     WriteContext context,
                     ViewWriter viewWriter)
              throws java.io.IOException
Overrides:
write in class AbstractTabWindow
Throws:
java.io.IOException