|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openstreetmap.josm.gui.SelectionManager
public class SelectionManager
Manages the selection of a rectangle. Listening to left and right mouse button presses and to mouse motions and draw the rectangle accordingly. Left mouse button selects a rectangle from the press until release. Pressing right mouse button while left is still pressed enable the rectangle to move around. Releasing the left button fires an action event to the listener given at constructor, except if the right is still pressed, which just remove the selection rectangle and does nothing. The point where the left mouse button was pressed and the current mouse position are two opposite corners of the selection rectangle. It is possible to specify an aspect ratio (width per height) which the selection rectangle always must have. In this case, the selection rectangle will be the largest window with this aspect ratio, where the position the left mouse button was pressed and the corner of the current mouse position are at opposite sites (the mouse position corner is the corner nearest to the mouse cursor). When the left mouse button was released, an ActionEvent is send to the ActionListener given at constructor. The source of this event is this manager.
Nested Class Summary | |
---|---|
static interface |
SelectionManager.SelectionEnded
This is the interface that an user of SelectionManager has to implement to get informed when a selection closes. |
Constructor Summary | |
---|---|
SelectionManager(SelectionManager.SelectionEnded selectionEndedListener,
boolean aspectRatio,
NavigatableComponent navComp)
Create a new SelectionManager. |
Method Summary | |
---|---|
java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> |
getObjectsInRectangle(java.awt.Rectangle r,
boolean alt)
Return a list of all objects in the rectangle, respecting the different modifier. |
void |
mouseClicked(java.awt.event.MouseEvent e)
|
void |
mouseDragged(java.awt.event.MouseEvent e)
If the correct button is hold, draw the rectangle. |
void |
mouseEntered(java.awt.event.MouseEvent e)
|
void |
mouseExited(java.awt.event.MouseEvent e)
|
void |
mouseMoved(java.awt.event.MouseEvent e)
|
void |
mousePressed(java.awt.event.MouseEvent e)
If the correct button, from the "drawing rectangle" mode |
void |
mouseReleased(java.awt.event.MouseEvent e)
Check the state of the keys and buttons and set the selection accordingly. |
void |
propertyChange(java.beans.PropertyChangeEvent evt)
If the action goes inactive, remove the selection rectangle from screen |
void |
register(NavigatableComponent eventSource)
Register itself at the given event source. |
void |
unregister(java.awt.Component eventSource)
Unregister itself from the given event source. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SelectionManager(SelectionManager.SelectionEnded selectionEndedListener, boolean aspectRatio, NavigatableComponent navComp)
selectionEndedListener
- The action listener that receives the event when
the left button is released.aspectRatio
- If true, the selection window must obtain the aspect
ratio of the drawComponent.navComp
- The component, the rectangle is drawn onto.Method Detail |
---|
public void register(NavigatableComponent eventSource)
eventSource
- The emitter of the mouse events.public void unregister(java.awt.Component eventSource)
eventSource
- The emitter of the mouse events.public void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
public void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged
in interface java.awt.event.MouseMotionListener
public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange
in interface java.beans.PropertyChangeListener
public java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> getObjectsInRectangle(java.awt.Rectangle r, boolean alt)
alt
- Whether the alt key was pressed, which means select all objects
that are touched, instead those which are completly covered.public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
public void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |