package { import flash.display.*; import flash.events.Event; import flash.net.*; //import actionscript_graph_basic_ConceptGraphBasic.Character; //import actionscript_graph_basic_ConceptGraphBasic.CharacterHandler; import flash.events.MouseEvent; import flash.display.StageScaleMode; //import actionscript_graph_basic_ConceptGraphBasic.Relation; import flash.text.TextFieldAutoSize; import flash.text.TextField; import flash.geom.Matrix; public class actionscript_graph_basic_ConceptGraphBasic extends Sprite { private var container:Sprite=new Sprite(); public function actionscript_graph_basic_ConceptGraphBasic( ) { stage.scaleMode = StageScaleMode.NO_SCALE; //No Scale stage.align=StageAlign.TOP_LEFT; //Alignment TOP-LEFT stage.addChild(container); trace("Making XMLoader instance"); var loader:URLLoader = new URLLoader( ); loader.addEventListener( Event.COMPLETE, handleComplete ); //Handle event loader.load( new URLRequest( "actionscript-graph-basic-data.xml" ) ); //XML file trace("Out of XMLLoader constructor"); } private function handleComplete( event:Event ):void { //Handle XML file when loaded try { var arrayChars:Array = new Array(); //Here we store the data about the characters var arrayRelations:Array = new Array(); //Here we store the data about the relations among characters trace("Handling XMLoader"); var example:XML = new XML( event.target.data ); var num:Number=10 trace("Reading Character information"); for each (var dataCharacter:XML in example.Nodes.elements()) { var charData:Object = new Object(); charData.id=dataCharacter.@id; charData.name=dataCharacter.@name; charData.imageURL=dataCharacter.@imageURL; arrayChars.push(charData); //New charData added to the arrayFigures trace("Person stored as ID: " + charData.id + " Name: " + charData.name + " Hops: " + charData.hops + " imageURL: " + charData.imageURL ); } for each (var dataRelation:XML in example.Relations.elements()) { var relation:actionscript_graph_basic_Relation= new actionscript_graph_basic_Relation(dataRelation.@fromID, dataRelation.@toID); arrayRelations.push(relation); trace("Relation stored as fromID: " + relation.getFromID + " toID " + relation.getToID); } var handler:actionscript_graph_basic_CharacterHandler = new actionscript_graph_basic_CharacterHandler(arrayChars, arrayRelations); //Call CharacterHandler Class container.addChild(handler.getContainer()); //Display the CharacterHandler } catch ( e:TypeError ) { //If error trace( "Could not parse text into XML" ); trace( e.message ); } trace ("XMLoader handled!"); } } }