net.infonode.docking
Class WindowBar

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.WindowBar
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class WindowBar
extends AbstractTabWindow

A window bar is located at the edge of a root window. It's a tabbed panel where the content panel is dynamically shown and hidden. A window bar is enabled and disabled using the Component.setEnabled(boolean) method.

Version:
$Revision: 1.68 $
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  TabbedPanelContentPanel contentPanel
           
private  Direction direction
           
private  ResizablePanel edgePanel
           
private  HeavyWeightContainer heavyWeightEdgePanel
           
private  PropertyChangeListener opaqueListener
           
private  RootWindow rootWindow
           
 
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
WindowBar(RootWindow rootWindow, Direction direction)
           
 
Method Summary
(package private)  DropAction acceptDrop(java.awt.Point p, DockingWindow window)
           
protected  boolean acceptsSplitWith(DockingWindow window)
           
protected  int addTabNoSelect(DockingWindow window, int index)
           
protected  void clearFocus(View view)
           
protected  PropertyMap createPropertyObject()
           
 int getContentPanelSize()
          Returns the size of the content panel.
 Direction getDirection()
          Returns the window bar direction in the root window it is a member of
(package private)  java.awt.Component getEdgePanel()
           
 java.awt.Dimension getPreferredSize()
           
protected  PropertyMap getPropertyObject()
           
 RootWindow getRootWindow()
          Returns the RootWindow which contains this window, null if there is none.
 TabWindowProperties getTabWindowProperties()
          Returns the properties for this tab window.
 WindowBarProperties getWindowBarProperties()
          Returns the property values for this window bar.
protected  boolean isInsideTabArea(java.awt.Point p2)
           
 boolean isMinimized()
          Returns true if this window is minimized, ie located in a WindowBar.
protected  DockingWindow newRead(java.io.ObjectInputStream in, ReadContext context, ViewReader viewReader)
           
protected  DockingWindow oldRead(java.io.ObjectInputStream in, ReadContext context)
           
 void setContentPanelSize(int size)
          Sets the size of the content panel.
protected  void showChildWindow(DockingWindow window)
           
protected  void tabSelected(WindowTab tab)
           
protected  void update()
           
private  void updateEdgePanelOpaque()
           
protected  void write(java.io.ObjectOutputStream out, WriteContext context, ViewWriter viewWriter)
           
 
Methods inherited from class net.infonode.docking.AbstractTabWindow
acceptInteriorDrop, addTab, addTab, childInsideTab, clearChildrenFocus, createGhostTab, doRemoveWindow, doReplace, getChildWindow, getChildWindowCount, getCustomTabAreaComponents, getIcon, getIgnoreSelected, getLocationWindow, getPreferredFocusChild, getSelectedWindow, getTabAreaComponentCount, getTabAreaComponents, getTabbedPanel, initMouseListener, isChildShowingInRootWindow, removeWindowComponent, restoreWindowComponent, setDraggedTabIndex, setSelectedTab, setTabWindowProperties, showsWindowTitle, updateSelectedTab, updateTabAreaComponents
 
Methods inherited from class net.infonode.docking.DockingWindow
acceptChildDrop, 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, getBestFittedWindow, getChildDropFilter, getChildEdgeDepth, getChildWindowIndex, getContentWindow, getDefaultDropAction, getEdgeDepth, getInsertTabDropFilter, getInteriorDropFilter, getLastFocusedChildWindow, getOptimizedWindow, getPopupMenuFactory, getPreferredMinimizeDirection, getSplitDropFilter, getTab, getTitle, getUpdateModel, getWindowItem, getWindowParent, getWindowProperties, hasParent, init, insideTab, internalClose, internalReplaceChildWindow, isClosable, isDockable, isMaximizable, isMaximized, isMinimizable, isRestorable, isShowingInRootWindow, isUndockable, isUndocked, makeVisible, maximize, maximizeWithAbort, minimize, minimize, minimizeWithAbort, minimizeWithAbort, needsTitleWindow, notifyListeners, optimizeAfter, optimizeWindowLayout, readLocations, removeChildWindow, removeListener, removeTabMouseButtonListener, removeWindow, replaceChildWindow, restore, restoreFocus, restoreWithAbort, rootChanged, setFocused, setLastMinimizedDirection, setPopupMenuFactory, setPreferredMinimizeDirection, showPopupMenu, split, split, startDrag, storeAncestors, toString, undock, undockWithAbort, updateButtonVisibility, updateWindowItem, 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, 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

rootWindow

private RootWindow rootWindow

direction

private Direction direction

contentPanel

private TabbedPanelContentPanel contentPanel

edgePanel

private ResizablePanel edgePanel

heavyWeightEdgePanel

private HeavyWeightContainer heavyWeightEdgePanel

opaqueListener

private PropertyChangeListener opaqueListener
Constructor Detail

WindowBar

WindowBar(RootWindow rootWindow,
          Direction direction)
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

getWindowBarProperties

public WindowBarProperties getWindowBarProperties()
Returns the property values for this window bar.

Returns:
the property values for this window bar

addTabNoSelect

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

setContentPanelSize

public void setContentPanelSize(int size)
Sets the size of the content panel. If the window bar is located on the left or right side, the panel width is set otherwise the panel height.

Parameters:
size - the content panel size

getContentPanelSize

public int getContentPanelSize()
Returns the size of the content panel. If the window bar is located on the left or right side, the panel width is returned otherwise the panel height.

Returns:
the size of the content panel

getDirection

public Direction getDirection()
Returns the window bar direction in the root window it is a member of

Returns:
window bar direction in root window
Since:
IDW 1.4.0

getRootWindow

public RootWindow getRootWindow()
Description copied from class: DockingWindow
Returns the RootWindow which contains this window, null if there is none.

Overrides:
getRootWindow in class DockingWindow
Returns:
the RootWindow, null if there is none

showChildWindow

protected void showChildWindow(DockingWindow window)
Overrides:
showChildWindow in class AbstractTabWindow

getEdgePanel

java.awt.Component getEdgePanel()

update

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

updateEdgePanelOpaque

private void updateEdgePanelOpaque()

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

tabSelected

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

isInsideTabArea

protected boolean isInsideTabArea(java.awt.Point p2)
Overrides:
isInsideTabArea in class AbstractTabWindow

clearFocus

protected void clearFocus(View view)
Overrides:
clearFocus in class AbstractTabWindow

isMinimized

public boolean isMinimized()
Description copied from class: DockingWindow
Returns true if this window is minimized, ie located in a WindowBar.

Overrides:
isMinimized in class DockingWindow
Returns:
true if this window is minimized

acceptsSplitWith

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

acceptDrop

DropAction acceptDrop(java.awt.Point p,
                      DockingWindow window)
Overrides:
acceptDrop in class DockingWindow

getPropertyObject

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

createPropertyObject

protected PropertyMap createPropertyObject()
Specified by:
createPropertyObject 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

newRead

protected DockingWindow newRead(java.io.ObjectInputStream in,
                                ReadContext context,
                                ViewReader viewReader)
                         throws java.io.IOException
Overrides:
newRead in class AbstractTabWindow
Throws:
java.io.IOException

oldRead

protected DockingWindow oldRead(java.io.ObjectInputStream in,
                                ReadContext context)
                         throws java.io.IOException
Overrides:
oldRead in class AbstractTabWindow
Throws:
java.io.IOException