Bug OptionGadget et Textgadget(4.40)

Archive.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Bug OptionGadget et Textgadget(4.40)

Message par Ar-S »

Voilà ce que je considère comme un bug concernant les OptionGadget mélées aux TextGadget

Lorsque l'on ordonne son code dans l'ordre de ce qui apparait dans l'interface d'un logiciel, c'est plus clair, du coup lorsque je veux créer de multiples options
mais n'en sélectionner qu'une à chaque fois, je créés des "titres" puis les options. le soucis est que si je mets les titres dans l'ordre genre : Titre1 option1 option2 titre2 option 3 option4, et bien cela ne me permet plus de n'avoir qu'un choix possible..

Exemple qui sera plus parlant

Code : Tout sélectionner

Enumeration
  #Window_0: #Option_0: #Option_1: #Option_2: #Option_3: #text_4: #text_5: #String
EndEnumeration

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; Mon 1er titre 
    OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
    OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
    TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center)  ; Mon second titre 
    OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
    OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
    SetGadgetState(#Option_0,1)
    StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
    SetGadgetText(#String,GetGadgetText(#Option_0))
  EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Option_0
          SetGadgetText(#String,GetGadgetText(#Option_0))
        Case #Option_1
          SetGadgetText(#String,GetGadgetText(#Option_1))
        Case #Option_2
          SetGadgetText(#String,GetGadgetText(#Option_2))
        Case #Option_3
          SetGadgetText(#String,GetGadgetText(#Option_3))
        Case #text_4
        Case #text_5
      EndSelect
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver
Ici si on choisi gadget2, on s'aperçoit que le 1er gadget reste aussi selectionné

alors que si on remplace la section openwindow... par

Code : Tout sélectionner

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    
    OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
    OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
    OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
    OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
    TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; On place les textes groupés sous les options
    TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center) ; On place les textes groupés sous les options
    SetGadgetState(#Option_0,1)
    StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
    SetGadgetText(#String,GetGadgetText(#Option_0))
  EndIf
EndProcedure
On voit que cette fois ça marche..

Donc ma question.. Bug ou fait exprès ?
Si c'est fait exprés, il serait bon d'ajouter ce détail à la doc. J'ai mis qques minutes à comprendre pourquoi ça me faisait ça dans l'interface de mon soft.
Voilou
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Bug OptionGadget et Textgadget(4.40)

Message par Backup »

la soluce consciste a grouper les gadgets par genre !!
pour reprendre ton exemple 1 :

Code : Tout sélectionner

Enumeration
    #Window_0: #Option_0: #Option_1: #Option_2: #Option_3: #text_4: #text_5: #String
    #Gadget
EndEnumeration

Procedure OpenWindow_Window_0()
    If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
          TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; Mon 1er titre
            TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center)  ; Mon second titre
        OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
        OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
        
        OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
        OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
        SetGadgetState(#Option_0,1)
        StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
        SetGadgetText(#String,GetGadgetText(#Option_0))
    EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_Gadget
            Select EventGadget()
                  
                Case #Option_0
                    SetGadgetText(#String,GetGadgetText(#Option_0))
                Case #Option_1
                    SetGadgetText(#String,GetGadgetText(#Option_1))
                Case #Option_2
                    SetGadgetText(#String,GetGadgetText(#Option_2))
                Case #Option_3
                    SetGadgetText(#String,GetGadgetText(#Option_3))
                Case #text_4
                Case #text_5
            EndSelect
        Case #PB_Event_CloseWindow
            Select EventWindow()
                Case #Window_0
                    CloseWindow(#Window_0)
                    Break
            EndSelect
    EndSelect
ForEver

perso ton truc ne me serai pas arrivé , car j'ai tendance a grouper les gadgets par famille !

;)

toutefois, ils doit s'agir d'un bug, je pense :)
car ici le titre se comporte comme un containergadget
( en principe les option devrai etre toujour dans un container .... )
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Bug OptionGadget et Textgadget(4.40)

Message par Ar-S »

oui oui, d'ou mon second exemple qui fonctionne aussi, mais c'est vrai que c'est génant, moi je prefères mettre mes gadgets de façon visuel...
Pour info dans un containergadget, le problème persiste. :?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre