home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.novell.com
/
2014.06.ftp.novell.com.tar
/
ftp.novell.com
/
forge
/
camtasia.msi
/
Cabs.w1.cab
/
camtasia_player_ext.swf9
/
scripts
/
__Packages
/
mx
/
core
/
ExternalContent.as
next >
Wrap
Text File
|
2009-08-17
|
5KB
|
152 lines
class mx.core.ExternalContent
{
static var classConstructed = mx.core.ExternalContent.classConstruct();
static var ViewDependency = mx.core.View;
function ExternalContent()
{
}
function loadExternal(url, placeholderClassName, instanceName, depth, initProps)
{
var _loc2_ = undefined;
_loc2_ = this.createObject(placeholderClassName,instanceName,depth,initProps);
this[mx.core.View.childNameBase + this.numChildren] = _loc2_;
if(this.prepList == undefined)
{
this.prepList = new Object();
}
this.prepList[instanceName] = {obj:_loc2_,url:url,complete:false,initProps:initProps};
this.prepareToLoadMovie(_loc2_);
return _loc2_;
}
function prepareToLoadMovie(obj)
{
obj.unloadMovie();
this.doLater(this,"waitForUnload");
}
function waitForUnload()
{
var _loc3_ = undefined;
for(_loc3_ in this.prepList)
{
var _loc2_ = this.prepList[_loc3_];
if(_loc2_.obj.getBytesTotal() == 0)
{
if(this.loadList == undefined)
{
this.loadList = new Object();
}
this.loadList[_loc3_] = _loc2_;
_loc2_.obj.loadMovie(_loc2_.url);
delete this.prepList[_loc3_];
this.doLater(this,"checkLoadProgress");
}
else
{
this.doLater(this,"waitForUnload");
}
}
}
function checkLoadProgress()
{
var _loc8_ = false;
var _loc3_ = undefined;
for(_loc3_ in this.loadList)
{
var _loc2_ = this.loadList[_loc3_];
_loc2_.loaded = _loc2_.obj.getBytesLoaded();
_loc2_.total = _loc2_.obj.getBytesTotal();
if(_loc2_.total > 0)
{
_loc2_.obj._visible = false;
this.dispatchEvent({type:"progress",target:_loc2_.obj,current:_loc2_.loaded,total:_loc2_.total});
if(_loc2_.loaded == _loc2_.total)
{
if(this.loadedList == undefined)
{
this.loadedList = new Object();
}
this.loadedList[_loc3_] = _loc2_;
delete this.loadList[_loc3_];
this.doLater(this,"contentLoaded");
}
}
else if(_loc2_.total == -1)
{
if(_loc2_.failedOnce != undefined)
{
_loc2_.failedOnce = _loc2_.failedOnce + 1;
if(_loc2_.failedOnce > 3)
{
this.dispatchEvent({type:"complete",target:_loc2_.obj,current:_loc2_.loaded,total:_loc2_.total});
delete this.loadList[_loc3_];
false;
}
}
else
{
_loc2_.failedOnce = 0;
}
}
_loc8_ = true;
}
if(_loc8_)
{
this.doLater(this,"checkLoadProgress");
}
}
function contentLoaded()
{
var _loc4_ = undefined;
for(_loc4_ in this.loadedList)
{
var _loc2_ = this.loadedList[_loc4_];
_loc2_.obj._visible = true;
_loc2_.obj._complete = true;
var _loc3_ = undefined;
for(_loc3_ in _loc2_.initProps)
{
_loc2_.obj[_loc3_] = _loc2_.initProps[_loc3_];
}
this.childLoaded(_loc2_.obj);
this.dispatchEvent({type:"complete",target:_loc2_.obj,current:_loc2_.loaded,total:_loc2_.total});
delete this.loadedList[_loc4_];
false;
}
}
function convertToUIObject(obj)
{
if(obj.setSize == undefined)
{
var _loc2_ = mx.core.UIObject.prototype;
obj.addProperty("width",_loc2_.__get__width,null);
obj.addProperty("height",_loc2_.__get__height,null);
obj.addProperty("left",_loc2_.__get__left,null);
obj.addProperty("x",_loc2_.__get__x,null);
obj.addProperty("top",_loc2_.__get__top,null);
obj.addProperty("y",_loc2_.__get__y,null);
obj.addProperty("right",_loc2_.__get__right,null);
obj.addProperty("bottom",_loc2_.__get__bottom,null);
obj.addProperty("visible",_loc2_.__get__visible,_loc2_.__set__visible);
obj.move = mx.core.UIObject.prototype.move;
obj.setSize = mx.core.UIObject.prototype.setSize;
obj.size = mx.core.UIObject.prototype.size;
mx.events.UIEventDispatcher.initialize(obj);
}
}
static function enableExternalContent()
{
}
static function classConstruct()
{
var _loc1_ = mx.core.View.prototype;
var _loc2_ = mx.core.ExternalContent.prototype;
_loc1_.loadExternal = _loc2_.loadExternal;
_loc1_.prepareToLoadMovie = _loc2_.prepareToLoadMovie;
_loc1_.waitForUnload = _loc2_.waitForUnload;
_loc1_.checkLoadProgress = _loc2_.checkLoadProgress;
_loc1_.contentLoaded = _loc2_.contentLoaded;
_loc1_.convertToUIObject = _loc2_.convertToUIObject;
return true;
}
}