Here's what I have so far:
Expand|Select|Wrap|Line Numbers
- import fl.data.DataProvider;
- import fl.managers.StyleManager;
- import fl.controls.List;
- import fl.controls.TileList;
- import fl.controls.TextArea;
- import fl.controls.ComboBox;
- var currentCategory:int;
- var currentItem:int;
- var tFormatHead:TextFormat = new TextFormat();
- tFormatHead.bold = true;
- tFormatHead.size = 12;
- tFormatHead.font = "Arial";
- // Choose Style Drop-Down
- var cbStyle:ComboBox = new ComboBox; // Combobox
- cbStyle.x = 755;
- cbStyle.y = 260;
- cbStyle.width = 100;
- addChild(cbStyle);
- // Choose Style
- var tfStyleTxt:TextField = new TextField();
- tfStyleTxt.x = 750;
- tfStyleTxt.y = 240;
- tfStyleTxt.autoSize = TextFieldAutoSize.LEFT;
- tfStyleTxt.text = "Choose Style";
- addChild(tfStyleTxt);
- tfStyleTxt.setTextFormat(tFormatHead);
- var txtFldPassage:List = new List(); // Text Area Description
- txtFldPassage.x = 30;
- txtFldPassage.y = 120;
- txtFldPassage.width = 700;
- txtFldPassage.height = 250;
- txtFldPassage.allowMultipleSelection = true;
- txtFldPassage.verticalLineScrollSize = 50;
- addChild(txtFldPassage);
- var txtFldFeedback:TextArea = new TextArea(); // Text Area feedback
- txtFldFeedback.x = 650;
- txtFldFeedback.y = 440;
- txtFldFeedback.width = 300;
- txtFldFeedback.height = 200;
- txtFldFeedback.editable = false;
- addChild(txtFldFeedback);
- var txtFldQuestions:TextArea = new TextArea(); // Text Area Questions
- txtFldQuestions.x = 30;
- txtFldQuestions.y = 440;
- txtFldQuestions.width = 600;
- txtFldQuestions.height = 200;
- txtFldQuestions.editable = false;
- addChild(txtFldQuestions);
- var catalogFormat:TextFormat = new TextFormat();
- catalogFormat.font = "Verdana, Arial, Helvetica";
- catalogFormat.size = 11;
- catalogFormat.bold = true;
- StyleManager.setStyle("textFormat", catalogFormat);
- var productsURL:URLRequest = new URLRequest("products.xml");
- var xmlLoader:URLLoader = new URLLoader(productsURL);
- xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
- var productsXML:XML = new XML();
- productsXML.ignoreWhitespace = true;
- function xmlLoaded(evt:Event):void {
- productsXML = XML(xmlLoader.data);
- trace(productsXML);
- var aCategory:Array = new Array();
- for (var category:String in productsXML.category) {
- var categoryName:String = productsXML.category[category].@name;
- aCategory.push(categoryName);
- }
- var dpCategory:DataProvider = new DataProvider(aCategory);
- cbStyle.dataProvider = dpCategory;
- }
- function selectCategory(evt:Event):void {
- currentCategory = evt.target.selectedIndex;
- var aImages:Array = new Array();
- for (var item:String in productsXML.category[currentCategory].item) {
- var itemLabel:String = productsXML.category[currentCategory].item[item].name;
- //var itemImage:String = "thumbs/"+productsXML.category[currentCategory].item[item].image+"_sm.jpg";
- //aImages.push({label:itemLabel,source:itemImage});
- aImages.push({label:itemLabel});
- }
- var dpImages:DataProvider = new DataProvider(aImages);
- txtFldPassage.dataProvider = dpImages;
- }
- cbStyle.addEventListener(Event.CHANGE, selectCategory);
- function selectProduct(evt:Event):void
- {
- currentItem = evt.target.selectedIndex;
- var itemLabel:String = productsXML.category[currentCategory].item[currentItem].name;
- var itemDesc:String = productsXML.category[currentCategory].item[currentItem].desc;
- var itemPrice:String = productsXML.category[currentCategory].item[currentItem].price;
- txtFldQuestions.text = "$"+itemPrice;
- txtFldFeedback.text = itemLabel + "\n" + itemDesc;
- }
- txtFldPassage.addEventListener(Event.CHANGE, selectProduct);