public class ParallelWayAction extends MapMode implements ModifierListener, MapViewPaintable, Preferences.PreferenceChangedListener
Modifier and Type | Class and Description |
---|---|
private static class |
ParallelWayAction.Mode |
JosmAction.LayerChangeAdapter, JosmAction.SelectionChangeAdapter
sc
changeSupport, enabled
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
Constructor and Description |
---|
ParallelWayAction(MapFrame mapFrame)
Constructs a new
ParallelWayAction . |
Modifier and Type | Method and Description |
---|---|
private void |
addSourceWay(Way w) |
private void |
clearSourceWays() |
void |
destroy()
Called when the object has been destroyed.
|
void |
enterMode()
Makes this map mode active.
|
void |
exitMode()
Makes this map mode inactive.
|
String |
getModeHelpText() |
private static String |
getStringPref(String subKey,
String def) |
private boolean |
initParallelWays(Point p,
boolean copyTags) |
private boolean |
isModifiersValidForDragMode() |
boolean |
layerIsSupported(Layer layer)
Determines if layer
l is supported by this map mode. |
private boolean |
matchesCurrentModifiers(ModifiersSpec spec) |
void |
modifiersChanged(int modifiers) |
void |
mouseDragged(MouseEvent e) |
void |
mousePressed(MouseEvent e) |
void |
mouseReleased(MouseEvent e) |
void |
paint(Graphics2D g,
MapView mv,
Bounds bbox)
Paint the dataset using the engine set.
|
void |
preferenceChanged(Preferences.PreferenceChangeEvent e)
Trigerred when a preference entry value changes.
|
private static String |
prefKey(String subKey) |
private void |
removeSourceWay(Way w) |
private static void |
removeWayHighlighting(Collection<Way> ways) |
private void |
resetMouseTrackingState() |
private boolean |
sanityCheck() |
private void |
setMode(ParallelWayAction.Mode mode) |
private void |
updateAllPreferences() |
private void |
updateCursor() |
private void |
updateFlagsChangeableAlways() |
private void |
updateFlagsOnlyChangeableOnPress() |
private void |
updateModeLocalPreferences() |
private boolean |
updateModifiersState(int modifiers) |
actionPerformed, mouseClicked, mouseEntered, mouseExited, mouseMoved, requestFocusInMapView, updateKeyModifiers, updateKeyModifiers, updateKeyModifiers, updateStatusLine
getCurrentDataSet, getEditLayer, getShortcut, initEnabledState, installAdapters, setTooltip, updateEnabledState, updateEnabledState
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
private ParallelWayAction.Mode mode
private boolean copyTags
private boolean copyTagsDefault
private boolean snap
private boolean snapDefault
private double snapThreshold
private double snapDistanceMetric
private double snapDistanceImperial
private double snapDistanceChinese
private double snapDistanceNautical
private transient ModifiersSpec snapModifierCombo
private transient ModifiersSpec copyTagsModifierCombo
private transient ModifiersSpec addToSelectionModifierCombo
private transient ModifiersSpec toggleSelectedModifierCombo
private transient ModifiersSpec setSelectedModifierCombo
private int initialMoveDelay
private Point mousePressedPos
private boolean mouseIsDown
private long mousePressedTime
private boolean mouseHasBeenDragged
private transient WaySegment referenceSegment
private transient ParallelWays pWays
private transient Set<Way> sourceWays
private EastNorth helperLineStart
private EastNorth helperLineEnd
private transient Stroke helpLineStroke
private transient Stroke refLineStroke
public ParallelWayAction(MapFrame mapFrame)
ParallelWayAction
.mapFrame
- Map framepublic void enterMode()
MapMode
public void exitMode()
MapMode
public String getModeHelpText()
getModeHelpText
in class MapMode
private void updateAllPreferences()
private void updateModeLocalPreferences()
public boolean layerIsSupported(Layer layer)
MapMode
l
is supported by this map mode.
By default, all tools will work with all layers.
Can be overwritten to require a special type of layerlayerIsSupported
in class MapMode
layer
- layertrue
if the layer is supported by this map modepublic void modifiersChanged(int modifiers)
modifiersChanged
in interface ModifierListener
private boolean updateModifiersState(int modifiers)
private void updateCursor()
private void setMode(ParallelWayAction.Mode mode)
private boolean sanityCheck()
public void mousePressed(MouseEvent e)
mousePressed
in interface MouseListener
mousePressed
in class MapMode
public void mouseReleased(MouseEvent e)
mouseReleased
in interface MouseListener
mouseReleased
in class MapMode
private static void removeWayHighlighting(Collection<Way> ways)
public void mouseDragged(MouseEvent e)
mouseDragged
in interface MouseMotionListener
mouseDragged
in class MapMode
private boolean matchesCurrentModifiers(ModifiersSpec spec)
public void paint(Graphics2D g, MapView mv, Bounds bbox)
MapViewPaintable
paint
in interface MapViewPaintable
g
- Graphicsmv
- The object that can translate GeoPoints to screen coordinates.bbox
- Bounding boxprivate boolean isModifiersValidForDragMode()
private void updateFlagsOnlyChangeableOnPress()
private void updateFlagsChangeableAlways()
private void addSourceWay(Way w)
private void removeSourceWay(Way w)
private void clearSourceWays()
private void resetMouseTrackingState()
private boolean initParallelWays(Point p, boolean copyTags)
private static String getStringPref(String subKey, String def)
public void preferenceChanged(Preferences.PreferenceChangeEvent e)
Preferences.PreferenceChangedListener
preferenceChanged
in interface Preferences.PreferenceChangedListener
e
- the preference change eventpublic void destroy()
Destroyable
destroy
in interface Destroyable
destroy
in class JosmAction