Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.uci.ics.jung.visualization.control
Class AbstractModalGraphMouse

    java.lang.Object
      edu.uci.ics.jung.visualization.control.PluggableGraphMouse
          edu.uci.ics.jung.visualization.control.AbstractModalGraphMouse

All Implemented Interfaces:
  EventListener, ItemSelectable, ModalGraphMouse, MouseListener, MouseMotionListener, MouseWheelListener, VisualizationViewer.GraphMouse

Direct Known Subclasses:
  DefaultModalGraphMouse, ModalLensGraphMouse

public abstract class AbstractModalGraphMouse
extends PluggableGraphMouse
implements ModalGraphMouse, ItemSelectable

AbstractModalGraphMouse is a PluggableGraphMouse class that manages a collection of plugins for picking and transforming the graph. Additionally, it carries the notion of a Mode: Picking or Translating. Switching between modes allows for a more natural choice of mouse modifiers to be used for the various plugins. The default modifiers are intended to mimick those of mainstream software applications in order to be intuitive to users. To change between modes, two different controls are offered, a combo box and a menu system. These controls are lazily created in their respective 'getter' methods so they don't impact code that does not intend to use them. The menu control can be placed in an unused corner of the GraphZoomScrollPane, which is a common location for mouse mode selection menus in mainstream applications. Users must implement the loadPlugins() method to create and install the GraphMousePlugins. The order of the plugins is important, as they are evaluated against the mask parameters in the order that they are added.

Author:
  Tom Nelson

Nested Class Summary

Nested classes inherited from class edu.uci.ics.jung.visualization.control.ModalGraphMouse
`ModalGraphMouse.Mode`

Field Summary
`protected GraphMousePlugin` | `animatedPickingPlugin`
`protected float` | `in` used by the scaling plugins for zoom in
`protected EventListenerList` | `listenerList` listeners for mode changes
`protected ModalGraphMouse.Mode` | `mode` the current mode
`protected JComboBox` | `modeBox` a JComboBox control available to set the mode
`protected ItemListener` | `modeListener` a listener for mode changes
`protected JMenu` | `modeMenu` a menu available to set the mode
`protected float` | `out` used by the scaling plugins for zoom out
`protected GraphMousePlugin` | `pickingPlugin`
`protected GraphMousePlugin` | `rotatingPlugin`
`protected GraphMousePlugin` | `scalingPlugin`
`protected GraphMousePlugin` | `shearingPlugin`
`protected GraphMousePlugin` | `translatingPlugin`

Constructor Summary
`AbstractModalGraphMouse()`

Method Summary
`void` | `addItemListener(ItemListener aListener)` add a listener for mode changes
`protected void` | `fireItemStateChanged(ItemEvent e)` Notifies all listeners that have registered interest for notification on this event type.
`ItemListener[]` | `getItemListeners()` Returns an array of all the `ItemListener`s added to this JComboBox with addItemListener().
`JComboBox` | `getModeComboBox()`
`ItemListener` | `getModeListener()`
`JMenu` | `getModeMenu()` create (if necessary) and return a menu that will change the mode
`Object[]` | `getSelectedObjects()`
`protected abstract void` | `loadPlugins()` create the plugins, and load the plugins for TRANSFORMING mode
`void` | `removeItemListener(ItemListener aListener)` remove a listener for mode changes
`void` | `setMode(ModalGraphMouse.Mode mode)` setter for the Mode.
`protected void` | `setPickingMode()`
`protected void` | `setTransformingMode()`
`void` | `setZoomAtMouse(boolean zoomAtMouse)`

Methods inherited from class edu.uci.ics.jung.visualization.control.PluggableGraphMouse
`add, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, remove`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface java.awt.event.MouseListener
`mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased`

Methods inherited from interface java.awt.event.MouseMotionListener
`mouseDragged, mouseMoved`

Methods inherited from interface java.awt.event.MouseWheelListener
`mouseWheelMoved`

Field Detail

### in

    protected float in

  used by the scaling plugins for zoom in

### out

    protected float out

  used by the scaling plugins for zoom out

### modeListener

    protected ItemListener modeListener

  a listener for mode changes

### modeBox

    protected JComboBox modeBox

  a JComboBox control available to set the mode

### modeMenu

    protected JMenu modeMenu

  a menu available to set the mode

### mode

    protected ModalGraphMouse.Mode mode

  the current mode

### listenerList

    protected EventListenerList listenerList

  listeners for mode changes

### pickingPlugin

    protected GraphMousePlugin pickingPlugin

### translatingPlugin

    protected GraphMousePlugin translatingPlugin

### animatedPickingPlugin

    protected GraphMousePlugin animatedPickingPlugin

### scalingPlugin

    protected GraphMousePlugin scalingPlugin

### rotatingPlugin

    protected GraphMousePlugin rotatingPlugin

### shearingPlugin

    protected GraphMousePlugin shearingPlugin

Constructor Detail

### AbstractModalGraphMouse

    public AbstractModalGraphMouse()

Method Detail

### loadPlugins

    protected abstract void loadPlugins()

  create the plugins, and load the plugins for TRANSFORMING mode

### setMode

    public void setMode(ModalGraphMouse.Mode mode)

  setter for the Mode.

  Specified by:
    `setMode` in interface `ModalGraphMouse`

### setPickingMode

    protected void setPickingMode()

### setTransformingMode

    protected void setTransformingMode()

### setZoomAtMouse

    public void setZoomAtMouse(boolean zoomAtMouse)

  Parameters:
    `zoomAtMouse` - The zoomAtMouse to set.

### getModeListener

    public ItemListener getModeListener()

  Specified by:
    `getModeListener` in interface `ModalGraphMouse`
  Returns:
    Returns the modeListener.

### getModeComboBox

    public JComboBox getModeComboBox()

  Returns:
    Returns the modeBox.

### getModeMenu

    public JMenu getModeMenu()

  create (if necessary) and return a menu that will change the mode

  Returns:
    the menu

### addItemListener

    public void addItemListener(ItemListener aListener)

  add a listener for mode changes

  Specified by:
    `addItemListener` in interface `ItemSelectable`

### removeItemListener

    public void removeItemListener(ItemListener aListener)

  remove a listener for mode changes

  Specified by:
    `removeItemListener` in interface `ItemSelectable`

### getItemListeners

    public ItemListener[] getItemListeners()

  Returns an array of all the `ItemListener`s added to this JComboBox with addItemListener().

  Returns:
    all of the `ItemListener`s added or an empty array if no listeners have been added
  Since:
    1.4

### getSelectedObjects

    public Object[] getSelectedObjects()

  Specified by:
    `getSelectedObjects` in interface `ItemSelectable`

### fireItemStateChanged

    protected void fireItemStateChanged(ItemEvent e)

  Notifies all listeners that have registered interest for notification on this event type.

  Parameters:
    `e` - the event of interest
  See Also:
    `EventListenerList`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD