Changeset 35173 in osm for applications/editors/josm/plugins
- Timestamp:
- 2019-10-05T16:55:30+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/selection/SelectWayNodesAction.java
r34932 r35173 7 7 import java.awt.event.ActionEvent; 8 8 import java.awt.event.KeyEvent; 9 import java.util.ArrayList;10 9 import java.util.Collection; 10 import java.util.HashSet; 11 import java.util.Set; 11 12 12 13 import org.openstreetmap.josm.actions.JosmAction; … … 20 21 */ 21 22 public class SelectWayNodesAction extends JosmAction { 22 23 private ArrayList<Node> selectedNodes;24 23 25 24 /** … … 36 35 * Called when the action is executed. 37 36 * 38 * This method does some checking on the selection and calls the matching selectWayNodes method.37 * This method does some checking on the selection. 39 38 */ 40 39 @Override 41 40 public void actionPerformed(ActionEvent e) { 42 Collection<OsmPrimitive> selection = getLayerManager().getEditDataSet().getSelected();41 Set<Node> selectedNodes = new HashSet<>(); 43 42 44 for (OsmPrimitive p : selection) {43 for (OsmPrimitive p : getLayerManager().getEditDataSet().getSelected()) { 45 44 if (p instanceof Way) { 46 45 Way w = (Way) p; 47 if (!w.isUsable() || w.getNodesCount() < 1) { 48 continue; 46 if (w.isUsable() && w.getNodesCount() > 1) { 47 for (Node n : w.getNodes()) { 48 if (!n.isDisabled()) { 49 selectedNodes.add(n); 50 } 51 } 49 52 } 50 selectWayNodes(w);51 53 } else if (p instanceof Node) { 52 Node n = (Node) p; 53 if (selectedNodes == null) { 54 selectedNodes = new ArrayList<>(); 55 } 56 selectedNodes.add(n); 54 selectedNodes.add((Node) p); 57 55 } 58 56 } 59 57 60 58 getLayerManager().getEditDataSet().setSelected(selectedNodes); 61 selectedNodes = null;62 }63 64 private void selectWayNodes(Way w) {65 66 for (Node n : w.getNodes()) {67 if (selectedNodes == null) {68 selectedNodes = new ArrayList<>();69 }70 if (!n.isDisabled()) selectedNodes.add(n);71 }72 59 } 73 60 … … 82 69 } 83 70 } 84
Note:
See TracChangeset
for help on using the changeset viewer.