|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.uci.ics.jung.visualization.control.PluggableGraphMouse edu.uci.ics.jung.visualization.control.AbstractModalGraphMouse
public abstract class AbstractModalGraphMouse
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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface 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 KeyListener |
modeKeyListener
|
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 | |
---|---|
protected |
AbstractModalGraphMouse(float in,
float out)
|
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()
|
KeyListener |
getModeKeyListener()
|
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. |
void |
setModeKeyListener(KeyListener modeKeyListener)
|
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 |
---|
protected float in
protected float out
protected ItemListener modeListener
protected JComboBox modeBox
protected JMenu modeMenu
protected ModalGraphMouse.Mode mode
protected EventListenerList listenerList
protected GraphMousePlugin pickingPlugin
protected GraphMousePlugin translatingPlugin
protected GraphMousePlugin animatedPickingPlugin
protected GraphMousePlugin scalingPlugin
protected GraphMousePlugin rotatingPlugin
protected GraphMousePlugin shearingPlugin
protected KeyListener modeKeyListener
Constructor Detail |
---|
protected AbstractModalGraphMouse(float in, float out)
Method Detail |
---|
protected abstract void loadPlugins()
public void setMode(ModalGraphMouse.Mode mode)
setMode
in interface ModalGraphMouse
protected void setPickingMode()
protected void setTransformingMode()
public void setZoomAtMouse(boolean zoomAtMouse)
zoomAtMouse
- The zoomAtMouse to set.public ItemListener getModeListener()
getModeListener
in interface ModalGraphMouse
public KeyListener getModeKeyListener()
public void setModeKeyListener(KeyListener modeKeyListener)
modeKeyListener
- the modeKeyListener to setpublic JComboBox getModeComboBox()
public JMenu getModeMenu()
public void addItemListener(ItemListener aListener)
addItemListener
in interface ItemSelectable
public void removeItemListener(ItemListener aListener)
removeItemListener
in interface ItemSelectable
public ItemListener[] getItemListeners()
ItemListener
s added
to this JComboBox with addItemListener().
ItemListener
s added or an empty
array if no listeners have been addedpublic Object[] getSelectedObjects()
getSelectedObjects
in interface ItemSelectable
protected void fireItemStateChanged(ItemEvent e)
e
- the event of interestEventListenerList
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |