ich komm da nicht mehr weiter. diese cellrenderer klasse ist ganz schön kniffelig
folgende extension
PHP-Code:
import mx.core.UIComponent;
class _com.ImageCellRenderer extends UIComponent {
private var ImageCellHelper:MovieClip;
private var owner:MovieClip;
private var getDataLabel:Function;
private var getCellIndex:Function;
private var ClipLoader:MovieClipLoader;
private var url:String;
private var PreloadContainer:MovieClip;
private var ImageContainer:MovieClip;
private var ClipLoaderListener:Object;
public function ImageCellRender()
{
}
public function size():Void
{
ImageCellHelper.width = __width;
ImageCellHelper.height = __height;
ImageCellHelper.ImageContainer.width = _global.GLOBAL_THUMBNAIL_DIM;
ImageCellHelper.ImageContainer.height = _global.GLOBAL_THUMBNAIL_DIM;
ImageCellHelper.ImageContainer._x = Math.round(__width / 2) - Math.round(ImageCellHelper.ImageContainer.width / 2);
ImageCellHelper.ImageContainer._y = Math.round(__height / 2) - Math.round(ImageCellHelper.ImageContainer.height / 2);
PreloadContainer.MyLoader._x = Math.round(__width / 2);
PreloadContainer.MyLoader._y = Math.round(__height / 2);
}
public function createChildren():Void
{
ImageContainer = ImageCellHelper.createEmptyMovieClip("ImageContainer",ImageCellHelper.getNextHighestDepth());
PreloadContainer = ImageCellHelper.createEmptyMovieClip("PreloadContainer",ImageCellHelper.getNextHighestDepth());
PreloadContainer.attachMovie("MyLoader","MyLoader",PreloadContainer.getDepth());
PreloadContainer.MyLoader.ProgressPercent.text = "0";
size();
}
public function getPreferredHeight():Number
{
return _global.SHOW_PHOTOS_ROW_HEIGHT
}
public function getPreferredWidth():Number
{
return _global.SHOW_PHOTOS_ROW_HEIGHT
}
public function setValue(sugg:String,item:Object,sele:String):Void
{
if(item[getDataLabel()] == undefined){
ImageCellHelper._visible = false;
}else{
if(item[getDataLabel()] != this.url){
this.url = item[getDataLabel()];
ImageCellHelper._visible = true;
ClipLoaderListener = new Object();
ClipLoaderListener.onLoadProgress = function(target:MovieClip,bytesLoaded:Number,bytesTotal:Number):Void {
PreloadContainer.MyLoader.ProgressPercent.text = bytesLoaded.toString();
}
ClipLoader = new MovieClipLoader();
if(item["gallery"] != undefined){
ClipLoader.loadClip(_root.ROOT + "_php/thumbnail.php?mode=" + item["mode"] + "&id=" + item[getDataLabel()] + "&max=" + _global.GLOBAL_THUMBNAIL_DIM + "&gallery=" + item["gallery"],ImageCellHelper.ImageContainer);
}else{
ClipLoader.loadClip(_root.ROOT + "_php/thumbnail.php?mode=" + item["mode"] + "&id=" + item[getDataLabel()] + "&max=" + _global.GLOBAL_THUMBNAIL_DIM,ImageCellHelper.ImageContainer);
}
ClipLoader.addListener(ClipLoaderListener);
}
}
}
}
im prinzip alles perfekt nur der listener will nicht machen um die onLoadProgress auszuführen. ich kann mir das nur damit erklären das die funktion in einer funktion liegt oder ich weiss es nicht

das ist so verwirrend und ich bin echt verzweifelt weil ich es net checke? kann jemand helfen ?
t*