org.das2.event
Class BoxSelectorMouseModule

java.lang.Object
  extended by org.das2.event.MouseModule
      extended by org.das2.event.BoxSelectorMouseModule
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener, Displayable, Editable
Direct Known Subclasses:
CutoffMouseModule, PeakDetectorMouseModule, ZoomOutMouseModule

public class BoxSelectorMouseModule
extends MouseModule

General purpose mouse module for getting data point selections. The client provides the DragRenderer, generally a vertical line, horizontal line or a crosshair. Three properties control when BoxSelectionEvents are to be fired: dragEvents as the mouse is dragged, keyEvents when a key is pressed. (The key is the "keyChar" plane of the event) releaseEvents when the mouse is released. (false by default)

See Also:
BoxRenderer

Field Summary
 
Fields inherited from class org.das2.event.MouseModule
dragRenderer, parent
 
Constructor Summary
BoxSelectorMouseModule(DasCanvasComponent parent, DasAxis xAxis, DasAxis yAxis, DataSetConsumer consumer, DragRenderer dragRenderer, java.lang.String label)
           
 
Method Summary
 void addBoxSelectionListener(BoxSelectionListener listener)
          Registers BoxSelectionListener to receive events.
static BoxSelectorMouseModule create(DasPlot parent, java.lang.String label)
           
protected  void fireBoxSelectionListenerBoxSelected(BoxSelectionEvent event)
          Notifies all registered listeners about the event.
 boolean isDragEvents()
          Getter for property dragEvents.
 boolean isKeyEvents()
          Getter for property keyEvents.
 boolean isReleaseEvents()
          Getter for property releaseEvents.
 void keyPressed(java.awt.event.KeyEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseRangeSelected(MouseDragEvent e)
          Action to take when a mouse range (click, drag, release) has been selected.
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void removeBoxSelectionListener(BoxSelectionListener listener)
          Removes BoxSelectionListener from the list of listeners.
 void setDragEvents(boolean dragEvents)
          Setter for property dragEvents.
 void setKeyEvents(boolean keyEvents)
          Setter for property keyEvents.
 void setReleaseEvents(boolean releaseEvents)
          Setter for property releaseEvents.
 void setTweakable(boolean b)
          allow the last selection to be tweaked.
 
Methods inherited from class org.das2.event.MouseModule
getCursor, getDragRenderer, getHotSpots, getLabel, getListIcon, getListLabel, hotSpotPressed, keyReleased, keyTyped, mouseClicked, mouseDragged, mouseEntered, mouseExited, mousePointSelected, mouseWheelMoved, setDragRenderer, setLabel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BoxSelectorMouseModule

public BoxSelectorMouseModule(DasCanvasComponent parent,
                              DasAxis xAxis,
                              DasAxis yAxis,
                              DataSetConsumer consumer,
                              DragRenderer dragRenderer,
                              java.lang.String label)
Method Detail

create

public static BoxSelectorMouseModule create(DasPlot parent,
                                            java.lang.String label)

setTweakable

public void setTweakable(boolean b)
allow the last selection to be tweaked. It's the client's responsibility to draw the current selection.

Parameters:
b -

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class MouseModule

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class MouseModule

mouseRangeSelected

public void mouseRangeSelected(MouseDragEvent e)
Description copied from class: MouseModule
Action to take when a mouse range (click, drag, release) has been selected.

Overrides:
mouseRangeSelected in class MouseModule

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener
Overrides:
keyPressed in class MouseModule

addBoxSelectionListener

public void addBoxSelectionListener(BoxSelectionListener listener)
Registers BoxSelectionListener to receive events.

Parameters:
listener - The listener to register.

removeBoxSelectionListener

public void removeBoxSelectionListener(BoxSelectionListener listener)
Removes BoxSelectionListener from the list of listeners.

Parameters:
listener - The listener to remove.

fireBoxSelectionListenerBoxSelected

protected void fireBoxSelectionListenerBoxSelected(BoxSelectionEvent event)
Notifies all registered listeners about the event.

Parameters:
event - The event to be fired

isDragEvents

public boolean isDragEvents()
Getter for property dragEvents.

Returns:
Value of property dragEvents.

setDragEvents

public void setDragEvents(boolean dragEvents)
Setter for property dragEvents.

Parameters:
dragEvents - New value of property dragEvents.

isKeyEvents

public boolean isKeyEvents()
Getter for property keyEvents.

Returns:
Value of property keyEvents.

setKeyEvents

public void setKeyEvents(boolean keyEvents)
Setter for property keyEvents.

Parameters:
keyEvents - New value of property keyEvents.

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class MouseModule

isReleaseEvents

public boolean isReleaseEvents()
Getter for property releaseEvents.

Returns:
Value of property releaseEvents.

setReleaseEvents

public void setReleaseEvents(boolean releaseEvents)
Setter for property releaseEvents.

Parameters:
releaseEvents - New value of property releaseEvents.