diva.gui.toolbox
Class MenuCreator

java.lang.Object
  extended by diva.canvas.interactor.AbstractInteractor
      extended by diva.gui.toolbox.MenuCreator
All Implemented Interfaces:
LayerListener, LayerMotionListener, Interactor, java.util.EventListener

public class MenuCreator
extends AbstractInteractor

This interactor creates a menu when it is activated. By default, this interactor is associated with the right mouse button. This class is commonly used to create context sensitive menus for figures in a canvas.

Version:
$Id: MenuCreator.java 38798 2005-07-08 20:00:01Z cxh $
Author:
Stephen Neuendorffer

Field Summary
(package private)  MenuFactory _factory
          The menu factory.
 
Constructor Summary
MenuCreator(MenuFactory factory)
          Construct a new interactor with a right button mouse filter.
 
Method Summary
private  void _doEvent(LayerEvent e)
          Process a mousePressed or mouseReleased event.
 MenuFactory getMenuFactory()
          Return the menu factory.
 void mousePressed(LayerEvent e)
          When a mouse press happens, ask the factory to create a menu and show it on the screen.
 void mouseReleased(LayerEvent e)
          When a mouse press happens, ask the factory to create a menu and show it on the screen.
 void setMenuFactory(MenuFactory factory)
          Set the menu factory.
 
Methods inherited from class diva.canvas.interactor.AbstractInteractor
accept, getMouseFilter, isConsuming, isEnabled, isMotionEnabled, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, setConsuming, setEnabled, setMotionEnabled, setMouseFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_factory

MenuFactory _factory
The menu factory.

Constructor Detail

MenuCreator

public MenuCreator(MenuFactory factory)
Construct a new interactor with a right button mouse filter. Set the menu factory to the given factory.

Method Detail

getMenuFactory

public MenuFactory getMenuFactory()
Return the menu factory.


mousePressed

public void mousePressed(LayerEvent e)
When a mouse press happens, ask the factory to create a menu and show it on the screen. Consume the mouse event. If the factory is set to null, then ignore the event and do not consume it.

Specified by:
mousePressed in interface LayerListener
Overrides:
mousePressed in class AbstractInteractor

mouseReleased

public void mouseReleased(LayerEvent e)
When a mouse press happens, ask the factory to create a menu and show it on the screen. Consume the mouse event. If the factory is set to null, then ignore the event and do not consume it.

Specified by:
mouseReleased in interface LayerListener
Overrides:
mouseReleased in class AbstractInteractor

setMenuFactory

public void setMenuFactory(MenuFactory factory)
Set the menu factory.


_doEvent

private void _doEvent(LayerEvent e)
Process a mousePressed or mouseReleased event.