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 <[email protected]>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 [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
--
Clayton Marques Pereira
--
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