Ignore:
Timestamp:
2005-10-27T00:38:03+02:00 (20 years ago)
Author:
imi
Message:
  • added commands to support undo later
  • added Edit-Layer concept
  • painting of deleted objects
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/command/CombineCommand.java

    r22 r23  
    4646        public void executeCommand() {
    4747                if (del instanceof LineSegment) {
    48                         LineSegment ls = (LineSegment)mod;
    49                         Track t = (Track)del;
    50                         if (!Main.main.ds.pendingLineSegments().contains(ls))
     48                        LineSegment ls = (LineSegment)del;
     49                        Track t = (Track)mod;
     50                        if (!Main.main.ds.pendingLineSegments.contains(ls))
    5151                                throw new IllegalStateException("Should not be able to select non-pending line segments.");
    5252                       
    5353                        Main.main.ds.pendingLineSegments.remove(ls);
    54                         if (t.getStartingNode() != ls.getEnd())
     54                        if (t.getStartingNode() != ls.end)
    5555                                t.add(ls);
    5656                        else
    57                                 t.addStart(ls);
     57                                t.segments.add(0,ls);
    5858                } else {
    5959                        Track t1 = (Track)mod;
    6060                        Track t2 = (Track)del;
    61                         t1.addAll(t2.segments());
     61                        t1.segments.addAll(t2.segments);
    6262                        if (t1.keys == null)
    6363                                t1.keys = t2.keys;
    6464                        else   
    6565                                t1.keys.putAll(t2.keys);
    66                         t2.destroy();
    6766                        Main.main.ds.tracks.remove(t2);
    6867                }
     68                Main.main.ds.rebuildBackReferences();
    6969        }
    7070
     
    8282       
    8383        public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted, Collection<OsmPrimitive> added) {
    84                 if (!modified.contains(mod))
     84                if (modified != null && !modified.contains(mod))
    8585                        modified.add(mod);
    86                 if (deleted.contains(del))
     86                if (deleted != null && deleted.contains(del))
    8787                        throw new IllegalStateException("Deleted object twice: "+del);
    8888                deleted.add(del);
Note: See TracChangeset for help on using the changeset viewer.