ListIconGadget - Ordre des colonnes - solution
ListIconGadget - Ordre des colonnes - solution
Bonjour,
Il est possible d'obtenir les données d'une ListIconGadget dans l'ordres des colonnes mais si l'ordre a été changé par l'utilisateur avec l'option '#PB_ListIcon_HeaderDragDrop' activée, l'ordre obtenu est toujours l'ordre initial. Est-il possible d'obtenir l'ordre réel obtenu après déplacement des colonnes.
Remarque : Le code est prévu pour fonctionner sur les 3 os Mac , Linux et windows
Complement : par contre GetGadgetItemAttribute(Gadget, #PB_Ignore, #PB_ListIcon_ColumnWidth, c) donne la largeur de la colonne dans le nouvel ordre.
Bien cordialement
Il est possible d'obtenir les données d'une ListIconGadget dans l'ordres des colonnes mais si l'ordre a été changé par l'utilisateur avec l'option '#PB_ListIcon_HeaderDragDrop' activée, l'ordre obtenu est toujours l'ordre initial. Est-il possible d'obtenir l'ordre réel obtenu après déplacement des colonnes.
Remarque : Le code est prévu pour fonctionner sur les 3 os Mac , Linux et windows
Complement : par contre GetGadgetItemAttribute(Gadget, #PB_Ignore, #PB_ListIcon_ColumnWidth, c) donne la largeur de la colonne dans le nouvel ordre.
Bien cordialement
Dernière modification par Bmld76 le dim. 23/avr./2023 13:24, modifié 2 fois.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
J'ai bien essayé mais je n'arrive à rien de probant.
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: ListIconGadget - Ordre des colonnes
Merci, je viens de faire un programme test et le résultat m'inique un problème PureBasic
Avec le programme de test , on observe que l'ordre suit les commutations pour la taille et les titres mais pas pour les datas. J'ai vu un forum Bug, je vais le poster.
Bien cordialement

Apres commutation des colonnes

Avec le programme de test , on observe que l'ordre suit les commutations pour la taille et les titres mais pas pour les datas. J'ai vu un forum Bug, je vais le poster.
Bien cordialement

Apres commutation des colonnes

Code : Tout sélectionner
Procedure ordre()
For colonne = 0 To CountGadgetItems(0)
Debug GetGadgetItemText(0, -1 ,colonne ) +" "+GetGadgetItemText(0, 0 ,colonne ) + " "+GetGadgetItemAttribute(0, #PB_Ignore, #PB_ListIcon_ColumnWidth, colonne)
Next
Debug ""
EndProcedure
; Démonstration des options possibles pour le gadget liste avec icônes...
If OpenWindow(10, 0, 0, 700, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
; colonne de gauche
TextGadget (6, 10, 10, 330, 20, "Liste avec icônes standard", #PB_Text_Center)
ListIconGadget(0, 10, 25, 500, 200, "Colonne 1", 100,#PB_ListIcon_HeaderDragDrop)
ButtonGadget(1, 10, 260, 100, 25, "ORDRE")
For b = 2 To 4 ; ajouter 3 colonnes supplémentaires
AddGadgetColumn(a, b, "Colonne " + Str(b), 40+b*10)
Next
For b = 0 To 2 ; ajouter 4 éléments à chaque ligne des listes avec icônes
AddGadgetItem(a, b, "1"+Chr(10)+"2"+Chr(10)+"3"+Chr(10)+"4")
Next
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
ordre()
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Dernière modification par Bmld76 le mar. 20/sept./2022 10:59, modifié 1 fois.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
Sous windows , rien ne change Bizarre...


_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
Le numéro de tes colonnes étant assigné au moment de la création de ces colonnes, je crois que le déplacement de ces dernières n'a pas d'impact.
Ce sont des constantes. Peut importe les modifications visuelles que tu y apportes. Ce n'est pas forcément un bug
(enfin c'est ma conclusion)
Ce sont des constantes. Peut importe les modifications visuelles que tu y apportes. Ce n'est pas forcément un bug
(enfin c'est ma conclusion)
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: ListIconGadget - Ordre des colonnes
Ok, mais le résultat n'est pas le même suivant l'OS, ce n'est pas normal. Sur MacOs titre et taille suive le nouveau choix mais pas les datas, ca non plus ce n'est pas normal. Si c'est la version windows qui est correcte , c'est dommage car je désire obtenir l'ordre choisi par l'utilisateur.
cordialement
cordialement
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
Si selon l'OS les résultats diffèrent c'est effectivement à signaler en section bug (du forum anglais sinon ça risque de passer à l'as)..
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: ListIconGadget - Ordre des colonnes
Signalé et réponse de mk-soft
Fred has changed the internal editing. This means that the text is no longer directly in the NSTableView, but in the object PBIconTextCell.
This is therefore a bug.
See: https://www.purebasic.fr/english/viewtopic.php?t=79842
P.S.
I just saw that the data has always been stored internally, even with PBv 5.73.
Fred has changed the internal editing. This means that the text is no longer directly in the NSTableView, but in the object PBIconTextCell.
This is therefore a bug.
See: https://www.purebasic.fr/english/viewtopic.php?t=79842
P.S.
I just saw that the data has always been stored internally, even with PBv 5.73.
Dernière modification par Bmld76 le dim. 25/sept./2022 21:56, modifié 1 fois.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
Windows seulement, mksoft a donné un code pour macos sur le forum uk.
M.
Code : Tout sélectionner
Procedure.s GetGadgetItemTextListIcon(Gadget, Element, Colonne)
Protected entete, ncols, NouvelOrdreCol, i, j
entete = SendMessage_(GadgetID(Gadget), #LVM_GETHEADER, 0, 0)
ncols = SendMessage_(entete, #HDM_GETITEMCOUNT, 0, 0)
Dim elements.l(ncols)
NouvelOrdreCol = SendMessage_(entete, #HDM_GETORDERARRAY, ncols, @elements())
If NouvelOrdreCol <> 0
ProcedureReturn GetGadgetItemText(Gadget, Element , elements(Colonne) )
Else
ProcedureReturn ""
EndIf
EndProcedure
#listicon = 0
#button = 1
; Démonstration des options possibles pour le gadget liste avec icônes...
If OpenWindow(10, 0, 0, 700, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
; colonne de gauche
TextGadget (6, 10, 10, 330, 20, "bug listicon entete drag n drop", #PB_Text_Center)
ListIconGadget(#listicon, 10, 25, 500, 200, "Colonne 0", 100,#PB_ListIcon_HeaderDragDrop)
ButtonGadget(#button, 10, 260, 100, 25, "ORDRE")
For i = 1 To 3 ; ajouter 3 colonnes supplémentaires
AddGadgetColumn(#listicon, i, "Colonne " + Str(i), 50+i*10)
Next i
For i=0 To 4
addtext$ = "C0:L" + Str(i) + Chr(10) + "C1:L" + Str(i) + Chr(10) + "C2:L" + Str(i) + Chr(10) + "C3:L" + Str(i)
AddGadgetItem(0,-1, addtext$)
Next i
add01$="add0"+ Chr(10) + "add1"
AddGadgetItem(0,-1, add01$)
add2$="add2"
AddGadgetItem(0,-1, add2$)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #button
For i=0 To 3
Debug GetGadgetItemTextListIcon(#listicon, -1, i)
Debug GetGadgetItemTextListIcon(#listicon, 0, i)
Next i
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: ListIconGadget - Ordre des colonnes
A la lecture de ce sujet,
bonne observation de l'auteur,
bonne réaction de l'auteur.
Je ne connaissais même pas cette option de changement de colonne.
Je vais demander dans quels délais, Fred pourra résoudre le bug.
PS: Par contre, Bmld76, tes hyper-liens, à l'avenir, il faudra les faire "propre"
(url)http:://etc.unsite.oui(/url)
(avec des crochets à la place des parenthèses)
https://www.purebasic.fr/english/viewto ... 70#p584170
ps: @Bmld76 c'est un canular ton lien : ça parle de couleur de fond de colonne.... On perd vite du temps...
Ok... Trouvé un vieux sujet pour Windows seulement de 2007 repris par kcc en 2015, c'est trop vieux et c'est dans coding questions section pas dans les bugs reports...
https://www.purebasic.fr/english/viewtopic.php?p=466504
Je vais vérif quand même avec ton pseudo... Mais c'est vraiment beaucoup de temps à consacrer à la place d"un simple clic...
Ça y est ! Je t'ai trouvé ! Pffou... Tu t'étais bien caché ! Alors le but c'est que ce problème soit résolu rapidement.
(autre syntaxe d'hyper lien : (url=http://etc.unsite.oui)Expression de présentation(/url)
)
Le vrai lien objectif de ce sujet
(lien classique pour copier/coller facile pour les autres)
https://www.purebasic.fr/english/viewtopic.php?t=79842
bonne observation de l'auteur,
bonne réaction de l'auteur.
Je ne connaissais même pas cette option de changement de colonne.
Je vais demander dans quels délais, Fred pourra résoudre le bug.
PS: Par contre, Bmld76, tes hyper-liens, à l'avenir, il faudra les faire "propre"
(url)http:://etc.unsite.oui(/url)
(avec des crochets à la place des parenthèses)
https://www.purebasic.fr/english/viewto ... 70#p584170
ps: @Bmld76 c'est un canular ton lien : ça parle de couleur de fond de colonne.... On perd vite du temps...
Ok... Trouvé un vieux sujet pour Windows seulement de 2007 repris par kcc en 2015, c'est trop vieux et c'est dans coding questions section pas dans les bugs reports...
https://www.purebasic.fr/english/viewtopic.php?p=466504
Je vais vérif quand même avec ton pseudo... Mais c'est vraiment beaucoup de temps à consacrer à la place d"un simple clic...
Ça y est ! Je t'ai trouvé ! Pffou... Tu t'étais bien caché ! Alors le but c'est que ce problème soit résolu rapidement.
(autre syntaxe d'hyper lien : (url=http://etc.unsite.oui)Expression de présentation(/url)
)
Le vrai lien objectif de ce sujet
(lien classique pour copier/coller facile pour les autres)
https://www.purebasic.fr/english/viewtopic.php?t=79842
Re: ListIconGadget - Ordre des colonnes
Bonsoir,
Merci Ollivier pour ces réponses et désolé pour mon lien pourri. Effectivement, je n'ai pas fait attention j'ai du mélangé les liens, je suis un gros développement et je traite plusieurs problèmes à la fois.
Par contre, je vais voir les liens qui traitent de ce sujets que je n'avais pas trouvé.
Bien cordialement
Merci Ollivier pour ces réponses et désolé pour mon lien pourri. Effectivement, je n'ai pas fait attention j'ai du mélangé les liens, je suis un gros développement et je traite plusieurs problèmes à la fois.
Par contre, je vais voir les liens qui traitent de ce sujets que je n'avais pas trouvé.
Bien cordialement
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes
Bonsoir,
Je viens de vérifier avec la version 6.01, le problème des entêtes qui ne suivent pas les colonnes n'est pas résolu.
Je viens de vérifier avec la version 6.01, le problème des entêtes qui ne suivent pas les colonnes n'est pas résolu.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: ListIconGadget - Ordre des colonnes - solution
Pour solutionner le problème , il suffit de prendre en compte les entêtes de colonne et non leur position qui suivent bien le déplacement des colonnes. Comment ne pas y avoir pensé plus tot.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS