I have a Dictionary of Image objects which is implemented as below

        public class IconMap
        {
                [Bindable]
                public var images:Dictionary = new Dictionary ();
                
                [Embed(source="/resources/app_extx_32.svg")]
                public static var SOFTWARE:Class;
                
                [Embed(source="/resources/computer.svg")]
                public static var COMPUTER:Class;

                [Embed(source="resources/docx_32.svg")]
                public static var DOCUMENT:Class;

                public function IconMap() 
                {
                    images["600"] = COMPUTER;
                    images["601"] = SOFTWARE;
                    images["602"] = DOCUMENT;
                }
        }

which are binded to an item renderer inside a list as 
<mx:Image x="2" y="7" source="{ModelLocator.getInstance
().iconMap.images[data.id]}".

but at run time if the client uploads some more images for the other 
signatures like 603,604,605 I get the signatures and the location at 
the server and to the client i get the location of the images and for 
each item i send a server request to load the image.

below is the xml i get in the first request and the code to load the 
images in the subsequent requests.

but it is not working as i can't convert loader.content which is an 
UI object to a class object to bind it to image. can any body please 
suggest a way or an alternative approach to make it work. I can't 
keep all the images at server because thay are svg images and can't 
be loaded at run time.

<Body>
  <ICON_MAP>
    <FAMILY_ID id="605">projx_32.jpg</FAMILY_ID>
    <FAMILY_ID id="400039">conx_32.jpg</FAMILY_ID>
    <FAMILY_ID id="600">har_othx_32.jpg</FAMILY_ID>
  </ICON_MAP>
</Body>

for(var index:int = 0; index < iconXMLList.length(); index ++) {
                                        
   var context:LoaderContext = new LoaderContext();
   context.checkPolicyFile = true;
   var url:String = "resource/" + iconXMLList[index].text();
   var urlReq:URLRequest = new URLRequest(url);
   var loader:Loader = new Loader();
   loader.load(urlReq, context);
   Alert.show("Key: " + key + " Value: " + url); 
   var key:String = XML(iconXMLList[index])[EMAIL PROTECTED];
   iconMap.images[key] = loader.content as Class;
}


Reply via email to