Checkbox on XML List

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