custom cell dans interface builder
Philippe49
Membre
Comment faire une NSMatrix dans IB à partir de son propre choix de NSCell
On trouve à faire des matrices à partir de NSTextFieldCell, NSButtonCell, et NSFormCell mais je ne trouve pas la manip pour en faire une à partir de la classe perso héritant de NSBrowserCell.
(Je tiens via à stocker dans IB des données arborescentes, permettant une internationalisation de l'appli)
Merci de votre aide
javascript:replaceText('%20:fouf):',%20document.forms.postmodify.message);
On trouve à faire des matrices à partir de NSTextFieldCell, NSButtonCell, et NSFormCell mais je ne trouve pas la manip pour en faire une à partir de la classe perso héritant de NSBrowserCell.
(Je tiens via à stocker dans IB des données arborescentes, permettant une internationalisation de l'appli)
Merci de votre aide
javascript:replaceText('%20:fouf):',%20document.forms.postmodify.message);
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Et puis, comme tu es nouveau, bienvenue à toi, et, d'autre part, tout nouveau se doit d'offrir sa tournée générale. ...Pour moi ça sera champagne en ce jour de nouvel an. 8)
Oui, les solutions en utilisant le code sont nombreuses, mais j'aurais trouvé plus élégant de stocker dans IB les données (assez lourdes) dont j'ai besoin pour créer mon NSBrowser : ce Browser contient en fait une arborescence d'options que l'utilisateur peut choisir à son gré.
J'ai vu que que l'on pouvait sousclasser NSMatrix dans IB, et instantier une sous-classe. Mais là encore je n'arrive pas à y mettre mes données sous la forme utile (sous-classe de NSBrowserCell, contenant des outlets et une action sous forme d'un sélecteur)
Pour l'instant, j'ai trouvé le stockage dans des matrices de NSTextField ou des NSPopupbutton, avec recopie dans le code. Mais c'est moche ... Autre solution avec un fichier.
.
Oui, palettiser est le plus rigolo. C'est l'occasion de l'apprendre entre autre.
J'ai un problème maintenant avec les custom palette. Je suis un pdf récupéré sur cocoadev (parce que sur la doc apple je vois NIB !) qui palettise la DotView présent dans les exemples de AppKit.
(http://www.cocoadev.com/index.pl?IBPalette)
Tout marche bien .. la compilation correcte, apparition de la palette dans la librairie, possibilité de visualiser la palette supplémentaire dans IB, mais au moment du dépot de l'instance de la DotView dans une fenêtre d'un nouveau nib, il y a un refus de réaliser le déposé (un peu comme lorsqu'une vue refuse un drag&drop ) .
J'ai réessayé plusieurs fois, lamentable échec, crise de nerfs, et tout et tout
J'ai comparé avec ce qu'en dit Aaron Hillegass, rien vu.
Autre question, un projet IBPalette crée une framework associée. Elle est dans la palette ou faut-il faire un #import dans le code ?
Meilleurs voeux pour le 3 Janvier !
Le framework, il faut l'importer et le linker. Tu peux l'inclure dans la palette (jamais essayé ceci dit) mais je ne vois pas bien l'intérêt. C'est pour une histoire d'installation plus facile ? Il faut savoir que de toutes façon le framework devra également être distribué avec l'appli qui contient ton custom object. Donc autant le laisser à part et l'installer dans ~/Library/Frameworks/.
Meilleurs voeux du 10 Janvier aussi !
J'ai répondu en partie à mon problème, sans en comprendre totalement la subtilité.
Il semble qu'il s'agisse d'une implémentation obsolète des méthodes initWithCoder et encodeWithCoder
Voir le sujet http://www.objective-cocoa.org/forum/index.php?topic=2060.0
D'accord en ce qui concerne l'importation du framework, qui s'installe automatiquement (désormais?) dans ~/Library/Frameworks lors de la compilation de la palette.
Si tu as le temps, jette un coup d'oeil au document IBPalette, et dis-moi si tu trouves des améliorations à faire. On pourrait alors le proposer en article sur ce site.