Class RootWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- net.infonode.gui.panel.BaseContainer
-
- net.infonode.gui.panel.BasePanel
-
- net.infonode.docking.DockingWindow
-
- net.infonode.docking.RootWindow
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,Readable
,ReadWritable
,Writable
public class RootWindow extends DockingWindow implements ReadWritable
The root window is a top level container for docking windows. Docking windows can't be dragged outside of their root window. The property values of a root window is inherited to the docking windows inside it.- 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
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description RootWindow(boolean heavyweightSupport, ViewSerializer viewSerializer)
Creates an empty root window with support for heavyweight components inside the views.RootWindow(boolean heavyweightSupport, ViewSerializer viewSerializer, DockingWindow window)
Creates a root window with support for heavyweight components inside the views and the given window inside as window inside this root window.RootWindow(ViewSerializer viewSerializer)
Creates an empty root window.RootWindow(ViewSerializer viewSerializer, DockingWindow window)
Creates a root window with the given window as window inside this root window.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DropAction
acceptInteriorDrop(java.awt.Point p, DockingWindow window)
protected boolean
acceptsSplitWith(DockingWindow window)
protected void
cleanUpModel()
FloatingWindow
createFloatingWindow(java.awt.Point location, java.awt.Dimension innerSize, DockingWindow window)
Creates and shows a floating window with the given window as top-level window in the floating window or without any top-level window i.e.protected PropertyMap
createPropertyObject()
protected DropAction
doAcceptDrop(java.awt.Point p, DockingWindow window)
protected void
doRemoveWindow(DockingWindow window)
protected void
doReplace(DockingWindow oldWindow, DockingWindow newWindow)
DockingWindow
getChildWindow(int index)
Returns the child window with index index.int
getChildWindowCount()
Returns the number of child windows.Direction
getClosestWindowBar(DockingWindow window)
Returns the direction of the closest enabled window bar to a docking window.View
getFocusedView()
Returns the view that currently contains the focus.javax.swing.Icon
getIcon()
Returns the icon for this window.DockingWindow
getMaximizedWindow()
Returns the maximized window in this root window, or null if there no maximized window.protected PropertyMap
getPropertyObject()
RootWindow
getRootWindow()
Returns theRootWindow
which contains this window, null if there is none.RootWindowProperties
getRootWindowProperties()
Returns the property values for this root window.ViewSerializer
getViewSerializer()
Returns the view serializer object for the views inside this root window.DockingWindow
getWindow()
Returns the top level docking window inside this root window.WindowBar
getWindowBar(Direction direction)
Returns the window bar in the direction.protected boolean
isShowingInRootWindow()
protected void
paintComponent(java.awt.Graphics g)
void
read(java.io.ObjectInputStream in)
Reads a previously written window state.void
read(java.io.ObjectInputStream in, boolean readProperties)
Reads a previously written window state.void
removeView(View view)
Removes all internal references to a view.void
setMaximizedWindow(DockingWindow window)
Sets the maximized window in this root window.void
setWindow(DockingWindow newWindow)
Sets the top level docking window inside this root window.protected void
showChildWindow(DockingWindow window)
protected void
update()
void
updateUI()
void
write(java.io.ObjectOutputStream out)
Writes the state of this root window and all child windows.void
write(java.io.ObjectOutputStream out, boolean writeProperties)
Writes the state of this root window and all child windows.-
Methods inherited from class net.infonode.docking.DockingWindow
acceptChildDrop, acceptSplitDrop, addListener, addTabMouseButtonListener, addWindow, addWindowItem, afterWindowRemoved, beforeDrop, beginOptimize, beginUpdateModel, childInsideTab, childRemoved, clearChildrenFocus, clearFocus, close, closeWithAbort, createTabWindow, detach, dock, dockWithAbort, endOptimize, endUpdateModel, fireTitleChanged, fireViewFocusChanged, fireWindowHidden, fireWindowShown, getAncestors, getBestFittedWindow, getChildEdgeDepth, getChildWindowIndex, getContentWindow, getEdgeDepth, getLastFocusedChildWindow, getLocationWindow, getOptimizedWindow, getPopupMenuFactory, getPreferredFocusChild, getPreferredMinimizeDirection, getTitle, getUpdateModel, getWindowItem, getWindowParent, getWindowProperties, hasParent, init, insideTab, internalClose, internalReplaceChildWindow, isChildShowingInRootWindow, isClosable, isDockable, isMaximizable, isMaximized, isMinimizable, isMinimized, isRestorable, isUndockable, isUndocked, makeVisible, maximize, maximizeWithAbort, minimize, minimize, minimizeWithAbort, minimizeWithAbort, needsTitleWindow, notifyListeners, oldRead, optimizeAfter, optimizeWindowLayout, readLocations, removeChildWindow, removeListener, removeTabMouseButtonListener, removeWindow, replaceChildWindow, restore, restoreFocus, restoreWithAbort, rootChanged, setFocused, setLastMinimizedDirection, setPopupMenuFactory, setPreferredMinimizeDirection, showsWindowTitle, split, split, startDrag, storeAncestors, toString, undock, undockWithAbort, updateButtonVisibility, updateWindowItem, updateWindowItem, updateWindowItems, write, writeLocations
-
Methods inherited from class net.infonode.gui.panel.BasePanel
setComponent, setSouthComponent
-
Methods inherited from class net.infonode.gui.panel.BaseContainer
setBackground, setFont, setForeground, setOpaque, setUI
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
RootWindow
public RootWindow(ViewSerializer viewSerializer)
Creates an empty root window.- Parameters:
viewSerializer
- used when reading and writing views- Since:
- IDW 1.1.0
-
RootWindow
public RootWindow(boolean heavyweightSupport, ViewSerializer viewSerializer)
Creates an empty root window with support for heavyweight components inside the views.- Parameters:
heavyweightSupport
- true for heavy weight component support, otherwise falseviewSerializer
- used when reading and writing views- Since:
- IDW 1.4.0
-
RootWindow
public RootWindow(ViewSerializer viewSerializer, DockingWindow window)
Creates a root window with the given window as window inside this root window.- Parameters:
viewSerializer
- used when reading and writing viewswindow
- the window that is placed inside the root window
-
RootWindow
public RootWindow(boolean heavyweightSupport, ViewSerializer viewSerializer, DockingWindow window)
Creates a root window with support for heavyweight components inside the views and the given window inside as window inside this root window.- Parameters:
heavyweightSupport
- true for heavy weight component support, otherwise falseviewSerializer
- used when reading and writing viewswindow
- the window that is placed inside the root window- Since:
- IDW 1.4.0
-
-
Method Detail
-
getFocusedView
public View getFocusedView()
Returns the view that currently contains the focus.- Returns:
- The currently focused view, null if no view has focus
-
getRootWindowProperties
public RootWindowProperties getRootWindowProperties()
Returns the property values for this root window. The property values will be inherited to docking windows inside this root window.- Returns:
- the property values for this root window
-
getClosestWindowBar
public Direction getClosestWindowBar(DockingWindow window)
Returns the direction of the closest enabled window bar to a docking window. The distance is measured from the window edge that is furthest away from the bar.- Parameters:
window
- the docking window- Returns:
- the direction of the closest enabled window bar to a docking window
-
getWindowBar
public WindowBar getWindowBar(Direction direction)
Returns the window bar in the direction.- Parameters:
direction
- the direction- Returns:
- the window bar in the direction
-
setWindow
public void setWindow(DockingWindow newWindow)
Sets the top level docking window inside this root window.- Parameters:
newWindow
- the top level docking window
-
getWindow
public DockingWindow getWindow()
Returns the top level docking window inside this root window.- Returns:
- the top level docking window inside this root window
-
createFloatingWindow
public FloatingWindow createFloatingWindow(java.awt.Point location, java.awt.Dimension innerSize, DockingWindow window)
Creates and shows a floating window with the given window as top-level window in the floating window or without any top-level window i.e. empty floating window.
Note 1: The created floating window is not visible per default. To make it visible, call
FloatingWindow
.getTopLevelAncestor().setVisible(true);Note 2: Floating windows are dynamically created when a window is undocked and closed/removed when all windows inside the floating window has been removed (i.e. cloased/docked/undocked to another floating window) from the floating window. The root window has a refernce to the floating window as long as the floating window has windows inside it i.e. it is not necessary to keep references to the floating window because the root window will handle this.
- Parameters:
location
- the floating window's location on the screeninnerSize
- the inner dimension of the floating window's top level container i.e.the size of the root panewindow
- the docking window that is the top level window in this floating window or null for no top-level window i.e. empty floating window- Returns:
- the floating window
- Since:
- IDW 1.4.0
-
getViewSerializer
public ViewSerializer getViewSerializer()
Returns the view serializer object for the views inside this root window.- Returns:
- the view serializer object for the views inside this root window
-
getChildWindow
public DockingWindow getChildWindow(int index)
Description copied from class:DockingWindow
Returns the child window with index index.- Specified by:
getChildWindow
in classDockingWindow
- Parameters:
index
- the child window index- Returns:
- the child window
-
getChildWindowCount
public int getChildWindowCount()
Description copied from class:DockingWindow
Returns the number of child windows.- Specified by:
getChildWindowCount
in classDockingWindow
- Returns:
- the number of child windows
-
getIcon
public javax.swing.Icon getIcon()
Description copied from class:DockingWindow
Returns the icon for this window.- Specified by:
getIcon
in classDockingWindow
- Returns:
- the icon
-
write
public void write(java.io.ObjectOutputStream out) throws java.io.IOException
Writes the state of this root window and all child windows.
-
write
public void write(java.io.ObjectOutputStream out, boolean writeProperties) throws java.io.IOException
Writes the state of this root window and all child windows.- Parameters:
out
- the stream on which to write the statewriteProperties
- true if the property values for all docking windows should be written to the stream- Throws:
java.io.IOException
- if there is a stream error
-
read
public void read(java.io.ObjectInputStream in) throws java.io.IOException
Reads a previously written window state. This will create child windows and read their state.
-
read
public void read(java.io.ObjectInputStream in, boolean readProperties) throws java.io.IOException
Reads a previously written window state. This will create child windows and read their state.- Parameters:
in
- the stream from which to read the statereadProperties
- true if the property values for all child windows should be read. This parameter can be set to true or false regardless of if the property values was included when the state was written, though obviously no property values are read if there aren't any in the stream.- Throws:
java.io.IOException
- if there is a stream error
-
getMaximizedWindow
public DockingWindow getMaximizedWindow()
Returns the maximized window in this root window, or null if there no maximized window.- Returns:
- the maximized window in this root window, or null if there no maximized window
- Since:
- IDW 1.1.0
-
setMaximizedWindow
public void setMaximizedWindow(DockingWindow window)
Sets the maximized window in this root window. This method takes the window component and displays it at the top in the root window. It does NOT modify the window tree structure, ie the window parent remains the unchanged.- Parameters:
window
- the maximized window in this root window, null means no maximized window- Since:
- IDW 1.1.0
-
removeView
public void removeView(View view)
Removes all internal references to a view. It's not possible to restore the view to the previous location after this method has been called. If the view is located in the window tree where this is the root nothing happens.- Parameters:
view
- all internal references to this view are removed- Since:
- IDW 1.4.0
-
showChildWindow
protected void showChildWindow(DockingWindow window)
- Overrides:
showChildWindow
in classDockingWindow
-
update
protected void update()
- Specified by:
update
in classDockingWindow
-
doReplace
protected void doReplace(DockingWindow oldWindow, DockingWindow newWindow)
- Specified by:
doReplace
in classDockingWindow
-
doRemoveWindow
protected void doRemoveWindow(DockingWindow window)
- Specified by:
doRemoveWindow
in classDockingWindow
-
getRootWindow
public RootWindow getRootWindow()
Description copied from class:DockingWindow
Returns theRootWindow
which contains this window, null if there is none.- Overrides:
getRootWindow
in classDockingWindow
- Returns:
- the
RootWindow
, null if there is none
-
acceptsSplitWith
protected boolean acceptsSplitWith(DockingWindow window)
- Overrides:
acceptsSplitWith
in classDockingWindow
-
doAcceptDrop
protected DropAction doAcceptDrop(java.awt.Point p, DockingWindow window)
- Overrides:
doAcceptDrop
in classDockingWindow
-
acceptInteriorDrop
protected DropAction acceptInteriorDrop(java.awt.Point p, DockingWindow window)
- Overrides:
acceptInteriorDrop
in classDockingWindow
-
getPropertyObject
protected PropertyMap getPropertyObject()
- Specified by:
getPropertyObject
in classDockingWindow
-
createPropertyObject
protected PropertyMap createPropertyObject()
- Specified by:
createPropertyObject
in classDockingWindow
-
cleanUpModel
protected void cleanUpModel()
- Overrides:
cleanUpModel
in classDockingWindow
-
isShowingInRootWindow
protected boolean isShowingInRootWindow()
- Overrides:
isShowingInRootWindow
in classDockingWindow
-
updateUI
public void updateUI()
- Overrides:
updateUI
in classjavax.swing.JPanel
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponent
in classBaseContainer
-
-