Activer/Desactiver tout les NSTextFields d'une NSView
Paisible.fr
Membre
Je travaille actuellement sur une Application CoreData.
J'ai plusieurs ecrans sont des NSView avec des "formulaires de saisie" à base de NSTextView, NSDatePicker, etc..
Je souhaiterais que tout ces controles de saisies soit "disabled" par défaut et qu'ils passent en "enabled" lors du click sur un bouton "Edition"
Pour tester j'ai commencé par transformer chacun des champs de saisies dans IBOutlet. Ce qui me permet de passer le champs en enabled/disabled très facilement. Seul problème c'est très vite extrèment fastidieux et lourd.
Du coup j'ai cherché à automatiser la chose en essayant de créer un bout de code qui à partir du NSView me permettrais d'obtenir la liste des NSTextFields (par exemple) contenu.
Je pensais m'en tirer facilement avec [NSView subViews], un test sur le type de champs (cellClass) et un peu de recursivité. Mais je n'y suis pas parvenu. :-\\
Auriez-vous des pistes, conseils, idées, pour m'orienter ou pour essayer de faire avancer le problème ?
Merci.
PS : il va s'en dire que j'ai pris l'exemple du NSTextField pour faire simple mais mes écrans auront également d'autres controlleurs tels que des NSDatePicker, etc...
J'ai plusieurs ecrans sont des NSView avec des "formulaires de saisie" à base de NSTextView, NSDatePicker, etc..
Je souhaiterais que tout ces controles de saisies soit "disabled" par défaut et qu'ils passent en "enabled" lors du click sur un bouton "Edition"
Pour tester j'ai commencé par transformer chacun des champs de saisies dans IBOutlet. Ce qui me permet de passer le champs en enabled/disabled très facilement. Seul problème c'est très vite extrèment fastidieux et lourd.
Du coup j'ai cherché à automatiser la chose en essayant de créer un bout de code qui à partir du NSView me permettrais d'obtenir la liste des NSTextFields (par exemple) contenu.
Je pensais m'en tirer facilement avec [NSView subViews], un test sur le type de champs (cellClass) et un peu de recursivité. Mais je n'y suis pas parvenu. :-\\
Auriez-vous des pistes, conseils, idées, pour m'orienter ou pour essayer de faire avancer le problème ?
Merci.
PS : il va s'en dire que j'ai pris l'exemple du NSTextField pour faire simple mais mes écrans auront également d'autres controlleurs tels que des NSDatePicker, etc...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu peux ajouter une propriété à ton contrôleur.
Après cela, pour chaque contrôle, dans l'onglet Bindings de l'Inspector, tu peux lier la propriété Enabled au contrôleur, sur la clé controlsAreEnabled.
Il suffit ensuite de modifier la propriété de ton contrôleur pour que tous les contrôle appliquent le changement :
Comme quoi j'ai encore pas mal à découvrir des bindings ::)