public function EntityUI(entity:Entity, paint:MapPaint) {
this.entity=entity;
this.paint=paint;
- entity.addEventListener(Connection.TAG_CHANGED, tagChanged);
- entity.addEventListener(Connection.ADDED_TO_RELATION, relationAdded);
- entity.addEventListener(Connection.REMOVED_FROM_RELATION, relationRemoved);
- entity.addEventListener(Connection.SUSPEND_REDRAW, suspendRedraw);
- entity.addEventListener(Connection.RESUME_REDRAW, resumeRedraw);
- listenSprite.addEventListener(MouseEvent.CLICK, mouseEvent);
- listenSprite.addEventListener(MouseEvent.DOUBLE_CLICK, mouseEvent);
- listenSprite.addEventListener(MouseEvent.ROLL_OVER, mouseEvent);
- listenSprite.addEventListener(MouseEvent.MOUSE_OUT, mouseEvent);
- listenSprite.addEventListener(MouseEvent.MOUSE_DOWN, mouseEvent);
- listenSprite.addEventListener(MouseEvent.MOUSE_UP, mouseEvent);
- listenSprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseEvent);
+ entity.addEventListener(Connection.TAG_CHANGED, tagChanged, false, 0, true);
+ entity.addEventListener(Connection.ADDED_TO_RELATION, relationAdded, false, 0, true);
+ entity.addEventListener(Connection.REMOVED_FROM_RELATION, relationRemoved, false, 0, true);
+ entity.addEventListener(Connection.SUSPEND_REDRAW, suspendRedraw, false, 0, true);
+ entity.addEventListener(Connection.RESUME_REDRAW, resumeRedraw, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.CLICK, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.DOUBLE_CLICK, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.ROLL_OVER, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.MOUSE_OUT, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.MOUSE_DOWN, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.MOUSE_UP, mouseEvent, false, 0, true);
+ listenSprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseEvent, false, 0, true);
}
/** Remove the default event listeners. */
protected function attachRelationListeners():void {
var relations:Array = entity.parentRelations;
for each(var relation:Relation in relations ) {
- relation.addEventListener(Connection.TAG_CHANGED, relationTagChanged);
+ relation.addEventListener(Connection.TAG_CHANGED, relationTagChanged, false, 0, true);
+ }
+ }
+
+ protected function removeRelationListeners():void {
+ var relations:Array = entity.parentRelations;
+ for each(var relation:Relation in relations) {
+ relation.removeEventListener(Connection.TAG_CHANGED, relationTagChanged);
}
}
protected function relationAdded(event:RelationMemberEvent):void {
- event.relation.addEventListener(Connection.TAG_CHANGED, relationTagChanged);
+ event.relation.addEventListener(Connection.TAG_CHANGED, relationTagChanged, false, 0, true);
invalidateStyleList();
redraw();
}
/** Remove a node's UI object. */
public function deleteNodeUI(node:Node):void {
- if (!nodeuis[node.id]) { return; }
node.removeEventListener(Connection.NODE_DELETED, nodeDeleted);
+ if (!nodeuis[node.id]) { return; }
nodeuis[node.id].removeSprites();
nodeuis[node.id].removeEventListeners();
delete nodeuis[node.id];
/** Remove a marker's UI object. */
public function deleteMarkerUI(marker:Marker):void {
- if (!markeruis[marker.id]) { return; }
marker.removeEventListener(Connection.NODE_DELETED, markerDeleted);
+ if (!markeruis[marker.id]) { return; }
markeruis[marker.id].removeSprites();
markeruis[marker.id].removeEventListeners();
delete markeruis[marker.id];
if (stateClasses[state]) { this.stateClasses[state]=stateClasses[state]; }
}
}
- entity.addEventListener(Connection.NODE_MOVED, markerMoved);
- entity.addEventListener(Connection.NODE_ALTERED, markerAltered);
+ entity.addEventListener(Connection.NODE_MOVED, markerMoved, false, 0, true);
+ entity.addEventListener(Connection.NODE_ALTERED, markerAltered, false, 0, true);
attachRelationListeners();
redraw();
}
// 'load' icon (actually just from library)
var loader:ExtendedLoader = new ExtendedLoader();
loader.info['sublayer']=sublayer;
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedIcon);
+ loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedIcon, false, 0, true);
loader.loadBytes(paint.ruleset.images[s.icon_image]);
iconnames[sublayer]=s.icon_image;
}
if (stateClasses[state]) { this.stateClasses[state]=stateClasses[state]; }
}
}
- entity.addEventListener(Connection.NODE_MOVED, nodeMoved);
- entity.addEventListener(Connection.NODE_ALTERED, nodeAltered);
- entity.addEventListener(Connection.ENTITY_DRAGGED, nodeDragged);
+ entity.addEventListener(Connection.NODE_MOVED, nodeMoved, false, 0, true);
+ entity.addEventListener(Connection.NODE_ALTERED, nodeAltered, false, 0, true);
+ entity.addEventListener(Connection.ENTITY_DRAGGED, nodeDragged, false, 0, true);
attachRelationListeners();
redraw();
}
entity.removeEventListener(Connection.NODE_MOVED, nodeMoved);
entity.removeEventListener(Connection.NODE_ALTERED, nodeAltered);
entity.removeEventListener(Connection.ENTITY_DRAGGED, nodeDragged);
+ removeRelationListeners();
}
/** Respond to movement event. */
// 'load' icon (actually just from library)
var loader:ExtendedLoader = new ExtendedLoader();
loader.info['sublayer']=sublayer;
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedIcon);
+ loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedIcon, false, 0, true);
loader.loadBytes(paint.ruleset.images[s.icon_image]);
iconnames[sublayer]=s.icon_image;
}
public function WayUI(way:Way, paint:MapPaint) {
super(way,paint);
- entity.addEventListener(Connection.WAY_NODE_ADDED, wayNodeAdded);
- entity.addEventListener(Connection.WAY_NODE_REMOVED, wayNodeRemoved);
- entity.addEventListener(Connection.WAY_REORDERED, wayReordered);
- entity.addEventListener(Connection.ENTITY_DRAGGED, wayDragged);
+ entity.addEventListener(Connection.WAY_NODE_ADDED, wayNodeAdded, false, 0, true);
+ entity.addEventListener(Connection.WAY_NODE_REMOVED, wayNodeRemoved, false, 0, true);
+ entity.addEventListener(Connection.WAY_REORDERED, wayReordered, false, 0, true);
+ entity.addEventListener(Connection.ENTITY_DRAGGED, wayDragged, false, 0, true);
attachNodeListeners();
attachRelationListeners();
recalculate();
entity.removeEventListener(Connection.WAY_NODE_REMOVED, wayNodeRemoved);
entity.removeEventListener(Connection.WAY_REORDERED, wayReordered);
entity.removeEventListener(Connection.ENTITY_DRAGGED, wayDragged);
- for (var i:uint = 0; i < Way(entity).length; i++ ) {
- Way(entity).getNode(i).removeEventListener(Connection.NODE_MOVED, nodeMoved);
- }
+ removeNodeListeners();
+ removeRelationListeners();
}
private function attachNodeListeners():void {
var way:Way=entity as Way;
for (var i:uint = 0; i < way.length; i++ ) {
- way.getNode(i).addEventListener(Connection.NODE_MOVED, nodeMoved);
+ way.getNode(i).addEventListener(Connection.NODE_MOVED, nodeMoved, false, 0, true);
+ }
+ }
+
+ private function removeNodeListeners():void {
+ var way:Way=entity as Way;
+ for (var i:uint = 0; i < way.length; i++ ) {
+ way.getNode(i).removeEventListener(Connection.NODE_MOVED, nodeMoved);
}
}
private function wayNodeAdded(event:WayNodeEvent):void {
- event.node.addEventListener(Connection.NODE_MOVED, nodeMoved);
+ event.node.addEventListener(Connection.NODE_MOVED, nodeMoved, false, 0, true);
recalculate();
redraw();
redrawMultis();
}
private function processEvent(e:Event):void {
+ removeEventListener("loaded_data", processEvent);
process();
}
var compiled:CompiledExpression=parser.parse();
var swfdata:ByteArray=compiled.compile();
- this.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
+ this.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded, false, 0, true);
this.loadBytes(swfdata, new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain)));
}
private function saveEval(expr:String):Eval {
evalsToLoad++;
var e:Eval=new Eval(expr);
- e.addEventListener("swf_loaded",evalLoaded);
+ e.addEventListener("swf_loaded",evalLoaded, false, 0, true);
evals.push(e);
return e;
}
lastClick=way.getNode(0);
lastClickTime=new Date();
}
- way.addEventListener(Connection.WAY_NODE_REMOVED, fixElastic);
- way.addEventListener(Connection.WAY_NODE_ADDED, fixElastic);
}
override public function processMouseEvent(event:MouseEvent, entity:Entity):ControllerState {
override public function enterState():void {
super.enterState();
+ Way(firstSelected).addEventListener(Connection.WAY_NODE_REMOVED, fixElastic);
+ Way(firstSelected).addEventListener(Connection.WAY_NODE_ADDED, fixElastic);
+
var node:Node = Way(firstSelected).getNode(editEnd ? Way(firstSelected).length-1 : 0);
var start:Point = new Point(node.lon, node.latp);
elastic = new Elastic(controller.map, start, start);
Globals.vars.root.addDebug("**** -> "+this);
}
override public function exitState(newState:ControllerState):void {
+ Way(firstSelected).removeEventListener(Connection.WAY_NODE_REMOVED, fixElastic);
+ Way(firstSelected).removeEventListener(Connection.WAY_NODE_ADDED, fixElastic);
+
super.exitState(newState);
controller.setCursor(null);
elastic.removeSprites();
public function set entity(entity:Entity):void {
_entity = entity;
- entity.addEventListener(Connection.ADDED_TO_RELATION, relationsChanged);
- entity.addEventListener(Connection.REMOVED_FROM_RELATION, relationsChanged);
+ entity.addEventListener(Connection.ADDED_TO_RELATION, relationsChanged, false, 0, true);
+ entity.addEventListener(Connection.REMOVED_FROM_RELATION, relationsChanged, false, 0, true);
dispatchEvent(new Event("relations_changed"));
}
var icon:RouteIcon = new RouteIcon();
icon.setRoute(relation, RouteEditorFactory(_factory).icon);
- icon.addEventListener(MouseEvent.CLICK, routeClicked);
+ icon.addEventListener(MouseEvent.CLICK, routeClicked, false, 0, true);
routeIcons.addChild(icon);
}
}