ptolemy.vergil.tree
Class PTreeMenuCreator

java.lang.Object
  extended by java.awt.event.MouseAdapter
      extended by ptolemy.vergil.tree.PTreeMenuCreator
All Implemented Interfaces:
java.awt.event.MouseListener, java.util.EventListener

public class PTreeMenuCreator
extends java.awt.event.MouseAdapter

A mouse listener that creates context menus for a PTree using menu item factories. When asked to create a context menu, This class determines the ptolemy object associated with the point in the tree that was clicked on. Then it passes the ptolemy object to each menu item factory that it contains to add the menu items. Lastly, it pops up the resulting menu.

Since:
Ptolemy II 4.0
Version:
$Id: PTreeMenuCreator.java 59166 2010-09-21 17:05:27Z cxh $
Author:
Steve Neuendorffer
Accepted Rating:
Red (johnr)
Proposed Rating:
Red (eal)

Field Summary
private  java.util.List _factoryList
          The menu item factories.
 
Constructor Summary
PTreeMenuCreator()
          Create a new menu factory that contains no menu item factories.
 
Method Summary
private  void _doEvent(java.awt.event.MouseEvent e)
          Process a mousePressed or mouseReleased event.
 void addMenuItemFactory(MenuItemFactory factory)
          Add a menu item factory to this creator.
 java.util.List menuItemFactoryList()
          Return the list of menu item factories.
 void mousePressed(java.awt.event.MouseEvent e)
          Create an instance of the menu associated with this factory.
 void mouseReleased(java.awt.event.MouseEvent e)
          Create an instance of the menu associated with this factory.
 void removeMenuItemFactory(MenuItemFactory factory)
          Remove the given menu item factory from the factory list.
 
Methods inherited from class java.awt.event.MouseAdapter
mouseClicked, mouseEntered, mouseExited
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_factoryList

private java.util.List _factoryList
The menu item factories.

Constructor Detail

PTreeMenuCreator

public PTreeMenuCreator()
Create a new menu factory that contains no menu item factories.

Method Detail

addMenuItemFactory

public void addMenuItemFactory(MenuItemFactory factory)
Add a menu item factory to this creator.

Parameters:
factory - The menu item factory to add.

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Create an instance of the menu associated with this factory.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class java.awt.event.MouseAdapter
Parameters:
e - The mouse event. If the mouse event is a popup event, then menu is created and shown.

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Create an instance of the menu associated with this factory.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class java.awt.event.MouseAdapter
Parameters:
e - The mouse event. If the mouse event is a popup event, then menu is created and shown.

menuItemFactoryList

public java.util.List menuItemFactoryList()
Return the list of menu item factories.

Returns:
An unmodifiable list.

removeMenuItemFactory

public void removeMenuItemFactory(MenuItemFactory factory)
Remove the given menu item factory from the factory list.

Parameters:
factory - The factory to be removed.

_doEvent

private void _doEvent(java.awt.event.MouseEvent e)
Process a mousePressed or mouseReleased event.