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é.