Com o mesmo pensamento e necessidade criei uma forma de simular um "Enum"
que é muito conhecido no Java.
Diferente de você preciso alterar as cores dos componentes runtime.

Alguns podem achar uma "GAMBI", mas não encontrei nada no AS3 que pudesse me
fornecer o que precisava.
Bom, segue o código, é bem simples:

package dominio.enum
{
    public class CoresEnum
    {
        public function CoresEnum(codigo:Number){
            this.posicao = codigo;
        }

        private var posicao : Number;

        private static const arrayStatus :
                Array = new Array(
                        {cod:1,desc:"Azul",cor:0x0614cd},
                        {cod:2,desc:"Vermelho",cor:0xd21906},
                        {cod:3,desc:"Amarelo",cor:0xe1e905},
                        {cod:4,desc:"Verde",cor:0x19b604},
                        {cod:5,desc:"Branco",cor:0xffffff},
                        {cod:6,desc:"Preto",cor:0x000000});

        public static function get AZUL():CoresEnum{
            return new CoresEnum(1);
        }
        public static function get VERMELHO():CoresEnum{
            return new CoresEnum(2);
        }
        public static function get AMARELO():CoresEnum{
            return new CoresEnum(3);
        }
        public static function get VERDE():CoresEnum{
            return new CoresEnum(4);
        }
        public static function get Branco():CoresEnum{
            return new CoresEnum(5);
        }
        public static function get PRETO():CoresEnum{
            return new CoresEnum(6);
        }

        public function getCodigo():Number{
            return CoresEnum.arrayStatus[this.posicao].cod;
        }

        public function getDescricao():String{
            return CoresEnum.arrayStatus[this.posicao].desc;
        }

        public function getCor():uint{
            return CoresEnum.arrayStatus[this.posicao].cor;
        }

        public static function getEnum(codigo:Number):CoresEnum{
            return new CoresEnum(codigo);
        }

    }
}


Exemplo de uso:

 <s:SolidColor color=CoresEnum.AZUL.getCor />


Não sei se é isto que você procura.


Em 4 de fevereiro de 2011 17:31, Jorel Cantero <jhoejo...@gmail.com>escreveu:

> Boa tarde pessoal,
>
> estava pensando em definir uma variável com todas as cores que usarei nos
> Layouts e Skins, e quando fosse atribuir a propriedade *color* de um *
> panel* ou *label*, chamaria a variável em vez de definir o hexadecimal da
> cor na propriedade, ex:
>
> A forma normal:        <s:SolidColor color="0xC0C0C0" />
>
> A forma desejada:     <s:SolidColor color="palletsColors.bg" />
>
>
> Fiz um teste e no Flash Builder aparece uma Advertência: "Data binding will
> not be able to detect assignments to "palletsColors.bg"."
>
> Não tenho intenção de mudar as cores durante a execução da Aplicação, seria
> mais para organizar e definir as cores que usarei em toda aplicação somente
> em um lugar.
>
> Gostaria de saber se isso pode haver algum problema, ou perca de
> desempenho, enfim alguma outra advertência sem ser esta "reclamada" pelo
> Flash Builder.
>
>
> Att,
>
>
> Jorel
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev




-- 
Clayton Marques Pereira

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a