// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.actions; import static org.openstreetmap.josm.tools.I18n.tr; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.mapmode.MapMode; import org.openstreetmap.josm.gui.layer.Layer; import org.openstreetmap.josm.tools.ImageProvider; /** * Lasso selection mode: select objects within a hand-drawn region. * @since 5152 */ public class LassoModeAction extends MapMode { /** * Constructs a new {@code LassoModeAction}. */ public LassoModeAction() { super(tr("Lasso Mode"), /* ICON(mapmode/) */ "rope", tr("Lasso selection mode: select objects within a hand-drawn region"), ImageProvider.getCursor("normal", "rope")); } @Override public void enterMode() { if (Main.isDisplayingMapView()) { Main.map.mapModeSelect.setLassoMode(true); Main.map.mapModeSelect.enterMode(); } super.enterMode(); } @Override public void exitMode() { if (Main.isDisplayingMapView()) { Main.map.mapModeSelect.setLassoMode(false); Main.map.mapModeSelect.exitMode(); } super.exitMode(); } @Override public boolean layerIsSupported(Layer l) { return Main.map.mapModeSelect.layerIsSupported(l); } }