de.cau.cs.kieler.core.ui.util
Class CombinedWorkbenchListener

java.lang.Object
  extended by de.cau.cs.kieler.core.ui.util.CombinedWorkbenchListener
All Implemented Interfaces:
EventListener, IPageListener, IPartListener, IPerspectiveListener, IPropertyListener, ISelectionListener, IStartup, IWindowListener, IWorkbenchListener

public class CombinedWorkbenchListener
extends Object
implements IStartup, IWindowListener, IWorkbenchListener, IPageListener, IPerspectiveListener, IPartListener, ISelectionListener, IPropertyListener

This listener keeps track of all windows, pages, parts... etc that are currently existing on the workbench. It allows for listeners to be registered to all objects of one of these types. It makes sure that newly opened views are kept track of as well as removing listeners from closed objects. It also contains methods to be notified of all currently opened objects as if they had just opened. FIXME this class makes heavy use of static hash sets without thinking about synchronization!

Rating red

Constructor Summary
CombinedWorkbenchListener()
          Creates a new CombinedWorkbenchListener.
 
Method Summary
static void addPageListener(IPageListener listener)
          Add a new PageListener to the list of listeners.
static void addPartListener(IPartListener listener)
          Add a new PartListener to the list of listeners.
static void addPerspectiveListener(IPerspectiveListener listener)
          Add a new PerspectiveListener to the list of listeners.
static void addPropertyListener(IPropertyListener listener)
          Add a new PropertyListener to the list of listeners.
static void addSelectionListener(ISelectionListener listener)
          Add a new SelectionListener to the list of listeners.
static void addWindowListener(IWindowListener listener)
          Add a new WindowListener to the list of listeners.
static void addWorkbenchListener(IWorkbenchListener listener)
          Add a new WorkbenchListener to the list of listeners.
 void earlyStartup()
          
static CombinedWorkbenchListener getInstance()
          Getter for the instance.
 void pageActivated(IWorkbenchPage page)
          
 void pageClosed(IWorkbenchPage page)
          
 void pageOpened(IWorkbenchPage page)
          
 void partActivated(IWorkbenchPart part)
          
 void partBroughtToTop(IWorkbenchPart part)
          
 void partClosed(IWorkbenchPart part)
          
 void partDeactivated(IWorkbenchPart part)
          
 void partOpened(IWorkbenchPart part)
          
 void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective)
          
 void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId)
          
 void postShutdown(IWorkbench workbench)
          
 boolean preShutdown(IWorkbench workbench, boolean forced)
          
 void propertyChanged(Object source, int propId)
          
static void receiveAlreadyOpenedPages(IPageListener listener)
          Notify the given PageListener with a pageOpened() event for all pages that are already open.
static void receiveAlreadyOpenedParts(IPartListener listener)
          Notify the given PartListener with a partOpened() event for all parts that are already open.
static void receiveAlreadyOpenedWindows(IWindowListener listener)
          Notify the given WindowListener with a windowOpened() event for all windows that are already open.
static void removePageListener(IPageListener listener)
          Remove a PageListener from the list of listeners.
static void removePartListener(IPartListener listener)
          Remove a PartListener from the list of listeners.
static void removePerspectiveListener(IPerspectiveListener listener)
          Remove a PerspectiveListener from the list of listeners.
static void removePropertyListener(IPropertyListener listener)
          Remove a PropertyListener from the list of listeners.
static void removeSelectionListener(ISelectionListener listener)
          Remove a SelectionListener from the list of listeners.
static void removeWindowListener(IWindowListener listener)
          Remove a WindowListener from the list of listeners.
static void removeWorkbenchListener(IWorkbenchListener listener)
          Remove a WorkbenchListener from the list of listeners.
 void selectionChanged(IWorkbenchPart part, ISelection selection)
          
 void windowActivated(IWorkbenchWindow window)
          
 void windowClosed(IWorkbenchWindow window)
          
 void windowDeactivated(IWorkbenchWindow window)
          
 void windowOpened(IWorkbenchWindow window)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CombinedWorkbenchListener

public CombinedWorkbenchListener()
Creates a new CombinedWorkbenchListener.

Method Detail

addWorkbenchListener

public static void addWorkbenchListener(IWorkbenchListener listener)
Add a new WorkbenchListener to the list of listeners.

Parameters:
listener - the new listener.

removeWorkbenchListener

public static void removeWorkbenchListener(IWorkbenchListener listener)
Remove a WorkbenchListener from the list of listeners.

Parameters:
listener - the listener to remove

addWindowListener

public static void addWindowListener(IWindowListener listener)
Add a new WindowListener to the list of listeners.

Parameters:
listener - the new listener.

removeWindowListener

public static void removeWindowListener(IWindowListener listener)
Remove a WindowListener from the list of listeners.

Parameters:
listener - the listener to remove

receiveAlreadyOpenedWindows

public static void receiveAlreadyOpenedWindows(IWindowListener listener)
Notify the given WindowListener with a windowOpened() event for all windows that are already open.

Parameters:
listener - the listener to notify

addPerspectiveListener

public static void addPerspectiveListener(IPerspectiveListener listener)
Add a new PerspectiveListener to the list of listeners.

Parameters:
listener - the new listener.

removePerspectiveListener

public static void removePerspectiveListener(IPerspectiveListener listener)
Remove a PerspectiveListener from the list of listeners.

Parameters:
listener - the listener to remove

addPageListener

public static void addPageListener(IPageListener listener)
Add a new PageListener to the list of listeners.

Parameters:
listener - the new listener.

removePageListener

public static void removePageListener(IPageListener listener)
Remove a PageListener from the list of listeners.

Parameters:
listener - the listener to remove

receiveAlreadyOpenedPages

public static void receiveAlreadyOpenedPages(IPageListener listener)
Notify the given PageListener with a pageOpened() event for all pages that are already open.

Parameters:
listener - the listener to notify

addPartListener

public static void addPartListener(IPartListener listener)
Add a new PartListener to the list of listeners.

Parameters:
listener - the new listener.

removePartListener

public static void removePartListener(IPartListener listener)
Remove a PartListener from the list of listeners.

Parameters:
listener - the listener to remove

receiveAlreadyOpenedParts

public static void receiveAlreadyOpenedParts(IPartListener listener)
Notify the given PartListener with a partOpened() event for all parts that are already open.

Parameters:
listener - the listener to notify

addSelectionListener

public static void addSelectionListener(ISelectionListener listener)
Add a new SelectionListener to the list of listeners.

Parameters:
listener - the new listener.

removeSelectionListener

public static void removeSelectionListener(ISelectionListener listener)
Remove a SelectionListener from the list of listeners.

Parameters:
listener - the listener to remove

addPropertyListener

public static void addPropertyListener(IPropertyListener listener)
Add a new PropertyListener to the list of listeners.

Parameters:
listener - the new listener.

removePropertyListener

public static void removePropertyListener(IPropertyListener listener)
Remove a PropertyListener from the list of listeners.

Parameters:
listener - the listener to remove

earlyStartup

public void earlyStartup()

Specified by:
earlyStartup in interface IStartup

preShutdown

public boolean preShutdown(IWorkbench workbench,
                           boolean forced)

Specified by:
preShutdown in interface IWorkbenchListener

postShutdown

public void postShutdown(IWorkbench workbench)

Specified by:
postShutdown in interface IWorkbenchListener

windowActivated

public void windowActivated(IWorkbenchWindow window)

Specified by:
windowActivated in interface IWindowListener

windowDeactivated

public void windowDeactivated(IWorkbenchWindow window)

Specified by:
windowDeactivated in interface IWindowListener

windowClosed

public void windowClosed(IWorkbenchWindow window)

Specified by:
windowClosed in interface IWindowListener

windowOpened

public void windowOpened(IWorkbenchWindow window)

Specified by:
windowOpened in interface IWindowListener

perspectiveActivated

public void perspectiveActivated(IWorkbenchPage page,
                                 IPerspectiveDescriptor perspective)

Specified by:
perspectiveActivated in interface IPerspectiveListener

perspectiveChanged

public void perspectiveChanged(IWorkbenchPage page,
                               IPerspectiveDescriptor perspective,
                               String changeId)

Specified by:
perspectiveChanged in interface IPerspectiveListener

pageActivated

public void pageActivated(IWorkbenchPage page)

Specified by:
pageActivated in interface IPageListener

pageClosed

public void pageClosed(IWorkbenchPage page)

Specified by:
pageClosed in interface IPageListener

pageOpened

public void pageOpened(IWorkbenchPage page)

Specified by:
pageOpened in interface IPageListener

selectionChanged

public void selectionChanged(IWorkbenchPart part,
                             ISelection selection)

Specified by:
selectionChanged in interface ISelectionListener

partActivated

public void partActivated(IWorkbenchPart part)

Specified by:
partActivated in interface IPartListener

partBroughtToTop

public void partBroughtToTop(IWorkbenchPart part)

Specified by:
partBroughtToTop in interface IPartListener

partClosed

public void partClosed(IWorkbenchPart part)

Specified by:
partClosed in interface IPartListener

partDeactivated

public void partDeactivated(IWorkbenchPart part)

Specified by:
partDeactivated in interface IPartListener

partOpened

public void partOpened(IWorkbenchPart part)

Specified by:
partOpened in interface IPartListener

propertyChanged

public void propertyChanged(Object source,
                            int propId)

Specified by:
propertyChanged in interface IPropertyListener

getInstance

public static CombinedWorkbenchListener getInstance()
Getter for the instance.

Returns:
the instance