Hm... dei uma olhadinha aqui e pude ver o erro acontecendo. Tentei
imaginar possíveis causas mas eu teria que debugar e precisar de algum
tempo para tentar encontrar uma solução. Se eu conseguir alguma coisa
eu te aviso.
[]'s
Beck Novaes
On 23 out, 16:59, Ricardo Ramires <[EMAIL PROTECTED]> wrote:
> Também to me batendo com isso...
>
> Beck esses tempos atráz 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="dataChange", type="mx.events.FlexEvent")]
>
> public class LoaderRenderer extends UIComponent implements
> IDataRenderer, IListItemRenderer
> {
> private var _data : Object = null;
> private var imgContainer:Sprite;
> private var tamanho_txt:TextField;
>
> public function LoaderRenderer()
> {
> super();
> this.width = 160;
> this.height = 120;
> }
>
> [Bindable("dataChange")]
> public function get data():Object
> {
> return _data;
> }
>
> public function set data(value:Object):void
> {
> _data = value;
> invalidateProperties();
> dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
> }
>
> override protected function createChildren():void {
>
> super.createChildren();
>
> if(!imgContainer){
> imgContainer = new Sprite();
> imgContainer.x += 2;
> addChild(imgContainer);
> }
>
> if(!compContainer){
> var compContainer:HBox = new HBox();
> compContainer.x += 2;
> }
>
> if(!tamanho_txt){
> tamanho_txt = new TextField();
> tamanho_txt.x += 5;
> tamanho_txt.selectable = false;
> tamanho_txt.textColor = 0xFFFF00;
> addChild(tamanho_txt);
> }
> }
>
> override protected function commitProperties():void
> {
> super.commitProperties();
>
> if (_data != null)
> {
> imgContainer.addChild(_data.image);
> tamanho_txt.text = _data.tamanho;
> }
> }
>
> /* override protected function updateDisplayList(w:Number,
> h:Number):void
> {
> super.updateDisplayList(w, h);
>
> if (_data != null)
> {
> imgContainer.addChild(_data.image);
> tamanho_txt.text = _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 != null)
> {
> imgContainer.addChild(_data.image);
> tamanho_txt.text = _data.tamanho;
> }
> }
>
> /* override protected function updateDisplayList(w:Number,
> h:Number):void
> {
> super.updateDisplayList(w, h);
>
> if (_data != null)
> {
> imgContainer.addChild(_data.image);
> tamanho_txt.text = _data.tamanho;
> }
> } */
>
> se eu usar o primeiro (commitProperties) fica como está, 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
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---