Olá,
É muito comum no Flex o programador criar componentes para facilitar sua vida, porém, nem sempre você tem a necessidade de criar uma Library para isso, ou seja, você acaba customizando componentes dentro da sua própria aplicação. Porém, em algumas situações, você pode criar um componente “pai” e alguns “filhos”, usando a herança. Geralmente nesses casos você só usa na sua aplicação os componentes “filhos”, o componente “pai” é a base para eles e ele não deve ser utilizado em sua aplicação. Agora, como remover ele de sua aba “Custom” no FlexBuilder?
Existe uma forma simples de fazer isso, você fará o uso da metadata ExcludeClass.
Para exemplificar essa situação, iremos criar a seguinte situação. Um componente base que eu devo usar para os botões da minha aplicação, e depois, iremos criar um botão para o uso na aplicação. Vale lembrar que essa situação é apenas para ilustrar o uso da metadata e não é um padrão para criação de botões, até porque o componente pai irá herdar suas propriedades de um Canvas.
Segue abaixo, o código fonte do componente principal: Botao
package br.com.horochovec
{
import mx.containers.Canvas;
public class Botao extends Canvas
{
public function Botao()
{
super();
}
}
}
Feito isso, iremos criar um novo componentes, que iremos chamar de BotaoOK:
package br.com.horochovec
{
import br.com.horochovec.Botao;
public class BotaoOK extends Botao
{
public function BotaoOK()
{
super();
}
}
}
Dessa forma, teremos o componente BotaoOK pronto para o uso, porém, no grupo "Custom" de meus componentes no FlexBuilder, eu tenho também disponivel para o uso o componente Botao, que é o componente pai, e eu não quero utilizá-lo em meu projeto. Quero removê-lo da lista, para que nenhum desenvolvedor utilize o mesmo. Como devo proceder?
package br.com.horochovec
{
import mx.containers.Canvas;
[ExcludeClass]
public class Botao extends Canvas
{
public function Botao()
{
super();
}
}
}
Pronto. Adicionando a Metadata [ExcludeClass] dentro do seu componente, ele não estará mais disponivel para o uso em minha aplicação, mas poderei continuar usando o componente pai para ser base de outros componentes.
Espero ter contribuido,
Abraços, dúvidas? Comentem!
Comentários