Page 1 sur 1

[V4 Beta 11] Tree Gadget et #PB_Tree_Expanded

Publié : mar. 09/mai/2006 7:53
par Thyphoon
Je ne sais pas si c'est moi ou si il y a vraiment un bug
mais lorsque je creer un TreeGadget

si je fait un

Code : Tout sélectionner

SetGadgetItemState(#Grp_Group, id, #PB_Tree_Expanded | #PB_Tree_Selected)
le TreeGadget selectionne bien mais ne deploie pas les noeuds jusqu'a l'élément selectionné !

quelqu'un a t'il eu le même problème ?
voici un exemple avec le code de la notice

Code : Tout sélectionner

  If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    TreeGadget(0, 10, 10, 160, 160)                                         ; TreeGadget standard
    TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines)  ; TreeGadget with Checkboxes + NoLines
    For ID = 0 To 1
      For a = 0 To 10
        AddGadgetItem (ID, -1, "Normal Item "+Str(a), 0, 0) ; if you want to add an image, use 
        AddGadgetItem (ID, -1, "Node "+Str(a), 0, 0)        ; ImageID(x) as 4th parameter
        AddGadgetItem(ID, -1, "Sub-Item 1", 0, 1)    ; These are on the 1st sublevel  
        AddGadgetItem(ID, -1, "Sub-Item 2", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 3", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 4", 0, 1)
        AddGadgetItem (ID, -1, "File "+Str(a), 0, 0) ; sublevel 0 again
      Next
    Next
    SetGadgetItemState(0, 3, #PB_Tree_Expanded | #PB_Tree_Selected)
 Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
j'ai rajouté un setgadgetitemState avant la boucle, pour selectionner le 3ème élements
vous remarquerez qu'il faut cliquez sur le noeud pour voir l'element selectionné et que certaine fois vous vous trouver du coup avec 2 selections

Publié : mar. 09/mai/2006 10:41
par Progi1984
Le param #PB_Tree_Expanded est pour les noeuds ainsi : SetGadgetItemState(0, 1, #PB_Tree_Expanded | #PB_Tree_Selected) fonctionne parfaitement.

Le param #PB_Tree_Selected permet de sélectionner un item

Publié : mar. 09/mai/2006 10:50
par Thyphoon
Progi1984 a écrit :Le param #PB_Tree_Expanded est pour les noeuds ainsi : SetGadgetItemState(0, 1, #PB_Tree_Expanded | #PB_Tree_Selected) fonctionne parfaitement.

Le param #PB_Tree_Selected permet de sélectionner un item
donc il n'y a pas moyen d'ouvrir l'arborescence et de montrer l'élément selectioné automatiquement ?

Publié : mar. 09/mai/2006 11:23
par Progi1984
Si :
tu détectes si l'item est un noeud
OUI :
- tu l'ouvres
NON :
- tudétextes le père
- tu ouvres le père
- tu sélectionnes l'item

Publié : mar. 09/mai/2006 11:42
par Thyphoon
Progi1984 a écrit :Si :
tu détectes si l'item est un noeud
OUI :
- tu l'ouvres
NON :
- tudétextes le père
- tu ouvres le père
- tu sélectionnes l'item
En faisiant une recherche sur le forum j'ai trouvé ces fonctions :
OpenTreeGadgetNode(10,0)
CloseTreeGadgetNode(10,1)
mais elles ne sont pas documenté dans la notice de Purebasic c'est normal ?
Est ce qu'il existe des fonctions pour savoir si il sagit d'un noeud ou pas ?

Merci de ton aide :P

Publié : mar. 09/mai/2006 13:47
par Progi1984
Voir si le suivant a un rang de plus ou non :)

Publié : mar. 09/mai/2006 13:52
par Thyphoon
Progi1984 a écrit :Voir si le suivant a un rang de plus ou non :)
apparement ça doit être dans une userlib car ça ne marche chez moi :(

Publié : mar. 09/mai/2006 15:33
par Flype
@typhoon
ces fonctions sont celles de PB3.94
elles n'existent plus depuis PB4.0