Utilisation 2 NSPopUpButton est des Bindings
aranaud
Membre
Grâce à ce sujet Popup et bindings, j'ai pu de problème pour gérer un NSPopUpButton : l'affichage de la liste et l'enregistrement de la sélection.
Le problème se corse au moment où je veux en utiliser 2 à la fois mais qui sont lié
Le choix du premier doit afficher une liste différents le seconds suivant sa sélection.
J'ai essayé de faire un binding par programme mais sa ne marche pas.
[Fichier joint supprimé par l'administrateur]
Le problème se corse au moment où je veux en utiliser 2 à la fois mais qui sont lié
Le choix du premier doit afficher une liste différents le seconds suivant sa sélection.
J'ai essayé de faire un binding par programme mais sa ne marche pas.
[Fichier joint supprimé par l'administrateur]
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
• popup1 > NSArrayController1
• popup2 > NSArrayController2
et NSArrayController2 > selection de NSArrayController1.
Ta structure sous-jascente doit être de type arborescente, ou alors, si tu calcules les valeurs du deuxième popup à la volée, il faudrait modifier les accesseurs objectInMachinAtIndex: et numberOfMachin.
Ou bien NSTreeController qui gère l'arbre.
Je t'envoie un exemple si tu rames.
Avec l'utilisation des tableaux, la sélection des listes ce fait bien.
Je n'ai jamais utilisé cette object NSTreeController car je n'ai pas trop compris a quoi il sert. Si tu as un exemple, je veux bien.
Nota : je préférais le faire avec des bindings ou notification pour des questions de simplifications du code.
Il faudrait connaitre la structure de tes Array (ou plutot des objets qui sont dedans).
Si t'as vraiment des relations père=> fils, effectivement le TreeController peut être judicieux .
Sinon, aucun intérêt.
Donne nous la composition des objets de tes 2 arrays pour voir...
En version simplifier :
[Fichier joint supprimé par l'administrateur]
Après à toi de voir entre la solution la plus simple et avec moins de code (directement utiliser un NSArray de NSArray ou NSDict de NSDict) ou la plus structurée (créer une classe perso qui rend les choses un peu plus claires), c'est selon ce qui te parait le plus clair pour comprendre le fonctionnement. Mais suivre l'exemple de MacBi peut être un bon début en effet.
Ce n'est pas seulement le plus simple et le plus trivial, c'est aussi quasiment le seul. On peut aussi l'utiliser avec des NSBrowser, et c'est tout: Apple déconseille fortement de l'utiliser même pour des NSView perso.
Sinon NSTreeController est utile si on a une collection avec des objets d'un seul type et qui ont entre eux des relations père-fils. À voir les captures que tu montres, ce n'est pas le cas, 2 array controllers seraient plus judicieux.
[Fichier joint supprimé par l'administrateur]
Il semble que les bindings soit limité à certains options et que l'on ne peut utiliser en même temps. :crackboom:-
[Fichier joint supprimé par l'administrateur]
Il est comme même un peut étrange que l'on ne puisse pas le faire directement avec l'interface.
[Fichier joint supprimé par l'administrateur]
Merci d'avance.
<remarques>
Deux choses pénibles suites aux nombreux changements d'url et évolutions du site :
1) les anciennes urls ne fonctionnent souvent plus et ne sont plus référencées
2) les pièces jointes ont tendances à disparaitre.
</remarques>
Vu de quand sa date, je doute de les retrouver. Surtout que sa ma tellement pris la tête sa en plus que il y a des changement impromptu à chaque changement de version qui fond que des truck qui fonctionne dans le système 10.4 ne fonction plus dans le 10.5 et pareille au passage de la version 10.6.
Sa ma un peu dégouter de programmer en cocoa.
Sinon pour les fichiers j'espère que les admins on un petit backup sous le coude.
Amicalement
Enfin, pas grave. Je suis passé à autre chose. La j'ai pas le temps de faire une recherche mais je dois encore avoir les sources quelques pas. Je les remettra si je les retrouve.