Changeset 1169 in josm for trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java
- Timestamp:
- 2008-12-23T15:07:05+01:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java
r1084 r1169 28 28 public final class ReverseWayAction extends JosmAction { 29 29 30 public ReverseWayAction() {31 super(tr("Reverse ways"), "wayflip", tr("Reverse the direction of all selected ways."),32 Shortcut.registerShortcut("tools:reverse", tr("Tool: {0}", tr("Reverse ways")), KeyEvent.VK_R, Shortcut.GROUP_EDIT), true);33 }30 public ReverseWayAction() { 31 super(tr("Reverse ways"), "wayflip", tr("Reverse the direction of all selected ways."), 32 Shortcut.registerShortcut("tools:reverse", tr("Tool: {0}", tr("Reverse ways")), KeyEvent.VK_R, Shortcut.GROUP_EDIT), true); 33 } 34 34 35 public void actionPerformed(ActionEvent e) {36 final Collection<Way> sel = new LinkedList<Way>();37 new Visitor() {38 public void visit(Node n) {39 }35 public void actionPerformed(ActionEvent e) { 36 final Collection<Way> sel = new LinkedList<Way>(); 37 new Visitor() { 38 public void visit(Node n) { 39 } 40 40 41 public void visit(Way w) {42 sel.add(w);43 }41 public void visit(Way w) { 42 sel.add(w); 43 } 44 44 45 public void visit(Relation e) {46 }45 public void visit(Relation e) { 46 } 47 47 48 public void visitAll() {49 for (OsmPrimitive osm : Main.ds.getSelected())50 osm.visit(this);51 }52 }.visitAll();48 public void visitAll() { 49 for (OsmPrimitive osm : Main.ds.getSelected()) 50 osm.visit(this); 51 } 52 }.visitAll(); 53 53 54 if (sel.isEmpty()) {55 JOptionPane.showMessageDialog(Main.parent,56 tr("Please select at least one way."));57 return;58 }54 if (sel.isEmpty()) { 55 JOptionPane.showMessageDialog(Main.parent, 56 tr("Please select at least one way.")); 57 return; 58 } 59 59 60 boolean propertiesUpdated = false;61 ReverseWayTagCorrector reverseWayTagCorrector = new ReverseWayTagCorrector();62 Collection<Command> c = new LinkedList<Command>();63 for (Way w : sel) {64 Way wnew = new Way(w);65 Collections.reverse(wnew.nodes);66 if (Main.pref.getBoolean("tag-correction.reverse-way", true)) {67 try68 {69 final Collection<Command> changePropertyCommands = reverseWayTagCorrector.execute(wnew);70 propertiesUpdated = propertiesUpdated71 || (changePropertyCommands != null && !changePropertyCommands.isEmpty());72 c.addAll(changePropertyCommands);73 }74 catch(UserCancelException ex)75 {76 return;77 }78 }79 c.add(new ChangeCommand(w, wnew));80 }81 Main.main.undoRedo.add(new SequenceCommand(tr("Reverse ways"), c));82 if (propertiesUpdated)83 DataSet.fireSelectionChanged(Main.ds.getSelected());84 Main.map.repaint();85 }60 boolean propertiesUpdated = false; 61 ReverseWayTagCorrector reverseWayTagCorrector = new ReverseWayTagCorrector(); 62 Collection<Command> c = new LinkedList<Command>(); 63 for (Way w : sel) { 64 Way wnew = new Way(w); 65 Collections.reverse(wnew.nodes); 66 if (Main.pref.getBoolean("tag-correction.reverse-way", true)) { 67 try 68 { 69 final Collection<Command> changePropertyCommands = reverseWayTagCorrector.execute(wnew); 70 propertiesUpdated = propertiesUpdated 71 || (changePropertyCommands != null && !changePropertyCommands.isEmpty()); 72 c.addAll(changePropertyCommands); 73 } 74 catch(UserCancelException ex) 75 { 76 return; 77 } 78 } 79 c.add(new ChangeCommand(w, wnew)); 80 } 81 Main.main.undoRedo.add(new SequenceCommand(tr("Reverse ways"), c)); 82 if (propertiesUpdated) 83 DataSet.fireSelectionChanged(Main.ds.getSelected()); 84 Main.map.repaint(); 85 } 86 86 }
Note:
See TracChangeset
for help on using the changeset viewer.
