TreeGadget()

Syntaxe

Resultat = TreeGadget(#Gadget, x, y, Largeur, Hauteur [, Options])
Description
Crée une liste arborescente dans la GadgetList en cours. Si #PB_Any est utilisé pour le paramètre '#Gadget', le numéro du nouveau gadget sera renvoyé dans 'Resultat'. #Gadget est le numéro retourné par la fonction EventGadget(). Lorsque cette liste est créée, sa liste d'éléments est vide.

Chaque élément dans l'arbre a un niveau assigné, qui détermine la relation avec l'élément au dessus et en dessous de lui. Les éléments avec le même niveau appartiennent à la même branche, les éléments avec un niveau supérieur sont les fils etc. Le paramètre 'Options' de la commande AddGadgetItem() est toujours requis pour les éléments du TreeGadget() et sert à spécifier le niveau de l'élément qui doit être ajouté. A noter que si un élément est ajouté avec un niveau invalide, alors il sera quand même ajouté, au niveau le plus proche.

Le paramètre facultatif 'Options' peut être une combinaison des constantes suivantes:
  #PB_Tree_AlwaysShowSelection: Montre toujours la sélection, même si le gadget n'est plus actif.
  #PB_Tree_NoLines            : Cache les lignes reliant les noeuds.
  #PB_Tree_NoButtons          : Cache les boutons des noeuds.
  #PB_Tree_CheckBoxes         : Ajoute une boîte à cocher devant chaque élément.
Vous pouvez ajouter une 'mini aide' à ce gadget en utilisant GadgetToolTip().

Les fonctions suivantes peuvent alors être utilisées pour agir sur le contenu de cette liste :

- AddGadgetItem(): Ajoute un élément, et éventuellement une icône
- RemoveGadgetItem(): Efface un élément (et ses sous-élements)
- ClearGadgetItemList(): Supprime tous les éléments
- CountGadgetItems(): Renvoie le nombre d'éléments actuellement contenus dans le gadget.
- GetGadgetItemState(): Renvoie l'état de l'élément spécifié.
- SetGadgetItemState(): Change l'état de l'élément spécifié.
- GetGadgetItemText(): Renvoie le texte de l'élément spécifié.
- SetGadgetItemText(): Change le texte de l'élément spécifié.
- GetGadgetItemData(): Renvoie la valeur personnalisée associée à cet élément.
- SetGadgetItemData(): Associe une valeur personnalisée à cet élément.
- GetGadgetState(): Renvoie l'élément selectionné.
- SetGadgetState(): Change l'élément selectionné.
- GetGadgetText(): Renvoie le texte de l'élément sélectionné.
- SetGadgetText(): Change le texte de l'élément sélectionné.
- GetGadgetItemAttribute() avec l'attribut suivant:
  #PB_Tree_SubLevel: Renvoie le niveau actuel de l'élément dans l'arbre.
- GadgetItemID(): Renvoie le 'handle' système de l'élément spécifié (utile pour les fonctions API)

Ce gadget supporte les commandes SetGadgetColor() et GetGadgetColor() avec les valeurs 'TypeCouleur' suivantes:
  #PB_Gadget_FrontColor: Couleur du texte
  #PB_Gadget_BackColor : Couleur du fond
  #PB_Gadget_LineColor : Couleur des lignes reliant les noeuds
Ce gadget supporte également les commandes SetGadgetItemColor() et GetGadgetItemColor() avec les valeurs 'TypeCouleur' suivantes:
  #PB_Gadget_FrontColor: Texte de l'élément.
  #PB_Gadget_BackColor : Fond de l'élément.


Les évènements suivants sont supportés par EventType():
  #PB_EventType_LeftClick       : clic gauche sur un élément, ou une case à cocher a été cochée/décochée
  #PB_EventType_LeftDoubleClick
  #PB_EventType_RightClick
  #PB_EventType_RightDoubleClick
  #PB_EventType_Change          : L'élément courant a changé
  #PB_EventType_DragStart       : L'utilisateur a essayé de lancer Une opération 'Glisser & Déposer'.
Après un évènement #PB_EventType_DragStart , la bibliothèque Drag & Drop peut être utilisée pour commencer une opération 'Glisser & Déposer'.

Exemple:

  If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    TreeGadget(0, 10, 10, 160, 160)                                         ; liste arborescente standard
    TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines)  ; liste arborescente avec cases à cocher + sans lignes reliant les noeuds
    For ID = 0 To 1
      For a = 0 To 10
        AddGadgetItem (ID, -1, "Elément normal "+Str(a), 0, 0) ; si vous souhaitez ajouter une image, utilisez 
        AddGadgetItem (ID, -1, "Noeud "+Str(a), 0, 0)          ; ImageID(x) comme 4ème paramètre
        AddGadgetItem (ID, -1, "Sous-élément 1", 0, 1)         ; Ceux-là sont au premier sous-niveau 
        AddGadgetItem (ID, -1, "Sous-élément 2", 0, 1)
        AddGadgetItem (ID, -1, "Sous-élément 3", 0, 1)
        AddGadgetItem (ID, -1, "Sous-élément 4", 0, 1)
        AddGadgetItem (ID, -1, "Fichier "+Str(a), 0, 0) ; sous-niveau 0 à nouveau
      Next
    Next
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

OS Supportés

Tous

<- TrackBarGadget() - Gadget Index - UseGadgetList() ->