Mensagem sobre o tópico
<mx:List com ItemRenderer, RefreshPolicy
Received: by 10.35.102.18 with SMTP id e18mr1826634pym.1193169557704;
Tue, 23 Oct 2007 12:59:17 -0700 (PDT)
Received: by e34g2000pro.googlegroups.com with HTTP;
Tue, 23 Oct 2007 19:59:16 +0000 (UTC)
X-IP: 200.163.203.13
From: Ricardo Ramires <rramire...@gmail.com>
To: flexdev <flexdev@googlegroups.com>
Subject: Re: <mx:List com ItemRenderer, RefreshPolicy
Date: Tue, 23 Oct 2007 12:59:16 -0700
Message-ID: <1193169556.533482.101040@e34g2000pro.googlegroups.com>
In-Reply-To: <1193140062.495857.129970@z24g2000prh.googlegroups.com>
References: <1193136954.491469.234720@z24g2000prh.googlegroups.com>
<1193140062.495857.129970@z24g2000prh.googlegroups.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.2; pt-BR; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8,gzip(gfe),gzip(gfe)
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Tamb=E9m to me batendo com isso...
Beck esses tempos atr=E1z vc me passou um link c/ a sua palestra sobre a
criacao de components, ajudou bastante a criar esse itemRenderer para
meu projeto:
package views
{
import flash.geom.Rectangle;
import mx.core.IDataRenderer;
import mx.core.UIComponent;
import mx.controls.listClasses.IListItemRenderer;
import flash.display.DisplayObjectContainer;
import flash.events.Event;
import mx.managers.ISystemManager;
import flash.display.Sprite;
import flash.display.DisplayObject;
import mx.events.FlexEvent;
import mx.controls.Button;
import mx.containers.HBox;
import mx.controls.Label;
import flash.text.TextField;
[Event(name=3D"dataChange", type=3D"mx.events.FlexEvent")]
public class LoaderRenderer extends UIComponent implements
IDataRenderer, IListItemRenderer
{
private var _data : Object =3D null;
private var imgContainer:Sprite;
private var tamanho_txt:TextField;
public function LoaderRenderer()
{
super();
this.width =3D 160;
this.height =3D 120;
}
[Bindable("dataChange")]
public function get data():Object
{
return _data;
}
public function set data(value:Object):void
{
_data =3D value;
invalidateProperties();
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
override protected function createChildren():void {
super.createChildren();
if(!imgContainer){
imgContainer =3D new Sprite();
imgContainer.x +=3D 2;
addChild(imgContainer);
}
if(!compContainer){
var compContainer:HBox =3D new HBox();
compContainer.x +=3D 2;
}
if(!tamanho_txt){
tamanho_txt =3D new TextField();
tamanho_txt.x +=3D 5;
tamanho_txt.selectable =3D false;
tamanho_txt.textColor =3D 0xFFFF00;
addChild(tamanho_txt);
}
}
override protected function commitProperties():void
{
super.commitProperties();
if (_data !=3D null)
{
imgContainer.addChild(_data.image);
tamanho_txt.text =3D _data.tamanho;
}
}
/* override protected function updateDisplayList(w:Number,
h:Number):void
{
super.updateDisplayList(w, h);
if (_data !=3D null)
{
imgContainer.addChild(_data.image);
tamanho_txt.text =3D _data.tamanho;
}
} */
}
}
Mas ele ta tendo uns problemas na renderizacao que faz dias q eu to
mexendo e n consigo solucionar... olhei esses links q vc passou na
documentacao tb, mas n consegui resolver
Pra entender deve-se utilizar a aplicacao, vc da play no video e
captura algumas miniaturas, depois arrasta elas do tilelist pro list
abaixo (ambos usam o mesmo itemrenderer) e envia pro servidor.
http://www.rlog.com.br/capture/capture.html ( o codigo fonte est
disponivel c/ o botao direito )
Bom tudo ta quase tudo funcionando, mas da uns paus e a imagem some se
vc comecar a arrastar o item e soltar sem completar o drag and drop...
quando mexe na barra de rolagem as imagens voltam a aparecer...
Tem esses 2 trechos no meu codigo:
override protected function commitProperties():void
{
super.commitProperties();
if (_data !=3D null)
{
imgContainer.addChild(_data.image);
tamanho_txt.text =3D _data.tamanho;
}
}
/* override protected function updateDisplayList(w:Number,
h:Number):void
{
super.updateDisplayList(w, h);
if (_data !=3D null)
{
imgContainer.addChild(_data.image);
tamanho_txt.text =3D _data.tamanho;
}
} */
se eu usar o primeiro (commitProperties) fica como est=E1, se eu
comentar ele e usar o segundo (updateDisplayList) o problema
desaparece, mas so aparece a imagem depois da segunda captura... n sei
mais o que fazer.
Se puder me dar uma luz agradeco
[ ] 's
Ricardo