Bindings pour IKImageBrowserView
Philippe49
Membre
La doc d'Image Kit présente l'utilisation des IKImageBrowserView en utilisant un protocole de type data-source.
Ce document (très simple) en donne une lecture version bindings.
remarques :
mise à jour le 4 novembre
Les méthodes dealloc() sont à rajouter
Mac OS X 10.5, novembre 2007
Sans garantie de l'auteur, merci de signaler les erreurs/imprécisions/améliorations
[Fichier joint supprimé par l'administrateur]
Ce document (très simple) en donne une lecture version bindings.
remarques :
mise à jour le 4 novembre
Les méthodes dealloc() sont à rajouter
Mac OS X 10.5, novembre 2007
Sans garantie de l'auteur, merci de signaler les erreurs/imprécisions/améliorations
[Fichier joint supprimé par l'administrateur]
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'en ai pondu un petit projet que voici.
J'ai rajouté quelques "goudises" : le filtrage à partir du nom de fichier et le réagencement/suppression des images.
[Fichier joint supprimé par l'administrateur]
Comme toi je ne vois pas comment intercepter ce moveItems autrement que par la data-source.
Quand une vue comme ce IKImageBrowserView réalise un réagencement des images elle envoie le message à sa data-source. Quelle est la meilleure façon d'intercepter le message ?
Je suis en train d'étudier la version d'une catégorie sur le NSArrayController pour rester dans l'esprit controller, en déclarant ce contrôleur comme data-source ...
Si tu veux intercepter le résultat sur le model, tu peux aussi observer le NSArrayController bindé avec "arrangedObjects" en keyPath (pas essayé).
Tout dépend du but recherché.
je le pense aussi.
Voici la solution avec une catégorie sur NSArrayController, voir la suite du tuto (2) ..
Pour remove, il suffit de connecter à remove: du NSArrayController
[Fichier joint supprimé par l'administrateur]
(dont NSSearchField bindé pour présenter une partie des images)Â
[Fichier joint supprimé par l'administrateur]
Est-ce que tu as essayé de binder la selection à une IKImageView ? J'ai l'impression, et c'est une grosse déception, que contrairement à NSImageView, il n'y a pas de binding "data" ou "value" pour IKImageView. En plus je ne vois pas comment récupérer la selection du IKImageBrowser pour l'injecter à la main dans une IKImageView.
Non, je vais essayer ...
Une question sur le binding du NSSearchField : sais-tu l'utilité et les précautions à prendre pour le champ "Display Name" ?
C'est le label qui apparait quand on veut choisir un critère de sélection en cliquant à gauche du searchfield. Que je sache , ça peut être n'importe quoi.
Edit: je viens de m'apercevoir que ce label n'apparait pas. J'imagine que c'est le sens de ta question. Le filtrage par contre marche bien.
Si on ajoute un second critère, là les deux aparaissent. Bizarre, je ne me souviens pas de ce comportement avec 10.4.
J'ai qu'un seul problème c'est comment intégrer le drag & drop.
En ne passant par le bindings j'avais très bien réussi mais là sa bloque.
J'ai pourtant bien lié le delegate a une classe (de type NSObjet) avec - (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
Mais rien n'y fait. Je suis autodidacte donc j'ai peut-être raté quelque chose de gros comme une maison mais si vous pouviez m'aider s'a m'aiderai beaucoup
Pour le moveItems même problème pourtant comme dit ici j'ai subclassé mon NSArrayController je l'ai lié comme data source en plus du binding avec dedans la fonction donnée plus haut et pourtant rien ne move
Merci d'avance
Dans le genre gros comme une maison, il y a la property supportsDragAndDrop, amis là c'est un immeuble
data-source + bindings , cela doit faire mal ... On fait l'un ou l'autre
1) Tu es donc dans la classe du NSArrayController : As-tu correctement donné la classe dans le nib ?
2) Le mécanisme du binding n'a pas l'air de fonctionner par le simple addAnImageWithURLDrop:, il faut le déclencher en l'encadrant par des méthodes signalant au binding d'être activé.
(autre solution : faire le addObject sur la NSMutableArray qui sert de model au NSArrayController)