1 package net.systemeD.halcyon.connection.actions {
3 import net.systemeD.halcyon.connection.*;
4 import net.systemeD.halcyon.Map;
6 public class MoveWayAction extends CompositeUndoableAction {
9 private var downX:Number;
10 private var downY:Number;
15 public function MoveWayAction(way:Way, downX:Number, downY:Number, x:Number, y:Number, map:Map) {
16 super("Drag way "+way.id);
25 public override function doAction():uint {
26 var lonDelta:Number = map.coord2lon(downX)-map.coord2lon(x);
27 var latDelta:Number = map.coord2lat(downY)-map.coord2lat(y);
28 var moved:Object = {};
30 way.dispatchEvent(new WayDraggedEvent(Connection.WAY_DRAGGED, way, 0, 0));
31 for (var i:uint=0; i<way.length; i++) {
32 var n:Node=way.getNode(i);
34 n.setLatLon(n.lat-latDelta, n.lon-lonDelta, push);
43 public override function undoAction():uint {