Bien que je parlais plus précisément du choix de l'utilisateur, par l'item sélectionné par le combo,
Je suis plutôt d'accord avec ce que tu dis pour l'API de windows .

Bien que cela aille un peu à contre sens du MVC ou 3-Tier,
je suis sous .Net et certaine fonctionnalité tel que le Bending , ou la possibilité d'utiliser n'importe quel objet en tant qu'item, permettent d’énormément simplifier le mécanisme de synchronisation de la source de choix et du combo.

Comme rien n'est immuable dans le monde informatique, je me posais la question d'utiliser ces possibilités ou si elles n’existaient en fait que pour d'autres chose dont je voulais les détourner... Si l'on considère un tableau constitué d'objet représentant des jours de la semaine. et un combo.

Première solution :
J'associe le tableau au combo pour qu'il se synchronise, Par défaut le premier élément est sélectioné
si l'utilisateur sélectionne un jour
le combo notifie ses abonnés de son changement

Seconde solution, avec une variable de sélection :
je remplis le combo avec le contenu du tableau.
J'initialise ma variable de sélection
La variable de sélection notifie le combo de son changement d'état
Si L'utilisateur sélectionne un jour
Le combo notifie ma variable de sélection, et ses abonné, du changement
et la variable de sélection notifie le combo de son changement d'état


Si le tableau devient dynamique, la première solution ne change pas, mais la seconde demandera encore l'ajout du mécanisme de synchronisation...
D’où mes interrogations..

Le 25/03/2014 12:09, QuentinC a écrit :
Salut,

Sous windows, on peut stocker de l'user-data pour chaque item d'une liste, mais seulement 4 bytes, soit un et un seul entier ou un pointeur arbitraire.

Mais perso, je pense que c'est beaucoup mieux de bien différencier les données et les problématiques d'UI/affichage. Ainsi, je pense que c'est mieux de se baser uniquement sur l'index des items sélectionnés, ou de n'utiliser l'user-data par item que pour stocker un identifiant ou une string faisant référence à une autre structure de données complètement séparée. Le problème de tout vouloir mettre ensemble est le suivant: que se passe-t-il si un jour tu décides de remplacer ta list par une combo box, une list view ou une liste arborescente ? et que se passerait-il si tu décides de changer de framework (WX, QT, GTK, etc.) il se pourrait bien que tu aies à tout revoir l'organisation de tes données. Alors que si c'est à part c'est plus facile.
Progliste :
Pour se désinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.



--
LavaChri

Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à