Class BasicPopupPanelUI.WindowTracker
- java.lang.Object
-
- org.pushingpixels.radiance.component.internal.ui.common.popup.BasicPopupPanelUI.WindowTracker
-
- All Implemented Interfaces:
java.awt.event.AWTEventListener
,java.awt.event.ComponentListener
,java.awt.event.WindowListener
,java.util.EventListener
,PopupPanelManager.PopupListener
- Enclosing class:
- BasicPopupPanelUI
protected static class BasicPopupPanelUI.WindowTracker extends java.lang.Object implements PopupPanelManager.PopupListener, java.awt.event.AWTEventListener, java.awt.event.ComponentListener, java.awt.event.WindowListener
This class is used to dismiss popup panels on the following events:- Mouse click outside any shown popup panel.
- Closing, iconifying or deactivation of a top-level window.
- Any change in the component hierarchy of a top-level window.
Only one top-level window is tracked at any time. The assumption is that the
PopupPanelManager
only shows popup panels originating from one top-level window.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.awt.Window
grabbedWindow
The currently tracked window.(package private) java.util.List<PopupPanelManager.PopupInfo>
lastPathSelected
Last selected path in thePopupPanelManager
.
-
Constructor Summary
Constructors Constructor Description WindowTracker()
Creates the new window tracker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
componentHidden(java.awt.event.ComponentEvent e)
void
componentMoved(java.awt.event.ComponentEvent e)
void
componentResized(java.awt.event.ComponentEvent e)
void
componentShown(java.awt.event.ComponentEvent e)
void
eventDispatched(java.awt.AWTEvent ev)
(package private) void
grabWindow(java.util.List<PopupPanelManager.PopupInfo> shownPath)
Grabs the window of the first popup panel in the specified popup panel sequence.void
popupHidden(PopupPanelManager.PopupEvent event)
Fired when a popup panel has been hidden.void
popupShown(PopupPanelManager.PopupEvent event)
Fired when a popup panel has been shown.(package private) void
ungrabWindow()
Ungrabs the currently tracked window.void
windowActivated(java.awt.event.WindowEvent e)
void
windowClosed(java.awt.event.WindowEvent e)
void
windowClosing(java.awt.event.WindowEvent e)
void
windowDeactivated(java.awt.event.WindowEvent e)
void
windowDeiconified(java.awt.event.WindowEvent e)
void
windowIconified(java.awt.event.WindowEvent e)
void
windowOpened(java.awt.event.WindowEvent e)
-
-
-
Field Detail
-
grabbedWindow
java.awt.Window grabbedWindow
The currently tracked window. It is the window of the originating component of the first popup panel in the currently shown sequence ofPopupPanelManager
.
-
lastPathSelected
java.util.List<PopupPanelManager.PopupInfo> lastPathSelected
Last selected path in thePopupPanelManager
.
-
-
Method Detail
-
grabWindow
void grabWindow(java.util.List<PopupPanelManager.PopupInfo> shownPath)
Grabs the window of the first popup panel in the specified popup panel sequence.- Parameters:
shownPath
- Sequence of the currently shown popup panels.
-
ungrabWindow
void ungrabWindow()
Ungrabs the currently tracked window.
-
popupShown
public void popupShown(PopupPanelManager.PopupEvent event)
Description copied from interface:PopupPanelManager.PopupListener
Fired when a popup panel has been shown.- Specified by:
popupShown
in interfacePopupPanelManager.PopupListener
- Parameters:
event
- Popup event.
-
popupHidden
public void popupHidden(PopupPanelManager.PopupEvent event)
Description copied from interface:PopupPanelManager.PopupListener
Fired when a popup panel has been hidden.- Specified by:
popupHidden
in interfacePopupPanelManager.PopupListener
- Parameters:
event
- Popup event.
-
eventDispatched
public void eventDispatched(java.awt.AWTEvent ev)
- Specified by:
eventDispatched
in interfacejava.awt.event.AWTEventListener
-
componentResized
public void componentResized(java.awt.event.ComponentEvent e)
- Specified by:
componentResized
in interfacejava.awt.event.ComponentListener
-
componentMoved
public void componentMoved(java.awt.event.ComponentEvent e)
- Specified by:
componentMoved
in interfacejava.awt.event.ComponentListener
-
componentShown
public void componentShown(java.awt.event.ComponentEvent e)
- Specified by:
componentShown
in interfacejava.awt.event.ComponentListener
-
componentHidden
public void componentHidden(java.awt.event.ComponentEvent e)
- Specified by:
componentHidden
in interfacejava.awt.event.ComponentListener
-
windowClosing
public void windowClosing(java.awt.event.WindowEvent e)
- Specified by:
windowClosing
in interfacejava.awt.event.WindowListener
-
windowClosed
public void windowClosed(java.awt.event.WindowEvent e)
- Specified by:
windowClosed
in interfacejava.awt.event.WindowListener
-
windowIconified
public void windowIconified(java.awt.event.WindowEvent e)
- Specified by:
windowIconified
in interfacejava.awt.event.WindowListener
-
windowDeactivated
public void windowDeactivated(java.awt.event.WindowEvent e)
- Specified by:
windowDeactivated
in interfacejava.awt.event.WindowListener
-
windowOpened
public void windowOpened(java.awt.event.WindowEvent e)
- Specified by:
windowOpened
in interfacejava.awt.event.WindowListener
-
windowDeiconified
public void windowDeiconified(java.awt.event.WindowEvent e)
- Specified by:
windowDeiconified
in interfacejava.awt.event.WindowListener
-
windowActivated
public void windowActivated(java.awt.event.WindowEvent e)
- Specified by:
windowActivated
in interfacejava.awt.event.WindowListener
-
-