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));
}
]]>