home *** CD-ROM | disk | FTP | other *** search
- package net.xinterface.dwall.samples.xmlGallerySample
- {
- import flash.errors.IOError;
- import flash.events.Event;
- import flash.events.IEventDispatcher;
- import flash.events.IOErrorEvent;
- import flash.events.SecurityErrorEvent;
- import flash.net.URLLoader;
- import flash.net.URLLoaderDataFormat;
- import flash.net.URLRequest;
- import net.xinterface.dwall.core.business.AbstractDWallModel;
- import net.xinterface.dwall.core.events.DataRequest;
- import net.xinterface.dwall.core.views.items.PhotoItem;
-
- public class XMLPicModel extends AbstractDWallModel
- {
- private var procesingRequest:Boolean = false;
-
- private var xmlSource:String;
-
- public function XMLPicModel(param1:IEventDispatcher = null)
- {
- super();
- }
-
- override public function RequestData(param1:DataRequest) : void
- {
- if(itemList != null && this.procesingRequest == true)
- {
- return;
- }
- var _loc2_:URLRequest = new URLRequest(this.xmlSource);
- var _loc3_:URLLoader = new URLLoader();
- _loc3_.dataFormat = URLLoaderDataFormat.TEXT;
- _loc3_.addEventListener(Event.COMPLETE,this.ParseSource);
- _loc3_.addEventListener(IOErrorEvent.IO_ERROR,this.IOErrorHandler);
- _loc3_.addEventListener(SecurityErrorEvent.SECURITY_ERROR,this.SecurityErrorHandler);
- _loc3_.load(_loc2_);
- this.procesingRequest = true;
- }
-
- private function IOErrorHandler(param1:IOError) : void
- {
- trace("ioerror:",param1.message);
- }
-
- private function SecurityErrorHandler(param1:SecurityErrorEvent) : void
- {
- trace("security error:",param1.text);
- }
-
- public function set XMLSource(param1:String) : void
- {
- this.xmlSource = param1;
- }
-
- private function ParseSource(param1:Event) : void
- {
- var itemDataList:Array;
- var list:XMLList;
- var xml:XML = null;
- var node:XML = null;
- var itemData:Object = null;
- var e:Event = param1;
- try
- {
- xml = new XML(e.target.data);
- }
- catch(err:Error)
- {
- trace("xml mal formado");
- return;
- }
- this.procesingRequest = false;
- itemDataList = [];
- list = xml.children();
- for each(node in list)
- {
- itemData = new Object();
- itemData.thumb = "assets/image_cache/" + node.@thumb;
- itemData.big = "assets/image_cache/" + node.@big;
- if(node.@type.toString() == "img")
- {
- itemData.itemClass = PhotoItem;
- }
- itemDataList.push(itemData);
- }
- AddData(itemDataList);
- }
- }
- }
-
-