Changeset 3558 in josm


Ignore:
Timestamp:
2010-09-23T18:36:36+02:00 (14 years ago)
Author:
stoecker
Message:

fix #4744 - call relation editor instead of creating relation directly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java

    r3533 r3558  
    2525import java.util.EnumSet;
    2626import java.util.HashMap;
     27import java.util.HashSet;
    2728import java.util.LinkedHashMap;
    2829import java.util.LinkedList;
     
    5152import org.openstreetmap.josm.data.osm.OsmUtils;
    5253import org.openstreetmap.josm.data.osm.Relation;
     54import org.openstreetmap.josm.data.osm.RelationMember;
    5355import org.openstreetmap.josm.data.osm.Tag;
    5456import org.openstreetmap.josm.data.osm.Way;
     
    5658import org.openstreetmap.josm.gui.MapView;
    5759import org.openstreetmap.josm.gui.QuadStateCheckBox;
     60import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
    5861import org.openstreetmap.josm.gui.layer.Layer;
    5962import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     
    947950            List<Command> cmds = new ArrayList<Command>(2);
    948951            final Relation r = new Relation();
    949             cmds.add(new AddCommand(r));
    950             Command cmd = createCommand(Collections.<OsmPrimitive>singletonList(r), getChangedTags());
    951             if (cmd != null) {
    952                 cmds.add(cmd);
    953             }
    954             Main.main.undoRedo.add(new SequenceCommand(tr("Add relation"), cmds));
     952            final Collection<RelationMember> members = new HashSet<RelationMember>();
     953            for(Tag t : getChangedTags()) {
     954              r.put(t.getKey(), t.getValue());
     955            }
     956            for(OsmPrimitive osm : sel) {
     957              RelationMember rm = new RelationMember("", osm);
     958              r.addMember(rm);
     959              members.add(rm);
     960            }
    955961            SwingUtilities.invokeLater(new Runnable() {
    956962                @Override
    957963                public void run() {
    958                     // Relation list dialog has to be updated first for selectRelation to work
    959                     Main.map.relationListDialog.selectRelation(r);
     964                    RelationEditor.getEditor(Main.main.getEditLayer(), r, members).setVisible(true);
    960965                }
    961966            });
Note: See TracChangeset for help on using the changeset viewer.