I'm trying to implement this for an instance of ComboBox specifically, which uses a List to display the dropdown menu full of items. Lists can have icons associated with them, as described in the documentation:
var comboBox = addChild(new ComboBox());
comboBox.dataProvider = new DataProvider([{label:'item1',iconClass:IconClass1},{label:'item2',iconClass:IconClass2}]);
comboBox.dropdown.iconField = 'iconClass';
... assuming IconClass1 and IconClass2 are valid classnames of symbols in our library, this code works perfectly.
Here's my question - the contents of this ComboBox will be XML-driven, populated dynamically, and I'd really rather include that icon reference as a filename instead of a classname, so that when the whole thing is implemented, the icon can be changed in the XML without opening Flash and adding a new symbol to the library. Clients aren't generally good at that sort of thing.
Ideally, I'd like to be able to find a way to reference the container for the instance of that icon class - the ComboBox.dropdown is obviously keeping a reference to each list item somewhere, and if I can find it, I can load the icon images dynamically, then addChild them to the icon instance. See what I'm saying?
Is this possible? Is there another trickier way to accomplish this?