ListIconGadget() différent sous linux et windows

Codes specifiques à Linux
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

ListIconGadget() différent sous linux et windows

Message par comtois »

Hier soir j'ai testé sous linux mon petit code sur sqlite
http://www.purebasic.fr/french/viewtopic.php?t=8749
il fonctionne comme sous windows ou presque, c'est une bonne chose.

Par contre je ne vois pas le même nombre de colonnes dans les ListIconGadget() selon le système.

Par exemple pour la liste des éditeurs je n'ai créé qu'une colonne, et c'est bien le cas sous linux, je ne vois qu'une colonne, par contre sous windows il y a deux colonnes.

Bref, en clair sous windows, j'ai toujours une colonne de plus que le nombre voulu !!

Bug ou pas bug ?

idem pour la sélection , je n'ai pas le même comportement d'un système à l'autre :
sous linux j'ai d'office la sélection de la ligne entière sans passer par les options,
sous windows, il faut ajouter cette constante #PB_ListIcon_FullRowSelect

Bug ou pas bug ?

Je découvre le monde de PB sous linux , c'est peut-être normal, mais ça surprend de ne pas retrouver le même comportement avec le même code, peut-être que la valeur par défaut sous windows devrait être #PB_ListIcon_FullRowSelect pour réagir comme la version linux.

pour les habitués de linux , il faut s'étonner de ces petites différences ou c'est normal ?

l'idée derrière tout ça, c'est soit il est possible de corriger PB pour obtenir le même comportement et dans ce cas faire un rapport de bug, soit il faut corriger la doc pour faire apparaitre ces petites nuances d'un os à l'autre.

Qu'en pensez vous pour les plus expérimentés avec le multiplateforme, vous constatez souvent des différences de ce type ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Pour un projet en cours, je m'étais attelé à utiliser ListIconGadget().
J'avais exactement ce que je voulais sous Linux, malheureusement sous Windows ce n'est plus la même chose.
Je mets une image complète dans le listIconGadget de Linux, mais sous Win, l'image est limité à 64x64 maxi 8O
Obligé alors de programmer une autre façon de faire pour avoir la même chose sur les 2 plateformes (voire 3 avec mac)

Maintenant j'utilise ScrollGadgetArea et, bien sur, le comportement est différent sous les 2 plateformes, je suis obligé de faire un truc du genre :

Code : Tout sélectionner

    CompilerSelect #PB_Compiler_OS
      CompilerCase #PB_OS_Windows
        ScrollAreaGadget(2, 10, 5, 40 * #VAL * #CHAR_W + 6, 24 * (#CHAR_H + 2) + 4, 0, 0, 16 + 2)
      CompilerCase #PB_OS_Linux
        ScrollAreaGadget(2, 10, 5, 40 * #VAL * #CHAR_W + 6, 24 * (#CHAR_H + 2), 0, 0, 16)
    CompilerEndSelect
D'ailleurs sous Linux le ScrollStep du ScrollAreaGadget n'est pas géré

Conclusion : il y a du sport pour faire une application multiplateforme, mais c'est aussi tout l'intérêt
Bonne continuation :wink:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

je renonce à reporter les petites différences entre os dans la doc, j'ai l'impression que je ne ferais que ça :)

D'où l'intérêt de passer souvent d'un os à l'autre quand on développe une appli multiplateforme, comme le soulignait Freak dans un article.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

C'est bete que l'idée du wiki est été abandonné, car c'est dans ces moments là, que cela aurait été intéressant à rentrer.
Répondre