- to enable multiple Maps to be shown on-screen (e.g. for junction editor)
- to bring Connection and VectorLayer code together
-Current known problems:
-- AttentionEvents don't work
-
To check:
- MapDust
- VectorLayers from GPX
-Potlatch 2: main outstanding issues
------------------------------------
+= Potlatch 2: main outstanding issues =
== Core geometry ==
** Keypress detection is very erratic, depending on focus - need to work out where events are going (Application.application?) and sense them there
* Failing to parse map_features should be an error state
+* Quadrilateralise should throw an AttentionEvent if it's too sharp to straighten
* Escape should rewind the entity to how it was before the current ControllerState. (Record a position in the undo stack when exiting a ControllerState, and escape would rewind to that)
* Custom imagery dialog fixes
* Ctrl-clicking two areas (one inside the other) should create a multipolygon
/** Controller for the main map editing window itself. The logic that responds to mouse and keyboard events is all
* buried in various ControllerState classes. */
- public class EditController implements MapController {
+ public class EditController extends EventDispatcher implements MapController {
private var _map:Map;
public var tagViewer:TagViewer;
for each (var conflict:String in conflictTags) conflictTags2.push(conflict);
if (conflictTags2.length>0)
msg += " *Warning* The following tags conflicted and need attention: " + conflictTags2;
- // >>>> somethingorother.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, msg));
+ controller.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, msg));
}
return controller.findStateForSelection(waylist);
// FIXME: ugh, just ugh.
msg += " *Warning* The following tags conflicted and need attention: " + MergeNodesAction.lastProblemTags;
}
- // somethingorother.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, msg));
+ controller.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, msg));
return new SelectedWayNode(n.parentWays[0], Way(n.parentWays[0]).indexOfNode(n));
}
functor.step();
var newScore:Number = functor.goodness;
if (newScore > score) {
- // somethingorother.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, "Corners too sharp to straighten"));
return false;
}
score = newScore;
theController = new EditController(theMap, tagViewer, toolbox);
theController.setActive();
+ theController.addEventListener(AttentionEvent.ATTENTION, onAttention);
+ theController.addEventListener(AttentionEvent.ALERT, onAlert);
// set the access token from saved cookie
var tokenObject:SharedObject = SharedObject.getLocal("access_token");