home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / net / xinterface / dwall / samples / xmlGallerySample / XMLPicModel.as next >
Encoding:
Text File  |  2010-06-23  |  2.8 KB  |  93 lines

  1. package net.xinterface.dwall.samples.xmlGallerySample
  2. {
  3.    import flash.errors.IOError;
  4.    import flash.events.Event;
  5.    import flash.events.IEventDispatcher;
  6.    import flash.events.IOErrorEvent;
  7.    import flash.events.SecurityErrorEvent;
  8.    import flash.net.URLLoader;
  9.    import flash.net.URLLoaderDataFormat;
  10.    import flash.net.URLRequest;
  11.    import net.xinterface.dwall.core.business.AbstractDWallModel;
  12.    import net.xinterface.dwall.core.events.DataRequest;
  13.    import net.xinterface.dwall.core.views.items.PhotoItem;
  14.    
  15.    public class XMLPicModel extends AbstractDWallModel
  16.    {
  17.       private var procesingRequest:Boolean = false;
  18.       
  19.       private var xmlSource:String;
  20.       
  21.       public function XMLPicModel(param1:IEventDispatcher = null)
  22.       {
  23.          super();
  24.       }
  25.       
  26.       override public function RequestData(param1:DataRequest) : void
  27.       {
  28.          if(itemList != null && this.procesingRequest == true)
  29.          {
  30.             return;
  31.          }
  32.          var _loc2_:URLRequest = new URLRequest(this.xmlSource);
  33.          var _loc3_:URLLoader = new URLLoader();
  34.          _loc3_.dataFormat = URLLoaderDataFormat.TEXT;
  35.          _loc3_.addEventListener(Event.COMPLETE,this.ParseSource);
  36.          _loc3_.addEventListener(IOErrorEvent.IO_ERROR,this.IOErrorHandler);
  37.          _loc3_.addEventListener(SecurityErrorEvent.SECURITY_ERROR,this.SecurityErrorHandler);
  38.          _loc3_.load(_loc2_);
  39.          this.procesingRequest = true;
  40.       }
  41.       
  42.       private function IOErrorHandler(param1:IOError) : void
  43.       {
  44.          trace("ioerror:",param1.message);
  45.       }
  46.       
  47.       private function SecurityErrorHandler(param1:SecurityErrorEvent) : void
  48.       {
  49.          trace("security error:",param1.text);
  50.       }
  51.       
  52.       public function set XMLSource(param1:String) : void
  53.       {
  54.          this.xmlSource = param1;
  55.       }
  56.       
  57.       private function ParseSource(param1:Event) : void
  58.       {
  59.          var itemDataList:Array;
  60.          var list:XMLList;
  61.          var xml:XML = null;
  62.          var node:XML = null;
  63.          var itemData:Object = null;
  64.          var e:Event = param1;
  65.          try
  66.          {
  67.             xml = new XML(e.target.data);
  68.          }
  69.          catch(err:Error)
  70.          {
  71.             trace("xml mal formado");
  72.             return;
  73.          }
  74.          this.procesingRequest = false;
  75.          itemDataList = [];
  76.          list = xml.children();
  77.          for each(node in list)
  78.          {
  79.             itemData = new Object();
  80.             itemData.thumb = "assets/image_cache/" + node.@thumb;
  81.             itemData.big = "assets/image_cache/" + node.@big;
  82.             if(node.@type.toString() == "img")
  83.             {
  84.                itemData.itemClass = PhotoItem;
  85.             }
  86.             itemDataList.push(itemData);
  87.          }
  88.          AddData(itemDataList);
  89.       }
  90.    }
  91. }
  92.  
  93.