João (Coelho) tens razão. É passado null ao styleChanged quando a folha global é alterada.

A forma correcta, e aconselhada é:

            override public function styleChanged(styleProp:String):void
            {
                var allStyles:Boolean = styleProp == null || styleProp == "styleName";
                 
                super.styleChanged(styleProp);
               
                if (allStyles || styleProp == "imagem")
                    myImg = getStyle("imagem");
                              
            }


João Saleiro wrote:
Pois, parece-me que sim. Mas também me parece ineficiente fazer isto desta forma:

            override public function styleChanged(styleProp:String):void
            {

                super.styleChanged(styleProp);              
                myImg = getStyle("imagem");              
            }

Só faz sentido mudar o myImg quando o style "imagem" é alterado. No entanto, o máximo que consigo são os nulls enviados no mail anterior.

João Saleiro

CTO @ Webfuel
Adobe Certified Expert
Adobe Community Expert
Co-founder of the Portuguese RIA Community


View João Saleiro's profile on LinkedIn

João Coelho wrote:

Se não estou em erro o styleChanged é chamado sempre que ocorre uma alteração aos estilos do componente e não apenas a uma propriedade em particular, pelo que o método pode ser chamado sem ser passado o valor para styleProp (ou passando “”), se essa variante não estiver contemplado no override deve estar provavelmente no super ou em algum nível acima.

 

João

 


From: [email protected] [mailto:[email protected]] On Behalf Of João Saleiro
Sent: quarta-feira, 7 de Janeiro de 2009 15:20
To: [email protected]
Subject: [riapt] Re: Embeber imagens em CSS e usá-las na aplicação

 

Estranho... pus um

                trace("prop: " + styleProp);

dentro do styleChanged, e o resultado do trace é:

prop: null
prop: null
prop: null

Alguma ideia??...


João Saleiro

CTO @ Webfuel
Adobe Certified Expert
Adobe Community Expert
Co-founder of the Portuguese RIA Community


View João Saleiro's profile on LinkedIn

João Saleiro wrote:

Não é essa a ideia... a ideia é criar um estilo (uma propriedade) nosso, definido por nós que conterá uma imagem embebida. Depois é uma questão de se aplicar o valor nesse estilo como source de um Image Control. Algo como:

            public override function styleChanged(styleProp:String):void
            {
                super.styleChanged(styleProp);
               
                if (styleProp == "imagem")
                    myImg = getStyle("imagem");              
            }
           
            [Bindable]
            private var myImg:Class;


    <mx:Image source="{myImg}"/>

Porém, não está a funcionar como esperado.

João Saleiro

CTO @ Webfuel
Adobe Certified Expert
Adobe Community Expert
Co-founder of the Portuguese RIA Community


View João Saleiro's profile on LinkedIn



João Fernandes wrote:

João ve este link 
http://www.onflex.org/flexapps/applications/RuntimeCSS/srcview/index.html
supostamente funcionará com qualquer definição CSS, assim que carregares 
uma nova definição, todas as definições serão actualizadas automaticamente.
 
  

--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para [email protected]
 Para anular a inscrição neste grupo, envie um email para [email protected]
 Para mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT

-~----------~----~----~----~------~----~------~--~---

No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.176 / Virus Database: 270.10.3/1879 - Release Date: 06-01-2009 17:16




Responder a