IB et palette Personnalisée

CoreCore Membre
02:19 modifié dans Xcode et Developer Tools #1
Bonjour,

J'utilise de plus en plus souvent des boutons personnalisé, en sous classant NSButton.

J'aimerais faire un palette personnalisée afin d'avoir accès directement à  ces boutons mais je ne vois pas trop comment m'y prendre.

Réponses

  • fouffouf Membre
    02:19 modifié #2
    Salut Core.
    Personellement, je n'ai jamais fais de palettes. Par contre, j'ai la dernière édition de "Cocoa par la pratique" en Anglais et qui traite dans un chapitre des IBPalettes. Si tu veux, je peux te faire un "dictée" de ces pages (en Francais) qui permettent de faire des palettes.

    Si mes souvenirs sont bons, tu utilises le Framework Interface Builder, tu crées une sous-classe de IBInspector qui permet de gérer l'inspecteur, deux nibs (un pour l'inspecteur, l'autre pour ton objet), et dans ton projet, tu mets aussi tes sous-classes de NSButton qui doivent IMPERATIVEMENT implémenter NSCoding.

    Par contre, si tu veux les pages du bouquin, STP, dépéche toi de me dire, sachant que je déménage, le 2 Mai.

    Voili voilou.
  • Dj T@lDj T@l Membre
    02:19 modifié #3
    <mode = hs>
    Fouf tu dis avoir la derniere version de cocoa par la pratique, est ce qu'il est ien qu'apporte t'il en plus du precedent ?
    Et ou l'as tu acheté ?
    </mode = hs>

    Désolé pour l'incruste
  • fouffouf Membre
    02:19 modifié #4
    dans 1114418138:

    <mode = hs>
    Fouf tu dis avoir la derniere version de cocoa par la pratique, est ce qu'il est ien qu'apporte t'il en plus du precedent ?
    Et ou l'as tu acheté ?
    </mode = hs>

    Désolé pour l'incruste


    Voici les chapitres en plus :
    Survol d'OpenGL avec Cocoa, Rendre son appli AppleScriptable, le gestionnaire d'annulation (Undo manager), créer des Frameworks, créer des IBPalettes, introduction à  GNUStep, les bindings (ClicCool ve se ruer sur ce livre) et surement d'autres trucs, mais n'ayant pas la première édition, je ne peux pas te dire. Par contre, comme je l'ai dit, c'est en anglais.

    Je l'ai acheté à  la librairie "Le monde en tique" : lmet.com. C'est une super librairie d'info que je recommande à  tous.
  • CéroceCéroce Membre, Modérateur
    02:19 modifié #5
    Les palettes IB sont bien traitées dans la première édition de Cocoa Programming for Mac OS X.
  • 02:19 modifié #6
    Voilà  un tuto de cocoadevcentral qui a été retiré du site:

    [Fichier joint supprimé par l'administrateur]
  • CoreCore Membre
    02:19 modifié #7
    Merci à  vous tous  :kicking:
  • aranaudaranaud Membre
    mars 2007 modifié #8
    J'ai essayé mais entre l'exemple d'apple (Clock control, le lien de tutorial donné dans le sujet et l'exemple sur le bouquin "Cocoa par la pratique".
    J'ai rien comprit pour comment m'y prendre pour fair une palette personnalisé.  :o


    Si quelqu'un avec un exemple ou article claire (même en anglais, je ferais un effort). Je pense que sa m'aiderai beaucoup.

    Nota :
    Sa serait pour créer un object en rapport avec ce sujet Utilisation 2 NSPopUpButton est des Bindings, soit deux NSPopUpButton couple à  des NSArrayController.
  • aranaudaranaud Membre
    02:19 modifié #9
    J'ai réussi à  faire une vue d'une palette mais quand je le met dans un autre projet pour l'utiliser (sans faire aucune connexion ou autre mais simplement mettre l'object), j'ai au lancement de l'application, dans la console une erreur de chargement

    2007-03-04 10:22:52.602 Gestion Budget Personnel[3303] *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (gestionDeuxBoutton)

    J'ai dù oublier quelque chose mais quoi ?  :o
  • Philippe49Philippe49 Membre
    02:19 modifié #10
    J'ai eu le même problème il y a quelques semaines ...

    j'en ai fait deux articles

    http://web.mac.com/philippe.robinet/iWeb/Cocoa/IBPalette.html

    bonne lecture, et si tu trouves des améliorations fais-le savoir

    Philippe49
  • aranaudaranaud Membre
    mars 2007 modifié #11
    Merci beaucoup.  <3 o:) <br />
    Edit : j'ai fais l'impasse sur la partie Framework.  :o :o :o
  • AliGatorAliGator Membre, Modérateur
    juillet 2009 modifié #12
    Hello les gens

    Je re-up ce vieux sujet car j'aimerais créer une palette IB (un ibplugin pour IB3.0) contenant mes contrôles personnalisés... pour iPhone.

    Le problème c'est que d'après ce que je lis dans le "Interface Builder Plugin Programming Guide", l'idée (et c'est ce qu'incite à  faire le template Xcode pour les ibplugins d'ailleurs) c'est de créer :
    - un ibplugin contenant une ou des palettes (IBInspector) et un ou plusieurs IBLibraryObjectTemplate (contenant les objets à  afficher dans la palette)
    - un framework encapsulant les objets à  utiliser, pour qu'ils soient accessibles par le IBPlugin d'un côté (et donc dans la palette Library), et par l'application créee en utilisant ce plugin IB aussi. Pour qu'ainsi si on insère un UICustomButton depuis notre custom library dans IB, on sache le recréer aussi quand l'appli est compilée et lancée.

    Or c'est là  qu'est tout le problème : sous iPhone OS, interdit de créer des frameworks !! C'est tout simplement pas possible.
    Du coup, comment faire pour avoir ma palette de boutons/objets personnalisés ?
  • yoannyoann Membre
    02:19 modifié #13
    J'ai jamais fait de IBPalette mais en faisant une lib static au lieux d'un framework ça doit passer ? Le but étant juste d'avoir un moyen d'embarquer tes sous classe pour que le runtime les trouve lorsqu'il lira le xib.
  • CéroceCéroce Membre, Modérateur
    02:19 modifié #14
    Non, ça ne suffit pas, il y a aussi le problème de voir la palette s'afficher dans Interface Builder. Un IBPlugin (les IBPalettes n'existent plus) est une framework contenant une autre framework.
  • zoczoc Membre
    02:19 modifié #15
    Moi, le principal problème que je vois, c'est que les contrôles personnalisés pour iPhone sont basés sur UIKit, qui n'existe que pour l'iPhone et le simulateur. Du coup j'ai du mal à  voir comment intégrer à  IB des classes  utilisant UIKit...
  • AliGatorAliGator Membre, Modérateur
    02:19 modifié #16
    Oui je me posais la question aussi, puisqu'il faut déposer ces boutons ou contrôles personnalisés (UIViews/UIControls/UIButtons/...) dans un IBLibraryObjectTemplate, qui se base sur NSView...
    Du coup le mix entre l'AppKit Cocoa/OSX et l'UIKit CocoaTouch/iPhone dans un même NIB, je suis sceptique aussi...

    Alors, une palette d'objets iPhone persos pour IB, impossible ?
Connectez-vous ou Inscrivez-vous pour répondre.