001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.actions; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import org.openstreetmap.josm.Main; 007import org.openstreetmap.josm.actions.mapmode.MapMode; 008import org.openstreetmap.josm.gui.layer.Layer; 009import org.openstreetmap.josm.tools.ImageProvider; 010 011public class LassoModeAction extends MapMode { 012 013 public LassoModeAction() { 014 super(tr("Lasso Mode"), 015 "rope", 016 tr("Lasso selection mode: select objects within a hand-drawn region"), 017 null, 018 ImageProvider.getCursor("normal", "rope")); 019 } 020 021 @Override 022 public void enterMode() { 023 if (Main.isDisplayingMapView()) { 024 Main.map.mapModeSelect.setLassoMode(true); 025 Main.map.mapModeSelect.enterMode(); 026 } 027 super.enterMode(); 028 } 029 030 @Override 031 public void exitMode() { 032 if (Main.isDisplayingMapView()) { 033 Main.map.mapModeSelect.setLassoMode(false); 034 Main.map.mapModeSelect.exitMode(); 035 } 036 super.exitMode(); 037 } 038 039 @Override 040 public boolean layerIsSupported(Layer l) { 041 return Main.map.mapModeSelect.layerIsSupported(l); 042 } 043}