Class DockingWindow
- 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
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
AbstractTabWindow
,FloatingWindow
,RootWindow
,SplitWindow
,View
public abstract class DockingWindow extends BasePanel
This is the base class for all types of docking windows. The windows are structured in a tree, typically with aRootWindow
at the root. Each DockingWindow has a window parent and a number of child windows.Warning: the non-public methods in this class can be changed in non-compatible ways in future versions.
- 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 Modifier Constructor Description protected
DockingWindow(WindowItem windowItem)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected DropAction
acceptChildDrop(java.awt.Point p, DockingWindow window)
protected DropAction
acceptInteriorDrop(java.awt.Point p, DockingWindow window)
protected DropAction
acceptSplitDrop(java.awt.Point p, DockingWindow window, int splitDistance)
protected boolean
acceptsSplitWith(DockingWindow window)
void
addListener(DockingWindowListener listener)
Adds a listener which will reveive events for this window and all child windows.void
addTabMouseButtonListener(MouseButtonListener listenerDocking)
Adds a listener that receives mouse button events for window tabs.protected DockingWindow
addWindow(DockingWindow window)
protected void
addWindowItem(DockingWindow w, int index)
protected void
afterWindowRemoved(DockingWindow window)
protected void
beforeDrop(DockingWindow target)
protected static void
beginOptimize(DockingWindow window)
protected static void
beginUpdateModel()
protected boolean
childInsideTab()
protected void
childRemoved(DockingWindow child)
protected void
cleanUpModel()
protected void
clearChildrenFocus(DockingWindow child, View view)
protected void
clearFocus(View view)
void
close()
Removes this window from it's window parent.void
closeWithAbort()
Same asclose()
, but theDockingWindowListener.windowClosing(DockingWindow)
method of the window listeners will be called before closing the window, giving them the possibility to abort the close operation.protected abstract PropertyMap
createPropertyObject()
protected DropAction
createTabWindow(DockingWindow window)
protected void
detach()
protected DropAction
doAcceptDrop(java.awt.Point p, DockingWindow window)
void
dock()
Docks the window to the RootWindow to the location it had before it was undocked.void
dockWithAbort()
Same asdock()
, but theDockingWindowListener.windowDocking(DockingWindow)
method of the window listeners will be called before docking the window, giving them the possibility to abort the dock operation.protected abstract void
doRemoveWindow(DockingWindow window)
protected abstract void
doReplace(DockingWindow oldWindow, DockingWindow newWindow)
protected static void
endOptimize()
protected static void
endUpdateModel()
protected void
fireTitleChanged()
protected void
fireViewFocusChanged(View previouslyFocusedView, View focusedView)
protected void
fireWindowHidden(DockingWindow window)
protected void
fireWindowShown(DockingWindow window)
protected DockingWindow[]
getAncestors()
protected DockingWindow
getBestFittedWindow(DockingWindow parentWindow)
protected int
getChildEdgeDepth(DockingWindow window, Direction dir)
abstract DockingWindow
getChildWindow(int index)
Returns the child window with index index.abstract int
getChildWindowCount()
Returns the number of child windows.int
getChildWindowIndex(DockingWindow window)
Returns the index of a child windows.protected DockingWindow
getContentWindow(DockingWindow parent)
protected int
getEdgeDepth(Direction dir)
abstract javax.swing.Icon
getIcon()
Returns the icon for this window.DockingWindow
getLastFocusedChildWindow()
Returns the child window that last contained focus.protected DockingWindow
getLocationWindow()
protected DockingWindow
getOptimizedWindow()
Returns the result after removing unnecessary tab windows which contains only one tab.WindowPopupMenuFactory
getPopupMenuFactory()
Returns the popup menu factory for this window.protected DockingWindow
getPreferredFocusChild()
Direction
getPreferredMinimizeDirection()
Gets the preferred minimize direction of this window.protected abstract PropertyMap
getPropertyObject()
RootWindow
getRootWindow()
Returns theRootWindow
which contains this window, null if there is none.java.lang.String
getTitle()
Returns the title of this window.protected boolean
getUpdateModel()
protected WindowItem
getWindowItem()
DockingWindow
getWindowParent()
Returns the window parent of this window.DockingWindowProperties
getWindowProperties()
Returns the properties for this window.protected boolean
hasParent(DockingWindow w)
protected void
init()
protected boolean
insideTab()
protected void
internalClose()
protected DockingWindow
internalReplaceChildWindow(DockingWindow oldWindow, DockingWindow newWindow)
protected boolean
isChildShowingInRootWindow(DockingWindow child)
boolean
isClosable()
Returns true if this window can be closed by the user.boolean
isDockable()
Returns true if this window can be docked to the root window from a floating window.boolean
isMaximizable()
Returns true if this window can be maximized by the user.boolean
isMaximized()
Returns true if this window has a root window and is maximized in that root window or in a floating window.boolean
isMinimizable()
Returns true if this window can be minimized by the user.boolean
isMinimized()
Returns true if this window is minimized, ie located in aWindowBar
.boolean
isRestorable()
Returns true if this window can be restored by the user.protected boolean
isShowingInRootWindow()
boolean
isUndockable()
Returns true if this window can be undocked to a floating window.boolean
isUndocked()
void
makeVisible()
Makes this window visible.void
maximize()
Maximizes this window in its root window or in its floating window.void
maximizeWithAbort()
Same asmaximize()
, but theDockingWindowListener.windowMaximized(DockingWindow)
method of the window listeners will be called before maximizing the window, giving them the possibility to abort the maximize operation.void
minimize()
Minimizes this window.void
minimize(Direction direction)
Minimizes this window to aWindowBar
located in direction.void
minimizeWithAbort()
Same asminimize()
, but theDockingWindowListener.windowMinimizing(DockingWindow)
method of the window listeners will be called before minimizing the window, giving them the possibility to abort the minimize operation.void
minimizeWithAbort(Direction direction)
Same asminimize(Direction)
, but theDockingWindowListener.windowMinimizing(DockingWindow)
method of the window listeners will be called before minimizing the window, giving them the possibility to abort the minimize operation.protected boolean
needsTitleWindow()
protected void
notifyListeners(WindowAncestors ancestors)
protected DockingWindow
oldRead(java.io.ObjectInputStream in, ReadContext context)
protected static void
optimizeAfter(DockingWindow window, java.lang.Runnable runnable)
protected void
optimizeWindowLayout()
protected void
readLocations(java.io.ObjectInputStream in, RootWindow rootWindow, int version)
protected void
removeChildWindow(DockingWindow window)
void
removeListener(DockingWindowListener listener)
Removes a previously added listener.void
removeTabMouseButtonListener(MouseButtonListener listenerDocking)
Removes a mouse button listener that has been previously added using theaddTabMouseButtonListener(MouseButtonListener)
.protected void
removeWindow(DockingWindow window)
void
replaceChildWindow(DockingWindow oldWindow, DockingWindow newWindow)
Replaces a child window with another window.void
restore()
Restores this window to the location before it was minimized, maximized or closed.void
restoreFocus()
Requests that the last focused child window becomes visible and that focus is restored to the last focused component in that window.void
restoreWithAbort()
Same asrestore()
, but theDockingWindowListener.windowRestoring(DockingWindow)
method of the window listeners will be called before restoring the window, giving them the possibility to abort the restore operation.protected void
rootChanged(RootWindow oldRoot, RootWindow newRoot)
protected void
setFocused(boolean focused)
protected void
setLastMinimizedDirection(Direction direction)
void
setPopupMenuFactory(WindowPopupMenuFactory popupMenuFactory)
Sets the popup menu factory for this window.void
setPreferredMinimizeDirection(Direction direction)
Sets the preferred minimize direction of this window.protected void
showChildWindow(DockingWindow window)
protected boolean
showsWindowTitle()
protected DropAction
split(DockingWindow window, Direction splitDir)
SplitWindow
split(DockingWindow splitWithWindow, Direction direction, float dividerLocation)
Splits this window in the given direction.DockingWindowDragger
startDrag(RootWindow dropTarget)
Starts a drag and drop operation for this window.protected WindowAncestors
storeAncestors()
java.lang.String
toString()
FloatingWindow
undock(java.awt.Point location)
Undocks this window from it's window parent i.e.FloatingWindow
undockWithAbort(java.awt.Point location)
Same asundock(Point)
, but theDockingWindowListener.windowUndocking(DockingWindow)
method of the window listeners will be called before undocking the window, giving them the possibility to abort the undock operation.protected abstract void
update()
protected void
updateButtonVisibility()
protected void
updateWindowItem(DockingWindow w)
protected void
updateWindowItem(RootWindow rootWindow)
protected void
updateWindowItems()
protected void
write(java.io.ObjectOutputStream out, WriteContext context, ViewWriter viewWriter)
protected void
writeLocations(java.io.ObjectOutputStream out)
-
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, 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
-
DockingWindow
protected DockingWindow(WindowItem windowItem)
-
-
Method Detail
-
getIcon
public abstract javax.swing.Icon getIcon()
Returns the icon for this window.- Returns:
- the icon
-
getChildWindow
public abstract DockingWindow getChildWindow(int index)
Returns the child window with index index.- Parameters:
index
- the child window index- Returns:
- the child window
-
getChildWindowCount
public abstract int getChildWindowCount()
Returns the number of child windows.- Returns:
- the number of child windows
-
doReplace
protected abstract void doReplace(DockingWindow oldWindow, DockingWindow newWindow)
-
doRemoveWindow
protected abstract void doRemoveWindow(DockingWindow window)
-
update
protected abstract void update()
-
init
protected void init()
-
addWindowItem
protected void addWindowItem(DockingWindow w, int index)
-
updateWindowItem
protected void updateWindowItem(DockingWindow w)
-
updateWindowItems
protected final void updateWindowItems()
-
setPreferredMinimizeDirection
public void setPreferredMinimizeDirection(Direction direction)
Sets the preferred minimize direction of this window. If the
WindowBar
in this direction is enabled this window will be placed on that bar whenminimize()
is called.Note that a window will "remember" the last
WindowBar
it was added to so the preferred minimize direction is changed when the window is added to anotherWindowBar
.- Parameters:
direction
- the preferred minimize direction of this window, null (which is default value) means use the closest, enabledWindowBar
- Since:
- IDW 1.3.0
-
getPreferredMinimizeDirection
public Direction getPreferredMinimizeDirection()
Gets the preferred minimize direction of this window. See
setPreferredMinimizeDirection(net.infonode.util.Direction)
for more information.- Returns:
- the preferred minimize direction of this window, null if the closest
WindowBar
is used - Since:
- IDW 1.3.0
-
isUndocked
public boolean isUndocked()
-
addTabMouseButtonListener
public void addTabMouseButtonListener(MouseButtonListener listenerDocking)
Adds a listener that receives mouse button events for window tabs. The listener will be called when a mouse button is pressed, clicked or released on a window tab of this window or a descendant of this window.
The listeners are called in the reverse order they were added, so the last added listener will be called first. When all the listeners of this window has been called, the event is propagated up to the window parent of this window, if there is one.
The
MouseEvent
source is the docking window connected to the tab in which the mouse event occured. The event point is the mouse coordinate where the event occured relative to the window.- Parameters:
listenerDocking
- the listener- Since:
- IDW 1.3.0
-
removeTabMouseButtonListener
public void removeTabMouseButtonListener(MouseButtonListener listenerDocking)
Removes a mouse button listener that has been previously added using theaddTabMouseButtonListener(MouseButtonListener)
.- Parameters:
listenerDocking
- the listener- Since:
- IDW 1.3.0
-
addListener
public void addListener(DockingWindowListener listener)
Adds a listener which will reveive events for this window and all child windows.- Parameters:
listener
- the listener- Since:
- IDW 1.1.0
-
removeListener
public void removeListener(DockingWindowListener listener)
Removes a previously added listener.- Parameters:
listener
- the listener- Since:
- IDW 1.1.0
-
getWindowParent
public DockingWindow getWindowParent()
Returns the window parent of this window.- Returns:
- the window parent of this window
-
split
public SplitWindow split(DockingWindow splitWithWindow, Direction direction, float dividerLocation)
Splits this window in the given direction. If this window is a View which is contained in a TabWindow with a single tab, the TabWindow will splitted instead of this View.- Parameters:
splitWithWindow
- the splitWithWindow which to split withdirection
- the split directiondividerLocation
- the relative split divider location (0 - 1)- Returns:
- the resulting split window
-
startDrag
public DockingWindowDragger startDrag(RootWindow dropTarget)
Starts a drag and drop operation for this window.- Parameters:
dropTarget
- theRootWindow
in which the window can be dropped- Returns:
- an
DockingWindowDragger
object which controls the drag and drop operation - Since:
- IDW 1.3.0
-
getWindowProperties
public DockingWindowProperties getWindowProperties()
Returns the properties for this window.- Returns:
- the properties for this window
-
getRootWindow
public RootWindow getRootWindow()
Returns theRootWindow
which contains this window, null if there is none.- Returns:
- the
RootWindow
, null if there is none
-
restoreWithAbort
public void restoreWithAbort() throws OperationAbortedException
Same asrestore()
, but theDockingWindowListener.windowRestoring(DockingWindow)
method of the window listeners will be called before restoring the window, giving them the possibility to abort the restore operation.- Throws:
OperationAbortedException
- if the restore operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
restore()
,DockingWindowListener.windowMinimizing(DockingWindow)
-
restore
public void restore()
Restores this window to the location before it was minimized, maximized or closed. If the window can't be restored to the exact same location, a good approximation is performed. It's not guaranteed that the window is shown anywhere after this method has returned.
-
close
public void close()
Removes this window from it's window parent. If the window parent is a split window or a tab window with one child, it will be removed as well.
The location of this window is saved and the window can be restored to that location using the
restore()
method.This method will call the
DockingWindowListener.windowClosed(DockingWindow)
method of all the listeners of this window and all window ancestors. The listeners of child windows will not be notified, for example closing a tab window containing views will not notify the listeners of views in that tab window.
-
closeWithAbort
public void closeWithAbort() throws OperationAbortedException
Same asclose()
, but theDockingWindowListener.windowClosing(DockingWindow)
method of the window listeners will be called before closing the window, giving them the possibility to abort the close operation.- Throws:
OperationAbortedException
- if the close operation was aborted by a window listener- Since:
- IDW 1.1.0
- See Also:
close()
,DockingWindowListener.windowClosing(DockingWindow)
-
undock
public FloatingWindow undock(java.awt.Point location)
Undocks this window from it's window parent i.e. creates a
FloatingWindow
containing this window.The window can be docked again by calling
dock()
.This method will call the
DockingWindowListener.windowUndocked(DockingWindow)
method of all the listeners of this window and all window ancestors. The listeners of child windows will not be notified, for example undocking a tab window containing views will not notify the listeners of views in that tab window.- Parameters:
location
- floating window location in screen coordinates- Returns:
- the floating window containing the undocked window
- Since:
- IDW 1.4.0
-
undockWithAbort
public FloatingWindow undockWithAbort(java.awt.Point location) throws OperationAbortedException
Same asundock(Point)
, but theDockingWindowListener.windowUndocking(DockingWindow)
method of the window listeners will be called before undocking the window, giving them the possibility to abort the undock operation.- Parameters:
location
- floating window location in screen coordinates- Returns:
- the floating window containing the undocked window
- Throws:
OperationAbortedException
- if the undock operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
undock(Point)
,DockingWindowListener.windowClosing(DockingWindow)
-
dock
public void dock()
Docks the window to the RootWindow to the location it had before it was undocked.
If the window can't be docked to the exact same location, a good approximation is performed. It's not guaranteed that the window is shown anywhere after this method has returned.
This method will call the
DockingWindowListener.windowDocked(DockingWindow)
method of all the listeners of this window and all window ancestors. The listeners of child windows will not be notified, for example docking a tab window containing views will not notify the listeners of views in that tab window.- Since:
- IDW 1.4.0
-
dockWithAbort
public void dockWithAbort() throws OperationAbortedException
Same asdock()
, but theDockingWindowListener.windowDocking(DockingWindow)
method of the window listeners will be called before docking the window, giving them the possibility to abort the dock operation.- Throws:
OperationAbortedException
- if the dock operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
dock()
,DockingWindowListener.windowDocking(DockingWindow)
-
getChildWindowIndex
public int getChildWindowIndex(DockingWindow window)
Returns the index of a child windows.- Parameters:
window
- the child window- Returns:
- the index of the child window, -1 if the window is not a child of this window
-
getPopupMenuFactory
public WindowPopupMenuFactory getPopupMenuFactory()
Returns the popup menu factory for this window. If it's null the window parent popup menu factory will be used when the mouse popup trigger is activated on this window.- Returns:
- the popup menu factory for this window, null if there is none
-
setPopupMenuFactory
public void setPopupMenuFactory(WindowPopupMenuFactory popupMenuFactory)
Sets the popup menu factory for this window. If it's not null a popup menu will be created and shown when the mouse popup trigger is activated on this window.- Parameters:
popupMenuFactory
- the popup menu factory, null if no popup menu should be shown
-
isMinimized
public boolean isMinimized()
Returns true if this window is minimized, ie located in aWindowBar
.- Returns:
- true if this window is minimized
-
getLastFocusedChildWindow
public DockingWindow getLastFocusedChildWindow()
Returns the child window that last contained focus.- Returns:
- the child window that last contained focus, null if no child window has contained focus or the child has been removed from this window
-
maximize
public final void maximize()
Maximizes this window in its root window or in its floating window. If this window has no root window nothing happens. This method takes the window component and displays it at the top in the root window or in the floating window. It does NOT modify the window tree structure, ie the window parent remains the unchanged.The location of this window is saved and the window can be restored to that location using the
restore()
method.- Since:
- IDW 1.1.0
-
maximizeWithAbort
public void maximizeWithAbort() throws OperationAbortedException
Same asmaximize()
, but theDockingWindowListener.windowMaximized(DockingWindow)
method of the window listeners will be called before maximizing the window, giving them the possibility to abort the maximize operation.- Throws:
OperationAbortedException
- if the maximize operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
maximize()
,DockingWindowListener.windowMinimizing(DockingWindow)
-
isMaximized
public boolean isMaximized()
Returns true if this window has a root window and is maximized in that root window or in a floating window.- Returns:
- true if this window has a root window and is maximized in that root window or in a floating window
- Since:
- IDW 1.1.0
-
minimize
public void minimize()
Minimizes this window. The window is minimized to theWindowBar
in the preferred minimize direction, seesetPreferredMinimizeDirection(net.infonode.util.Direction)
andgetPreferredMinimizeDirection()
. If theWindowBar
in that direction is not enabled, or the direction is null, thiw window is placed on the closest enabledWindowBar
. If no suitableWindowBar
was found or this window already is minimized, no action is performed.The location of this window is saved and the window can be restored to that location using the
restore()
method.
-
minimize
public void minimize(Direction direction)
Minimizes this window to aWindowBar
located in direction. If no suitableWindowBar
was found or this window already is minimized, no action is performed.The location of this window is saved and the window can be restored to that location using the
restore()
method.- Parameters:
direction
- the direction in which the window bar to be minimized to is located
-
minimizeWithAbort
public void minimizeWithAbort() throws OperationAbortedException
Same asminimize()
, but theDockingWindowListener.windowMinimizing(DockingWindow)
method of the window listeners will be called before minimizing the window, giving them the possibility to abort the minimize operation.- Throws:
OperationAbortedException
- if the minimize operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
minimize()
,DockingWindowListener.windowMinimizing(DockingWindow)
-
minimizeWithAbort
public void minimizeWithAbort(Direction direction) throws OperationAbortedException
Same asminimize(Direction)
, but theDockingWindowListener.windowMinimizing(DockingWindow)
method of the window listeners will be called before minimizing the window, giving them the possibility to abort the minimize operation.- Throws:
OperationAbortedException
- if the minimize operation was aborted by a window listener- Since:
- IDW 1.4.0
- See Also:
minimize(Direction)
,DockingWindowListener.windowMinimizing(DockingWindow)
-
isMinimizable
public boolean isMinimizable()
Returns true if this window can be minimized by the user.- Returns:
- true if this window can be minimized
- See Also:
minimize()
-
isMaximizable
public boolean isMaximizable()
Returns true if this window can be maximized by the user.- Returns:
- true if this window can be maximized
- Since:
- IDW 1.2.0
- See Also:
maximize()
-
isClosable
public boolean isClosable()
Returns true if this window can be closed by the user.- Returns:
- true if this window can be closed
- Since:
- IDW 1.2.0
- See Also:
close()
,closeWithAbort()
-
isRestorable
public boolean isRestorable()
Returns true if this window can be restored by the user.- Returns:
- true if this window can be restored
- Since:
- IDW 1.2.0
- See Also:
restore()
-
isUndockable
public boolean isUndockable()
Returns true if this window can be undocked to a floating window.- Returns:
- true if this window can be undocked
- Since:
- IDW 1.4.0
- See Also:
undock(Point)
-
isDockable
public boolean isDockable()
Returns true if this window can be docked to the root window from a floating window.- Returns:
- true if this window can be docked
- Since:
- IDW 1.4.0
- See Also:
dock()
-
replaceChildWindow
public void replaceChildWindow(DockingWindow oldWindow, DockingWindow newWindow)
Replaces a child window with another window.- Parameters:
oldWindow
- the child window to replaceChildWindownewWindow
- the window to replaceChildWindow it with
-
internalReplaceChildWindow
protected DockingWindow internalReplaceChildWindow(DockingWindow oldWindow, DockingWindow newWindow)
-
getTitle
public java.lang.String getTitle()
Returns the title of this window.- Returns:
- the window title
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.awt.Component
-
storeAncestors
protected WindowAncestors storeAncestors()
-
notifyListeners
protected void notifyListeners(WindowAncestors ancestors)
-
isShowingInRootWindow
protected boolean isShowingInRootWindow()
-
isChildShowingInRootWindow
protected boolean isChildShowingInRootWindow(DockingWindow child)
-
makeVisible
public void makeVisible()
Makes this window visible. This causes the tabs of allTabWindow
parents containing this window to be selected.- Since:
- IDW 1.1.0
-
restoreFocus
public void restoreFocus()
Requests that the last focused child window becomes visible and that focus is restored to the last focused component in that window. If no child window has had focus or the child window has been removed from this window, focus is transferred to a child component of this window.- Since:
- IDW 1.1.0
-
getPreferredFocusChild
protected DockingWindow getPreferredFocusChild()
-
getOptimizedWindow
protected DockingWindow getOptimizedWindow()
Returns the result after removing unnecessary tab windows which contains only one tab.- Returns:
- the result after removing unnecessary tab windows which contains only one tab
-
getBestFittedWindow
protected DockingWindow getBestFittedWindow(DockingWindow parentWindow)
-
internalClose
protected void internalClose()
-
showChildWindow
protected void showChildWindow(DockingWindow window)
-
insideTab
protected boolean insideTab()
- Returns:
- true if this window is inside a tab __exclude__
-
childInsideTab
protected boolean childInsideTab()
- Returns:
- true if the child windows are inside tabs __exclude__
-
getAncestors
protected DockingWindow[] getAncestors()
-
fireWindowShown
protected void fireWindowShown(DockingWindow window)
-
fireViewFocusChanged
protected void fireViewFocusChanged(View previouslyFocusedView, View focusedView)
-
fireWindowHidden
protected void fireWindowHidden(DockingWindow window)
-
setLastMinimizedDirection
protected void setLastMinimizedDirection(Direction direction)
-
clearChildrenFocus
protected void clearChildrenFocus(DockingWindow child, View view)
-
childRemoved
protected void childRemoved(DockingWindow child)
-
updateButtonVisibility
protected void updateButtonVisibility()
-
readLocations
protected final void readLocations(java.io.ObjectInputStream in, RootWindow rootWindow, int version) throws java.io.IOException
- Throws:
java.io.IOException
-
writeLocations
protected void writeLocations(java.io.ObjectOutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
beginOptimize
protected static void beginOptimize(DockingWindow window)
-
endOptimize
protected static void endOptimize()
-
optimizeAfter
protected static void optimizeAfter(DockingWindow window, java.lang.Runnable runnable)
-
needsTitleWindow
protected boolean needsTitleWindow()
-
showsWindowTitle
protected boolean showsWindowTitle()
-
optimizeWindowLayout
protected void optimizeWindowLayout()
-
getLocationWindow
protected DockingWindow getLocationWindow()
-
fireTitleChanged
protected void fireTitleChanged()
-
getContentWindow
protected DockingWindow getContentWindow(DockingWindow parent)
-
removeChildWindow
protected final void removeChildWindow(DockingWindow window)
-
removeWindow
protected final void removeWindow(DockingWindow window)
-
detach
protected final void detach()
-
addWindow
protected final DockingWindow addWindow(DockingWindow window)
-
rootChanged
protected void rootChanged(RootWindow oldRoot, RootWindow newRoot)
-
clearFocus
protected void clearFocus(View view)
-
acceptsSplitWith
protected boolean acceptsSplitWith(DockingWindow window)
-
doAcceptDrop
protected DropAction doAcceptDrop(java.awt.Point p, DockingWindow window)
-
acceptSplitDrop
protected DropAction acceptSplitDrop(java.awt.Point p, DockingWindow window, int splitDistance)
-
split
protected DropAction split(DockingWindow window, Direction splitDir)
-
beforeDrop
protected void beforeDrop(DockingWindow target) throws OperationAbortedException
- Throws:
OperationAbortedException
-
createTabWindow
protected DropAction createTabWindow(DockingWindow window)
-
acceptInteriorDrop
protected DropAction acceptInteriorDrop(java.awt.Point p, DockingWindow window)
-
hasParent
protected boolean hasParent(DockingWindow w)
-
oldRead
protected DockingWindow oldRead(java.io.ObjectInputStream in, ReadContext context) throws java.io.IOException
- Throws:
java.io.IOException
-
getPropertyObject
protected abstract PropertyMap getPropertyObject()
-
createPropertyObject
protected abstract PropertyMap createPropertyObject()
-
setFocused
protected void setFocused(boolean focused)
-
getEdgeDepth
protected int getEdgeDepth(Direction dir)
-
getChildEdgeDepth
protected int getChildEdgeDepth(DockingWindow window, Direction dir)
-
acceptChildDrop
protected DropAction acceptChildDrop(java.awt.Point p, DockingWindow window)
-
getWindowItem
protected WindowItem getWindowItem()
-
getUpdateModel
protected boolean getUpdateModel()
-
beginUpdateModel
protected static void beginUpdateModel()
-
endUpdateModel
protected static void endUpdateModel()
-
updateWindowItem
protected void updateWindowItem(RootWindow rootWindow)
-
afterWindowRemoved
protected void afterWindowRemoved(DockingWindow window)
-
write
protected void write(java.io.ObjectOutputStream out, WriteContext context, ViewWriter viewWriter) throws java.io.IOException
- Throws:
java.io.IOException
-
cleanUpModel
protected void cleanUpModel()
-
-