Page 1 sur 1

[v4 beta1] TreeGadget and getGadgetState après... [Corrigé]

Publié : lun. 06/févr./2006 13:46
par Progi1984

Code : Tout sélectionner

If OpenWindow(0,10,10,450,400,#PB_Window_ScreenCentered|#PB_Window_SystemMenu, "TreegadgetWorking")
   If CreateGadgetList(WindowID(0))
    TreeGadget(10,0,0,300,400)
    ButtonGadget(20,300,0,150,30,"Ajouter une arborescence")

    ButtonGadget(21,300,30,150,30,"Supprimer 5 et son fils")
    DisableGadget(21,1)
    ButtonGadget(22,300,60,150,30,"Fin")
    DisableGadget(22,1)   
   EndIf
EndIf

Procedure CountTreeGadgetNodeItems(Gadget.l,Item.l)
  For i=item+1 To CountGadgetItems(10)-1
    If GetGadgetItemAttribute(10,i,#PB_Tree_SubLevel)=0
      Break
    Else
      nbfils=nbfils+1
    EndIf
  Next
  ProcedureReturn nbfils
EndProcedure

Repeat
  EventID=WaitWindowEvent()
  GadgetID=EventGadget()
  MenuID=EventMenu()
  Select EventID
    Case #PB_Event_Gadget
      Select GadgetID
        Case 10
          Debug GetGadgetState(10)
        Case 20
          AddGadgetItem(10,0,"1",0,0)
          AddGadgetItem(10,1,"2",0,1)
          SetGadgetItemState(10, 0, #PB_Tree_Expanded )
          AddGadgetItem(10,2,"3",0,2)
          SetGadgetItemState(10, 1, #PB_Tree_Expanded )
          AddGadgetItem(10,3,"4",0,2)
          SetGadgetItemState(10, 1, #PB_Tree_Expanded )
          AddGadgetItem(10,4,"5",0,1)
          SetGadgetItemState(10,0, #PB_Tree_Expanded )
          AddGadgetItem(10,5,"6",0,0)
          AddGadgetItem(10,5,"7",0,2)
          SetGadgetItemState(10,4, #PB_Tree_Expanded )
          AddGadgetItem(10,6,"8",0,1)
          SetGadgetItemState(10,0, #PB_Tree_Expanded )
          DisableGadget(20,1)
          DisableGadget(21,0)
        Case 21
          RemoveGadgetItem(10,4)
          DisableGadget(21,1)
          DisableGadget(22,0)
        Case 22
          End
        Default
          MessageRequester("GadgetID", Str(GadgetID))
      EndSelect
    Case #PB_Event_CloseWindow
      Quit=1
  EndSelect
Until quit=1
Appuyez sur le premier bouton.
Ensuite cliquez sur chq item de l'arbre : pas de problème !
Ensuite cliquez sur le deuxième bouton :
Ensuite cliquez sur chq item de l'arbre : problème au dernier item : il a gardé son state d'origine !

Publié : lun. 06/févr./2006 18:27
par Fred
J'ai essayé et je ne vois pas de probleme ?

Publié : lun. 06/févr./2006 21:35
par LeCyb
Le problème c'est qu'après avoir enlevé le 5 et son fils, le 6 retourne toujours l'index "7" alors qu'il devrait retourner "5".

Avant le delete de 5 et son fils

Code : Tout sélectionner

1 -> 0
  2 -> 1
    3 -> 2
    4 -> 3
  5 -> 4
    7 -> 5
  8 -> 6
6 -> 7
Après le delete de 5 et son fils

Code : Tout sélectionner

1 -> 0
  2 -> 1
    3 -> 2
    4 -> 3
  8 -> 4
6 -> 7     <-- ICI ça devrait être 5 non ?

Publié : lun. 06/févr./2006 21:46
par Progi1984
Merci, LeCyb ! C'est exactement ca !

Publié : mer. 08/févr./2006 1:18
par Fred
C'est corrigé.

Publié : mer. 08/févr./2006 9:14
par Progi1984
Ptite question : quand tu dis que c'est régle, si on télécharge la beta 1 ca fonctionnera ou faut attendre la beta 2 ?

Publié : mer. 08/févr./2006 11:19
par LeCyb
A mon avis (mais cela n'engage que moi) il faudra attendre la beta 2.

Publié : mer. 08/févr./2006 11:32
par Flype
Ce qui est effectivement le plus logique...

Et vu la quantité de correctifs à effectuer pour Fred et son équipe pour cette version 4 beta 1, il va falloir patienter...
En fait, plus on trouvera de bugs, plus il faudra attendre, mais c'est pour notre bien. :P

Au fait, Le Cyb, j'ai loupé un épisode ou tu es modérateur du forum ?
Vous êtes plusieurs ? Régis est-il toujours le modo ?

Publié : mer. 08/févr./2006 11:36
par LeCyb
En effet j'ai la possibilité de modérer mais mon rôle est de faire le nettoyage de sujets (du moins pour le moment).
Pour Régis j'ai aucune idée.

Publié : mer. 08/févr./2006 16:07
par Backup
LeCyb a écrit :En effet j'ai la possibilité de modérer mais mon rôle est de faire le nettoyage de sujets (du moins pour le moment).
Pour Régis j'ai aucune idée.
j'ai loupé un épisode , 8O
depuis quant t'es moderateur toi ? 8O
et pour quelle raisons ? (pour remplacer Le soldat inconnu ? 8O )

d'habitude lorsqu'un modo etait désigné, cela faisai l'objet d'un accord
de l'ensemble du forum, la j'ai l'impression que cela a ete fait en catimini :?

(en l'ocurence j'ai rien contre , mais cela aurai pu me deranger)

Publié : mer. 08/févr./2006 16:43
par Flype
ouai c'est vrai çà - moi je t'apprécie Le Cyb pas de problème de ce coté là - mais bon je comprends pas comment tu as eu ta promo, t'es passé sous le bureau, cochon...

Publié : mer. 08/févr./2006 19:09
par LeCyb
Mdr Flype :mrgreen:

Moi je ne vois pas ça comme un "promo" mais comme un moyen de participer plus activement (vu que j'ai pas des masses de thune et que je suis pas aussi bon que toi :D).

Modérateur ce n'est pas mon rôle, ma tâche c'est de nettoyer les sujets dans Bugs et Suggestions.
Donc en aucun cas je vais éditer vos messages d'insultes, vos images cochonnes et autres dérapages :D.

Donc Dobro ne t'inquiète pas, si un jour on me demande ou j'ai l'envie d'être modo je serai le premier à en débattre sur la place publique.

Publié : mer. 08/févr./2006 20:15
par comtois
Félicitations Lecyb

Tu as bien nettoyé , c'est vrai que c'est plus lisible avec ces jolis titres :)

Publié : mer. 08/févr./2006 20:34
par LeCyb
Merci, j'essaye de faire au mieux :).

Publié : mer. 08/févr./2006 21:24
par Flype
C'est clair c'est beaucoup mieux... merci Le Cyb.
Moi je ne vois pas ça comme un "promo" mais comme un moyen de participer plus activement (vu que j'ai pas des masses de thune et que je suis pas aussi bon que toi ).
:oops: mais je ne suis pas très bon. je fais ce que je peux.
en plus sérieux je gagne une misère pour un programmeur.
heureusement que j'aime ce que je fais. :D