fonctionnement de ce code :
quand on clic sur une branche du TreeGadget "Petite Fille ..." ou "Arr Petite Fille..."
un StringGadget apparait pour saisir une quantité ainsi qu'un TextGadget et , et en validant avec Return,
la branche sélectionnée change de texte et de couleur et le TextGadget également.
Le problème est que cela ne fonctionne pas toujours correctement.Quand je fais plusieurs saisies
à suivre sur des branches différentes, Je suis obligé assez souvent d'appuyer plusieurs fois sur
la touche Entrée pour valider le fonctionnement.
J'ai constaté également que je suis également obligé de cliquer plusieurs fois sur la croix rouge
pour fermer la fenêtre.
Avez vous une idée sur ces dysfonctionnements?
Merci par avance pour vos réponses
Code : Tout sélectionner
;PB 4.51
Enumeration
#fenet
#Bord
#Text
#TextSaisie
#Saisie
#Valider
#Supprimer
#Save
#Return
EndEnumeration
;Global NewList Article.s()
Global couleurs=RGB($0,$0,$FF)
Global couleurs2=RGB($FF,$0,$AD)
Global couleurs3=RGB($CC,$FF,$FF)
Global couleurs4=RGB($FF,$FF,$FF)
Global leTexte$=""
Global element
Procedure Fenetre_Principale()
If OpenWindow(#fenet, 0, 0, 600, 600, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TreeGadget(#Bord, 10, 110, 550, 450 ,#PB_Tree_AlwaysShowSelection)
TextGadget(#Text, 10, 20,400, 90,leTexte$ )
SetGadgetColor(#Text, #PB_Gadget_FrontColor,Couleurs )
AddKeyboardShortcut(#fenet, #PB_Shortcut_Return, #Return);100
AddGadgetItem (#Bord, -1, "Mére A",0,0)
AddGadgetItem (#Bord, -1, "Fille A1",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille A1.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A1.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A1.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A1.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A1.5",0,2)
AddGadgetItem (#Bord, -1, "Fille A2",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille A2.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A2.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A2.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A2.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A2.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille A2.6",0,2)
AddGadgetItem (#Bord, -1, "Mére B",0,0)
AddGadgetItem (#Bord, -1, "Fille B1",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille B1.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B1.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B1.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B1.4",0,2)
AddGadgetItem (#Bord, -1, "Fille B2",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille B2.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.6",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.7",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B2.8",0,2)
AddGadgetItem (#Bord, -1, "Fille B3",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille B3.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.6",0,2)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.1",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.2",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.3",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.4",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.5",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.6",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.7",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.8",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.9",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.10",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.11",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille B3.6.12",0,3)
AddGadgetItem (#Bord, -1, "Petite Fille B3.7",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.8",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.9",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.10",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.11",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.12",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.13",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.14",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.15",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.16",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.17",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.18",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille B3.19",0,2)
AddGadgetItem (#Bord, -1, "Mére C",0,0)
AddGadgetItem (#Bord, -1, "Fille C1",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille C1.1",0,2)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.1",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.2",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.3",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.4",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.5",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.6",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.7",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.8",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.9",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.10",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.11",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.12",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.13",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.14",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.15",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.16",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.17",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.18",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.19",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.20",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.21",0,3)
AddGadgetItem (#Bord, -1, "Arr Petite Fille C1.1.22",0,3)
AddGadgetItem (#Bord, -1, "Petite Fille C1.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C1.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C1.4",0,2)
AddGadgetItem (#Bord, -1, "Fille C2",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille C2.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.6",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.7",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C2.8",0,2)
AddGadgetItem (#Bord, -1, "Fille C3",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille C3.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C3.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C3.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C3.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C3.5",0,2)
AddGadgetItem (#Bord, -1, "Fille C4",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille C4.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.6",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.7",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.8",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.9",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.10",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.11",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C4.12",0,2)
AddGadgetItem (#Bord, -1, "Fille C5",0,1)
AddGadgetItem (#Bord, -1, "Petite Fille C5.1",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.2",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.3",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.4",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.5",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.6",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.7",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.8",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.9",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.10",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.11",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.12",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.13",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.14",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.15",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.16",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.17",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.18",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.19",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.20",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.21",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.22",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.23",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.24",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.25",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.26",0,2)
AddGadgetItem (#Bord, -1, "Petite Fille C5.27",0,2)
;nbItem=CountGadgetItems(#Bord)
EndIf
EndProcedure
Procedure LesArticles()
element=GetGadgetState(#Bord)
leTexte$= GetGadgetItemText(#Bord, element )
If CreateRegularExpression(0, "\.[0-9]")
If MatchRegularExpression(0, leTexte$)
SetGadgetText(#Text,leTexte$)
SetGadgetColor(#Text, #PB_Gadget_FrontColor,Couleurs )
StringGadget(#Saisie,460,20,70,30,laSaisie$,#PB_String_Numeric )
TextGadget(#TextSaisie,420,20,40,30,"qt")
SetActiveGadget(#Saisie)
If LoadFont(1, "Arial", 14)
SetGadgetFont(#Saisie, FontID(1))
SetGadgetFont(#TextSaisie, FontID(1))
EndIf
Else
FreeGadget(#Saisie)
FreeGadget(#TextSaisie)
If Len(leTexte$) >85
SetGadgetText(#Text,leTexte$)
Else
leTexte$=""
SetGadgetText(#Text,leTexte$)
EndIf
EndIf
EndIf
EndProcedure
Procedure Valider_Saisie()
remplace$="X_ "+leTexte$+" Qt "+GetGadgetText(#Saisie)
SetGadgetItemText(#Bord,element,remplace$)
SetGadgetItemColor(#Bord, element, #PB_Gadget_FrontColor,couleurs2 )
SetGadgetText(#Text,remplace$)
SetGadgetColor(#Text, #PB_Gadget_FrontColor,couleurs2 )
EndProcedure
Fenetre_Principale()
;****************************************************************************************
Repeat
evenement = WaitWindowEvent()
Select evenement
Case #PB_Event_Menu
Select EventMenu()
Case #Return;100
Valider_Saisie()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #Bord
LesArticles()
EndSelect
EndSelect
Until WaitWindowEvent() = #PB_Event_CloseWindow