bibliothek.gui.dock.util
Class WindowProviderWrapper

java.lang.Object
  extended by bibliothek.gui.dock.util.AbstractWindowProvider
      extended by bibliothek.gui.dock.util.WindowProviderWrapper
All Implemented Interfaces:
WindowProvider

public class WindowProviderWrapper
extends AbstractWindowProvider

A wrapper around another WindowProvider, allows to exchange providers without the need to reattach WindowProviderListeners.

Author:
Benjamin Sigg

Field Summary
 
Fields inherited from class bibliothek.gui.dock.util.AbstractWindowProvider
listeners
 
Constructor Summary
WindowProviderWrapper()
           
 
Method Summary
 void addWindowProviderListener(WindowProviderListener listener)
          Adds a new listener to this provider.
 WindowProvider getDelegate()
          Gets the provider which is be used by this to find a window.
 void removeWindowProviderListener(WindowProviderListener listener)
          Removes a listener from this provider
 Window searchWindow()
          Tries to find a window.
 void setDelegate(WindowProvider delegate)
          Sets the provider which will be used to find a window.
 
Methods inherited from class bibliothek.gui.dock.util.AbstractWindowProvider
fireWindowChanged, listeners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WindowProviderWrapper

public WindowProviderWrapper()
Method Detail

addWindowProviderListener

public void addWindowProviderListener(WindowProviderListener listener)
Description copied from interface: WindowProvider
Adds a new listener to this provider. The listener should be called when the window provided by this object changes.

Specified by:
addWindowProviderListener in interface WindowProvider
Overrides:
addWindowProviderListener in class AbstractWindowProvider
Parameters:
listener - the new listener

removeWindowProviderListener

public void removeWindowProviderListener(WindowProviderListener listener)
Description copied from interface: WindowProvider
Removes a listener from this provider

Specified by:
removeWindowProviderListener in interface WindowProvider
Overrides:
removeWindowProviderListener in class AbstractWindowProvider
Parameters:
listener - the listener to remove

setDelegate

public void setDelegate(WindowProvider delegate)
Sets the provider which will be used to find a window.

Parameters:
delegate - the new provider, can be null

getDelegate

public WindowProvider getDelegate()
Gets the provider which is be used by this to find a window.

Returns:
the provider, can be null

searchWindow

public Window searchWindow()
Description copied from interface: WindowProvider
Tries to find a window. The result should either be a Frame or a Dialog, and a plain Window only as last resort. If possible the main-frame or another important window that will not be closed soon should be returned. Visible windows are preferred over non visible ones. This method is not guaranteed to have success, null is a valid result. This method is not required to return always the same window, however the WindowProviderListeners should be informed when the result changes.

Returns:
if possible a visible Frame which won't be closed in the near future, any window which does not fulfill the requirements or null if no window is available at all.