Header customizado em um Panel
A tarefa de adicionar componentes no header de um Panel pode ser bem trabalhosa. O PanelHeaderRenderer vem com o objetivo de facilitar isso. Exemplo:
Botão direito -> View Source
A única diferença deste para o Panel original é a propriedade headeRenderer. Nesta propriedade deve ser definido um componente para ser utilizado como header do Panel. Caso seu componente possua propriedades title e/ou status, as labels title/status originais do Panel são removidas e as implementadas por seu componente são utilizadas.
A implementação ficou bem simples, a parte interessante é quando preciso verificar a existência da propriedade "title" e "status" no headerRenderer especificado. Segue um trecho do código:
-
override protected function createChildren():void
-
{
-
super.createChildren();
-
-
if(!titleHeader)
-
{
-
titleHeader = UIComponent(headerRenderer.newInstance());
-
-
if(titleHeader.hasOwnProperty("title"))
-
{
-
//we hide the original panel's titleField and bind it to the new one.
-
titleBar.removeChild(titleTextField);
-
BindingUtils.bindProperty(titleHeader,"title",this,"title");
-
}
-
-
if(titleHeader.hasOwnProperty("status"))
-
{
-
//we hide the original panel's status and bind it to the new one.
-
titleBar.removeChild(statusTextField);
-
BindingUtils.bindProperty(titleHeader,"status",this,"status");
-
}
-
-
//and add the headerRenderer into the titleBar
-
titleHeader.visible = true;
-
titleBar.addChild(titleHeader);
-
}
-
}
Um comentário para “Header customizado em um Panel”
Parabéns pela dica…
curti bastante, sou novato na ferramenta e estou gostando muito…
mais uma vez parabéns pela dica!!!
Adicionar comentário
Parabéns pela dica…
curti bastante, sou novato na ferramenta e estou gostando muito…
mais uma vez parabéns pela dica!!!

