Changeset 12726 in josm for trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
- Timestamp:
- 2017-09-04T23:45:49+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
r12689 r12726 40 40 import org.openstreetmap.josm.data.coor.EastNorth; 41 41 import org.openstreetmap.josm.data.osm.DataIntegrityProblemException; 42 import org.openstreetmap.josm.data.osm.DataSet; 42 43 import org.openstreetmap.josm.data.osm.Node; 43 44 import org.openstreetmap.josm.data.osm.OsmPrimitive; … … 592 593 Way wnew = new Way(ws.way); 593 594 wnew.addNode(ws.lowerIndex+1, n); 594 SequenceCommand cmds = new SequenceCommand(tr("Add a new node to an existing way"),595 new AddCommand(n), new ChangeCommand(ws.way, wnew));596 MainApplication.undoRedo.add(cmds);595 DataSet ds = ws.way.getDataSet(); 596 MainApplication.undoRedo.add(new SequenceCommand(tr("Add a new node to an existing way"), 597 new AddCommand(ds, n), new ChangeCommand(ds, ws.way, wnew))); 597 598 } 598 599 } … … 603 604 private void createNewRectangle() { 604 605 if (selectedSegment == null) return; 605 // crete a new rectangle 606 DataSet ds = getLayerManager().getEditDataSet(); 607 // create a new rectangle 606 608 Collection<Command> cmds = new LinkedList<>(); 607 609 Node third = new Node(newN2en); … … 618 620 wnew.addNode(selectedSegment.getFirstNode()); 619 621 // undo support 620 cmds.add(new AddCommand( third));622 cmds.add(new AddCommand(ds, third)); 621 623 if (!dualAlignSegmentCollapsed) { 622 cmds.add(new AddCommand( fourth));623 } 624 cmds.add(new AddCommand( wnew));624 cmds.add(new AddCommand(ds, fourth)); 625 } 626 cmds.add(new AddCommand(ds, wnew)); 625 627 Command c = new SequenceCommand(tr("Extrude Way"), cmds); 626 628 MainApplication.undoRedo.add(c); 627 getLayerManager().getEditDataSet().setSelected(wnew);629 ds.setSelected(wnew); 628 630 } 629 631 … … 634 636 */ 635 637 private void performExtrusion() { 638 DataSet ds = getLayerManager().getEditDataSet(); 636 639 // create extrusion 637 640 Collection<Command> cmds = new LinkedList<>(); … … 661 664 wnew.removeNode(n1Old); 662 665 wayWasModified = true; 663 cmds.add(new AddCommand( n1New));666 cmds.add(new AddCommand(ds, n1New)); 664 667 changedNodes.add(n1New); 665 668 } else { … … 669 672 wayWasModified = true; 670 673 insertionPoint++; 671 cmds.add(new AddCommand( n1New));674 cmds.add(new AddCommand(ds, n1New)); 672 675 changedNodes.add(n1New); 673 676 } … … 691 694 wnew.removeNode(n2Old); 692 695 wayWasModified = true; 693 cmds.add(new AddCommand( n2New));696 cmds.add(new AddCommand(ds, n2New)); 694 697 changedNodes.add(n2New); 695 698 } else { … … 698 701 wnew.addNode(insertionPoint, n2New); 699 702 wayWasModified = true; 700 cmds.add(new AddCommand( n2New));703 cmds.add(new AddCommand(ds, n2New)); 701 704 changedNodes.add(n2New); 702 705 }
Note:
See TracChangeset
for help on using the changeset viewer.