[josm-dev] [PATCH 26/26] Last bits...
Dave Hansen
dave at sr71.net
Tue Apr 29 03:03:09 BST 2008
Some last bits I haven't even gotten to documenting, yet...
---
core-dave/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java | 6 +++---
core-dave/src/org/openstreetmap/josm/actions/ReverseWayAction.java | 8 +++-----
core-dave/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java | 6 ++++++
3 files changed, 12 insertions(+), 8 deletions(-)
diff -puN src/org/openstreetmap/josm/actions/JoinNodeWayAction.java~rest src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
--- core/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java~rest 2008-04-28 18:59:30.000000000 -0700
+++ core-dave/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java 2008-04-28 18:59:30.000000000 -0700
@@ -15,6 +15,7 @@ import java.util.List;
import java.util.Map;
import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.command.AddNodeToWayCommand;
import org.openstreetmap.josm.command.ChangeCommand;
import org.openstreetmap.josm.command.Command;
import org.openstreetmap.josm.command.SequenceCommand;
@@ -55,11 +56,10 @@ public class JoinNodeWayAction extends J
Collection<Command> cmds = new LinkedList<Command>();
for (Map.Entry<Way, List<Integer>> insertPoint : insertPoints.entrySet()) {
Way w = insertPoint.getKey();
- Way wnew = new Way(w);
List<Integer> is = insertPoint.getValue();
pruneSuccsAndReverse(is);
- for (int i : is) wnew.nodes.add(i+1, node);
- cmds.add(new ChangeCommand(w, wnew));
+ for (int i : is)
+ cmds.add(new AddNodeToWayCommand(w, node, i+1));
}
Main.main.undoRedo.add(new SequenceCommand(tr("Join Node and Line"), cmds));
diff -puN src/org/openstreetmap/josm/actions/ReverseWayAction.java~rest src/org/openstreetmap/josm/actions/ReverseWayAction.java
--- core/src/org/openstreetmap/josm/actions/ReverseWayAction.java~rest 2008-04-28 18:59:30.000000000 -0700
+++ core-dave/src/org/openstreetmap/josm/actions/ReverseWayAction.java 2008-04-28 18:59:30.000000000 -0700
@@ -14,6 +14,7 @@ import javax.swing.JOptionPane;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.command.ChangeCommand;
import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.ReverseWayCommand;
import org.openstreetmap.josm.command.SequenceCommand;
import org.openstreetmap.josm.data.osm.Relation;
import org.openstreetmap.josm.data.osm.Node;
@@ -47,11 +48,8 @@ public final class ReverseWayAction exte
return;
}
Collection<Command> c = new LinkedList<Command>();
- for (Way w : sel) {
- Way wnew = new Way(w);
- Collections.reverse(wnew.nodes);
- c.add(new ChangeCommand(w, wnew));
- }
+ for (Way w : sel)
+ c.add(new ReverseWayCommand(w));
Main.main.undoRedo.add(new SequenceCommand(tr("Reverse ways"), c));
Main.map.repaint();
}
diff -puN src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java~rest src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
--- core/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java~rest 2008-04-28 18:59:30.000000000 -0700
+++ core-dave/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java 2008-04-28 18:59:30.000000000 -0700
@@ -189,6 +189,11 @@ public class OsmDataLayer extends Layer
}
@Override public void mergeFrom(final Layer from) {
+ // Since the ReverseLookup is layer-private, it gets really
+ // hard to keep it consistent here since things are goign
+ // between layers, so just disabled it.
+ data.rl.disable();
+ ((OsmDataLayer)from).data.rl.disable();
final MergeVisitor visitor = new MergeVisitor(data,((OsmDataLayer)from).data);
for (final OsmPrimitive osm : ((OsmDataLayer)from).data.allPrimitives())
osm.visit(visitor);
@@ -206,6 +211,7 @@ public class OsmDataLayer extends Layer
JOptionPane.showMessageDialog(Main.parent,tr("There were conflicts during import."));
if (!dlg.isVisible())
dlg.action.actionPerformed(new ActionEvent(this, 0, ""));
+ data.rl.enable();
}
@Override public boolean isMergable(final Layer other) {
_
More information about the josm-dev
mailing list