home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 April / ME_04_2012.iso / Video-Tutorial / iPhoto / media / player.swf / scripts / mx / controls / Image.as < prev    next >
Encoding:
Text File  |  2011-11-11  |  3.0 KB  |  103 lines

  1. package mx.controls
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.events.Event;
  5.    import mx.controls.listClasses.BaseListData;
  6.    import mx.controls.listClasses.IDropInListItemRenderer;
  7.    import mx.controls.listClasses.IListItemRenderer;
  8.    import mx.core.IDataRenderer;
  9.    import mx.core.mx_internal;
  10.    import mx.events.FlexEvent;
  11.    
  12.    use namespace mx_internal;
  13.    
  14.    public class Image extends SWFLoader implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer
  15.    {
  16.       mx_internal static const VERSION:String = "4.5.0.20967";
  17.       
  18.       private var makeContentVisible:Boolean = false;
  19.       
  20.       private var sourceSet:Boolean;
  21.       
  22.       private var settingBrokenImage:Boolean;
  23.       
  24.       private var _data:Object;
  25.       
  26.       private var _listData:BaseListData;
  27.       
  28.       public function Image()
  29.       {
  30.          super();
  31.          tabChildren = false;
  32.          tabEnabled = true;
  33.          tabFocusEnabled = true;
  34.          showInAutomationHierarchy = true;
  35.       }
  36.       
  37.       [Bindable("sourceChanged")]
  38.       override public function set source(param1:Object) : void
  39.       {
  40.          this.settingBrokenImage = param1 == getStyle("brokenImageSkin");
  41.          this.sourceSet = !this.settingBrokenImage;
  42.          super.source = param1;
  43.       }
  44.       
  45.       [Bindable("dataChange")]
  46.       public function get data() : Object
  47.       {
  48.          return this._data;
  49.       }
  50.       
  51.       public function set data(param1:Object) : void
  52.       {
  53.          this._data = param1;
  54.          if(!this.sourceSet)
  55.          {
  56.             this.source = !!this.listData ? this.listData.label : this.data;
  57.             this.sourceSet = false;
  58.          }
  59.          dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
  60.       }
  61.       
  62.       [Bindable("dataChange")]
  63.       public function get listData() : BaseListData
  64.       {
  65.          return this._listData;
  66.       }
  67.       
  68.       public function set listData(param1:BaseListData) : void
  69.       {
  70.          this._listData = param1;
  71.       }
  72.       
  73.       override public function invalidateSize() : void
  74.       {
  75.          if(Boolean(this.data) && this.settingBrokenImage)
  76.          {
  77.             return;
  78.          }
  79.          super.invalidateSize();
  80.       }
  81.       
  82.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  83.       {
  84.          super.updateDisplayList(param1,param2);
  85.          if(this.makeContentVisible && Boolean(mx_internal::contentHolder))
  86.          {
  87.             mx_internal::contentHolder.visible = true;
  88.             this.makeContentVisible = false;
  89.          }
  90.       }
  91.       
  92.       override mx_internal function contentLoaderInfo_completeEventHandler(param1:Event) : void
  93.       {
  94.          var _loc2_:DisplayObject = DisplayObject(param1.target.loader);
  95.          super.mx_internal::contentLoaderInfo_completeEventHandler(param1);
  96.          _loc2_.visible = false;
  97.          this.makeContentVisible = true;
  98.          invalidateDisplayList();
  99.       }
  100.    }
  101. }
  102.  
  103.