Checkbox on XML List
Are there anyway that I can add a checkbox on a component that supports “dataProvider” and HTML tags?
Here’s what I have so far:
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 + "
" + itemDesc;
}
txtFldPassage.addEventListener(Event.CHANGE, selectProduct);