0 && savecount>0) { dataWorking.text="Loading/saving..."; } else if (loadcount>0) { dataWorking.text="Loading data..."; } else if (savecount>0) { dataWorking.text="Saving data..."; } else { dataWorking.text=""; } dataWorking.visible=(dataWorking.text!=""); } private function onImageryLoad(event:Event):void { var imagery:XML = new XML(URLLoader(event.target).data); BackgroundSelector(bgButton.popUp).populate(imagery); } private function dragEnterHandler(event:DragEvent):void { // Get the drop target component from the event object. var dropTarget:Canvas=event.currentTarget as Canvas; // Accept the drag only if the user is dragging poi with tags if (event.dragSource.hasFormat('tags')) { DragManager.acceptDragDrop(dropTarget); } } private function dragDropHandler(event:DragEvent):void { // Get the data identified by the color format from the drag source. // Blame http://www.adobe.com/devnet/flex/quickstart/adding_drag_and_drop/#manual // for whatever horrid abuse of "color format" this is doing var tags:Array = event.dragSource.dataForFormat('tags') as Array; var mapLoc:Point = Globals.vars.root.globalToLocal(new Point(event.stageX, event.stageY)); var lat:Number = Globals.vars.root.coord2lat(mapLoc.y); var lon:Number = Globals.vars.root.coord2lon(mapLoc.x); var createAction:CompositeUndoableAction = new CompositeUndoableAction("Create POI"); var node:Node = Connection.getConnectionInstance().createNode({}, lat, lon, createAction.push); for each ( var tag:Object in tags ) { node.setTag(tag.k, tag.v, createAction.push); } Connection.getConnectionInstance().registerPOI(node); MainUndoStack.getGlobalStack().addAction(createAction); theController.setState(new SelectedPOINode(node)); } ]]>