Grande Hamad,

Oh well, creio que a única maneira de definir os ícones para cada
estado (open, close) é usando o método "myTree.setItemIcon". Por
razões que uma análise mais de perto você o fará compreender (preguiça
de explicar :-D), isto não funcionaria com o "iconFunction".  Assim,
lancei mão do "labelFunction" para resolver o problema.

Portanto, use este "labelFunction" e esqueça o "iconFunction":

private function treeLabelFunction(item:Object):String
{
        var recordType:String = [EMAIL PROTECTED];

        switch (recordType)
        {
                case "folder":
                        myTree.setItemIcon(item, folderIcon, folderOpenIcon);
                        break;
                case "course":
                        myTree.setItemIcon(item, courseIcon, courseOpenIcon);
                        break;
                default:
                        myTree.setItemIcon(item, moduleIcon, moduleIcon);
                        break;
        }

        return [EMAIL PROTECTED];
}

[]'s
Beck Novaes


On 23 maio, 10:22, Hamad Amaral <[EMAIL PROTECTED]> wrote:
> Pessoal,
>
> No código abaixo eu altero os ícones padrão de uma Tree (folder e
> document) conforme o tipo do "node" através da função
> "treeNodeIconFunction" entretanto não descobri como fazer distinção
> entre folders abertos e fechados para usar ícones diferentes para
> estes estados.
>
> Normalmente as propriedades folderOpenIcon e folderClosedIcon
> resolveriam o problema, a questão é que na aplicação eu tenho 2 tipos
> de "folders". Ou seja, precisaria retornar na função
> "treeNodeIconFunction" 2 ícones, um para folder aberto e outro para o
> folder fechado.
>
> Agradeço a ajuda.
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
> initialize="onInit()">
>         <mx:Script>
>                 <![CDATA[
>                         import mx.collections.XMLListCollection;
>
>                         [Bindable]
>                         [Embed(source="/assets/images/folder.png")]
>                         private var folderIcon:Class;
>
>                         [Bindable]
>                         [Embed(source="/assets/images/folder_o.png")]
>                         private var folderOpenIcon:Class;
>
>                         [Bindable]
>                         [Embed(source="/assets/images/course.png")]
>                         private var courseIcon:Class;
>
>                         [Bindable]
>                         [Embed(source="/assets/images/course_o.png")]
>                         private var courseOpenIcon:Class;
>
>                         [Bindable]
>                         [Embed(source="/assets/images/module.png")]
>                         private var moduleIcon:Class;
>
>                         [Bindable]
>                         private var coursesList:XML =
>                                         <list><node objectID="6" name="CF" 
> parentID="1" recordType="course"><node objectID="7" name="CFC" parentID="6" 
> recordType="module"/><node objectID="8" name="CFAdmin" parentID="6" 
> recordType="module"/><node objectID="9" name="CFML" parentID="6" 
> recordType="module"/><node objectID="10" name="CFSCRIPT" parentID="6" 
> recordType="module"/></node><node objectID="2" name="DataBase" parentID="1" 
> recordType="folder"><node objectID="3" name="Oracle" parentID="2" 
> recordType="course"><node objectID="4" name="PLSQL" parentID="3" 
> recordType="module"/><node objectID="5" name="SP" parentID="3" 
> recordType="module"/></node></node></list> ;
>
>                         [Bindable]
>                         private var courses:XMLListCollection;
>
>                         private function onInit():void
>                         {
>                                 courses = new 
> XMLListCollection(coursesList.node);
>                         }
>
>                         private function treeNodeIconFunction(item:XML):Class
>                         {
>                                 var recordType:String = [EMAIL PROTECTED];
>
>                                 switch (recordType)
>                                 {
>                                         case "folder":
>                                                 return folderIcon;
>                                         break;
>                                         case "course":
>                                                 return courseIcon;
>                                         break;
>                                         default:
>                                                 return moduleIcon;
>                                         break;
>
>                                 }
>                         }
>
>                 ]]>
>         </mx:Script>
>
>         <mx:Tree id="myTree" dataProvider="{courses}" labelField="@name" 
> width="200" showRoot="false" height="300"/>
>
> </mx:Application>
>
> --
> Hamad Amaral
> [EMAIL PROTECTED]


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a