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
-~----------~----~----~----~------~----~------~--~---

Responder a