Package com.illumon.iris.gui.workspace
Class ViewClosingHandler
java.lang.Object
com.illumon.infonode.docking.DockingWindowAdapter
com.illumon.iris.gui.workspace.ViewClosingHandler
- All Implemented Interfaces:
com.illumon.infonode.docking.DockingWindowListener
- Direct Known Subclasses:
ViewClosingReusedHandler
public class ViewClosingHandler
extends com.illumon.infonode.docking.DockingWindowAdapter
Handle the windowClosing event from the view. This class will additionally listen for the same event from
it's parent so we can properly catch when the parent tab window is closed and invoke the listener.
This listener will automatically remove itself from the window's and parent window's listener list once
ViewClosingHandler.CloseListener.viewClosed()
or ViewClosingHandler.CloseListener.viewReused() is called.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceListen for a closing, closed, and reused events of a view. -
Constructor Summary
ConstructorsConstructorDescriptionViewClosingHandler(com.illumon.infonode.docking.DockingWindow dockingWindow, ViewClosingHandler.CloseListener listener) -
Method Summary
Modifier and TypeMethodDescriptionvoiddetach()Detach this listener from the window and it's parent.voidonUserEvent(com.illumon.infonode.docking.DockingWindow window, com.illumon.infonode.docking.UserDockingWindowEvent event) voidonUserEventWithAbort(com.illumon.infonode.docking.DockingWindow window, com.illumon.infonode.docking.UserDockingWindowEvent event) voidwindowAdded(com.illumon.infonode.docking.DockingWindow addedToWindow, com.illumon.infonode.docking.DockingWindow addedWindow) If the window being added is us (we are being parented) add this listener to the new parent so that we can properly handle when the parent window is closed.voidwindowClosed(com.illumon.infonode.docking.DockingWindow window) Handle when this window is actually closed.voidwindowClosing(com.illumon.infonode.docking.DockingWindow window) Handle the windowClosing event from this, and it's parent.voidwindowRemoved(com.illumon.infonode.docking.DockingWindow removedFromWindow, com.illumon.infonode.docking.DockingWindow removedWindow) Methods inherited from class com.illumon.infonode.docking.DockingWindowAdapter
viewFocusChanged, windowDocked, windowDocking, windowHidden, windowMaximized, windowMaximizing, windowMinimized, windowMinimizing, windowRestored, windowRestoring, windowShown, windowUndocked, windowUndocking
-
Constructor Details
-
ViewClosingHandler
public ViewClosingHandler(com.illumon.infonode.docking.DockingWindow dockingWindow, ViewClosingHandler.CloseListener listener)
-
-
Method Details
-
windowClosing
public void windowClosing(com.illumon.infonode.docking.DockingWindow window) throws com.illumon.infonode.docking.OperationAbortedException Handle the windowClosing event from this, and it's parent.- Specified by:
windowClosingin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
windowClosingin classcom.illumon.infonode.docking.DockingWindowAdapter- Parameters:
window- The window that's closing- Throws:
com.illumon.infonode.docking.OperationAbortedException- If the user aborted the close operation- ImplNote:
- Since the windowClosing event is propagated up the component tree, it is possible to receive events for any other child window of the current parent. This means we must filter out events for windows that are closing that aren't either us, or our parent.
-
windowClosed
public void windowClosed(com.illumon.infonode.docking.DockingWindow window) Handle when this window is actually closed.- Specified by:
windowClosedin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
windowClosedin classcom.illumon.infonode.docking.DockingWindowAdapter- Parameters:
window- the window that was closed.- ImplNote:
- In some cases with View, the object is maintained as a SoftReference and can hang around to be re-used later, ie) when the user clicks "Reload" so we need to reset the closeInProgress state.
-
detach
public void detach()Detach this listener from the window and it's parent. -
windowAdded
public void windowAdded(com.illumon.infonode.docking.DockingWindow addedToWindow, com.illumon.infonode.docking.DockingWindow addedWindow) If the window being added is us (we are being parented) add this listener to the new parent so that we can properly handle when the parent window is closed.- Specified by:
windowAddedin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
windowAddedin classcom.illumon.infonode.docking.DockingWindowAdapter- Parameters:
addedToWindow- The window "addedWindow" is being added as a child ofaddedWindow- The window being added as a child.
-
windowRemoved
public void windowRemoved(com.illumon.infonode.docking.DockingWindow removedFromWindow, com.illumon.infonode.docking.DockingWindow removedWindow) - Specified by:
windowRemovedin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
windowRemovedin classcom.illumon.infonode.docking.DockingWindowAdapter
-
onUserEventWithAbort
public void onUserEventWithAbort(com.illumon.infonode.docking.DockingWindow window, com.illumon.infonode.docking.UserDockingWindowEvent event) throws com.illumon.infonode.docking.OperationAbortedException - Specified by:
onUserEventWithAbortin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
onUserEventWithAbortin classcom.illumon.infonode.docking.DockingWindowAdapter- Throws:
com.illumon.infonode.docking.OperationAbortedException
-
onUserEvent
public void onUserEvent(com.illumon.infonode.docking.DockingWindow window, com.illumon.infonode.docking.UserDockingWindowEvent event) - Specified by:
onUserEventin interfacecom.illumon.infonode.docking.DockingWindowListener- Overrides:
onUserEventin classcom.illumon.infonode.docking.DockingWindowAdapter
-