// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.actions; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.tools.Shortcut; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import static org.openstreetmap.josm.tools.I18n.tr; /** * This allows to select a sequence of non-branching connected ways. * * @author Marko Mäkelä */ public class SelectNonBranchingWaySequencesAction extends JosmAction { /** * Creates a new {@link SelectNonBranchingWaySequencesAction} * */ public SelectNonBranchingWaySequencesAction() { super(tr("Non-branching way sequences"), "way-select", tr("Select non-branching sequences of ways"), Shortcut.registerShortcut("wayselector:wayselect", tr("Non-branching way sequences"), KeyEvent.VK_W, Shortcut.SHIFT), true); } @Override public void actionPerformed(ActionEvent ev) { DataSet ds = Main.main.getCurrentDataSet(); SelectNonBranchingWaySequences ws = new SelectNonBranchingWaySequences(ds.getSelectedWays()); ws.extend(ds); } /** * Update the enabled state of the action when something in * the JOSM state changes, i.e. when a layer is removed or * added. */ @Override protected void updateEnabledState() { setEnabled(Main.main.getCurrentDataSet() != null); } }