Changeset 668 in josm for trunk


Ignore:
Timestamp:
2008-06-28T01:05:49+02:00 (16 years ago)
Author:
framm
Message:
  • when a way is split, make both parts member of any relation the old way was part of. This is wrong for some relations but right for the frequently used route relation. Patch by Dirk Stoecker <openstreetmap@…>. References #701
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java

    r655 r668  
    2929import org.openstreetmap.josm.data.osm.OsmPrimitive;
    3030import org.openstreetmap.josm.data.osm.Relation;
     31import org.openstreetmap.josm.data.osm.RelationMember;
    3132import org.openstreetmap.josm.data.osm.Way;
    3233import org.openstreetmap.josm.data.osm.visitor.NameVisitor;
     
    243244                        Main.debug("wayToAdd: " + wayToAdd);
    244245                        newSelection.add(wayToAdd);
     246
     247                        // now copy all relations to new way also
     248                        for (Relation r : Main.ds.relations) {
     249                                if (r.deleted || r.incomplete) continue;
     250                                for (RelationMember rm : r.members) {
     251                                        if (rm.member instanceof Way) {
     252                                                if (rm.member == selectedWay)
     253                                                {
     254                                                        Relation c = new Relation(r);
     255                                                        RelationMember em = new RelationMember();
     256                                                        em.member = wayToAdd;
     257                                                        em.role = rm.role;
     258                                                        c.members.add(em);
     259                                                        commandList.add(new ChangeCommand(r, c));
     260                                                }
     261                                        }
     262                                }
     263                        }
    245264                }
    246265
Note: See TracChangeset for help on using the changeset viewer.