Change ton interface via IB !

CeetixCeetix Membre
21:49 modifié dans API AppKit #1
Tu en as marre des modules IB fournis par défaut par Apple ?
Choisi l'un (et même les trois !) de ces liens et embelli ton application  :)

• BWToolKit
• BGHUDAppKit
• MGScopeBar

Je n'ai pas encore testé mais ça à  l'air d'être du tonnerre .

Réponses

  • NoNo Membre
    21:49 modifié #2
    Juste un bémol concernant tous ces IBPlugins...

    Même s'ils sont très bien pour personnaliser ses aplis, il faut juste garder en mémoire quelques points :

    - les IBPlugins (anciennement IBPalettes) sont parfaits pour introduire de nouveaux contrôles qui n'existent pas toujours sous cocoa. Mais si c'est juste pour "modifier" ceux existant, cela devient galère... Surtout lorsque OSX évolue au niveau de son UI...
    L'un des points forts de OSX est la certaine homogénéité de son UI quelque soit l'appli... Pourquoi vouloir casser cette UI parce que le développeur aime les fonds noirs, ce qui ne sera peut être pas le cas de ses utilisateurs finaux ?

    - il ne faut pas oublier que un nib/xib qui utilise des objets provenants d'un IBPlugin/IBPalette devient inutilisable sur un autre mac avec IB sans la peltte/plugin ad hoc .
    On pourrait me dire : où est le problème ?
    Pour moi le problème vient de ce qui fait la force des applis mac VS les applis windows : la facilité à  modifier l'interface notamment pour la traduire...
  • CeetixCeetix Membre
    21:49 modifié #3
    Je suis d'accord avec toi No surtout sur le point 1 mais par exemple je fais une petite application que pour moi car je sais bien que personne ne l'utiliserai et dans ems cours je suis le seul à  bosser sous Mac. J'avais envie d'une interface un peu plus classe à  mon goût. Apres ce n'est que personnel mais vu que je ne vais pas distribuer mon app à  part à  ceux qui me demande...
  • NoNo Membre
    21:49 modifié #4
    Je te comprends Ceetix...

    Moi, je suis un peu comme Schlum (Silvain, je me permets de te prendre comme exemple, excuse moi par avance), j'aime travailler dans le cambouis ou le moteur, et la carrosserie c'est pas trop mon truc.

    Par contre toi, Pierre, à  voir ton profil, tu es plutôt l'artiste de la famille, donc c'est normal que tu bichonnes l'aspect extérieur plus que moi je le ferais.
  • 21:49 modifié #5
    dans 1238945588:

    Je te comprends Ceetix...

    Moi, je suis un peu comme Schlum (Silvain, je me permets de te prendre comme exemple, excuse moi par avance), j'aime travailler dans le cambouis ou le moteur, et la carrosserie c'est pas trop mon truc.

    Par contre toi, Pierre, à  voir ton profil, tu es plutôt l'artiste de la famille, donc c'est normal que tu bichonnes l'aspect extérieur plus que moi je le ferais.


    Mais n'est-ce pas un peu l'esprit d'Apple de bichonner l'aspect extérieur tant qu'intérieur ? Si tu regardes tous les sharewares connus du monde Mac, ils sont tous beaux et niveau fonctionnalités y'a rien à  dire.

    Bien sûr qu'on peut vendre en faisant un truc pas très très beau, j'en ai fait l'expérience. Mais on parle beaucoup plus des applications qui sont sublimes & utiles que des applications bof bof à  la limite du moche & utiles.
  • CeetixCeetix Membre
    21:49 modifié #6
    Méchant !  :P

    Moi j'aime bien aussi allé dans le cambouis mais bon je débute en tant que mécano mais je compte bien aller au fin fond des lignes de code mais ne pas oublier de bichonner l'interface. Car un programme peut-être super puissant, l'user téléchargera l'app rien qu'au premier coup d'oeil, puissante ou pas... C'est toujours bien plus agréable de bosser avec quelque chose qui fasse du bien à  nos yeux rempli d'interface windows toutes laides du boulot. No ?  ;)
  • Philippe49Philippe49 Membre
    avril 2009 modifié #7
    dans 1238945841:

    Bien sûr qu'on peut vendre en faisant un truc pas très très beau, j'en ai fait l'expérience. Mais on parle beaucoup plus des applications qui sont sublimes & utiles que des applications bof bof à  la limite du moche & utiles.

    Tout à  fait d'accord, mais ce n'est pas vraiment le problème. POur la convivialité de son interface,Apple s'est efforcé (depuis ses débuts) de définir une base commune pour ses raccourcis claviers, sa disposition standard du bouton Ok, etc ..
    C'est même décrit dans ses Human Interface GuideLines , et c'est le confort de l'utilisateur que cette unité. Je pense avec No qu'il faut en respecter les bases, et avec EagleLouk que l'enjoliver fait l'attrait vendeur d'une appli ...

    D'autre part il est vrai qu'il manque beaucoup d'IBPlugin, moins dans l'esthétique que dans les fonctionnalités. Je crois que j'ai écrit quelque part un tuto sur les IBPalettes, qui ne doit pas être mis à  jour en IBPlugin, mais j'avoue que c'est un peu casse-pieds.
  • schlumschlum Membre
    21:49 modifié #8
    dans 1238945588:

    Je te comprends Ceetix...

    Moi, je suis un peu comme Schlum (Silvain, je me permets de te prendre comme exemple, excuse moi par avance), j'aime travailler dans le cambouis ou le moteur, et la carrosserie c'est pas trop mon truc.

    Par contre toi, Pierre, à  voir ton profil, tu es plutôt l'artiste de la famille, donc c'est normal que tu bichonnes l'aspect extérieur plus que moi je le ferais.


    Non, tu as raison, mon côté artiste c'est plus architecte que peintre  :)
  • 21:49 modifié #9
    dans 1238949013:

    dans 1238945841:

    Bien sûr qu'on peut vendre en faisant un truc pas très très beau, j'en ai fait l'expérience. Mais on parle beaucoup plus des applications qui sont sublimes & utiles que des applications bof bof à  la limite du moche & utiles.

    Tout à  fait d'accord, mais ce n'est pas vraiment le problème. POur la convivialité de son interface,Apple s'est efforcé (depuis ses débuts) de définir une base commune pour ses raccourcis claviers, sa disposition standard du bouton Ok, etc ..
    C'est même décrit dans ses Human Interface GuideLines , et c'est le confort de l'utilisateur que cette unité. Je pense avec No qu'il faut en respecter les bases, et avec EagleLouk que l'enjoliver fait l'attrait vendeur d'une appli ...

    D'autre part il est vrai qu'il manque beaucoup d'IBPlugin, moins dans l'esthétique que dans les fonctionnalités. Je crois que j'ai écrit quelque part un tuto sur les IBPalettes, qui ne doit pas être mis à  jour en IBPlugin, mais j'avoue que c'est un peu casse-pieds.


    Je suis tout à  fait d'accord avec vous. je bosse avec un graphiste qui respecte les HIG d'Apple. Mais dans le IBPlugin BWToolkit par exemple, je m'en sers pour la bottom de la fenêtre, ça ajoute un style iLife à  la fenêtre (juste au bottom) et ça évite du code et des images en plus (ok bon.. 2 lignes de code et 3 images.. mais bon :p )
    Et puis Apple, a force de faire évoluer ses interfaces, en oublie presque les développeurs. Ils se sont un peu rattrapés avec Leopard et les nouveaux outils à  disposition comme les fenêtres HUD, les controls iLife (Aqua Unifié), et surtout ils proposent une petite selection d'images qui sont souvent utiles et qu'on retrouve dans pas mal d'application.
    Maintenant Apple s'amuse encore à  customizer un peu... Si Apple le fait, pourquoi pas nous ?
    On a vu pas mal d'application (shareware surtout) rajouter un petit "X Days left... Buy now" en haut à  droite de la fenêtre... et voilà  que maintenant Safari 4 s'y met avec sa nouvelle gestion des onglets !

    Je pense que d'un côté certains pourront se permettre d'innover un peu aussi pour à  leur tour inspirer Apple. Surtout si l'interface reste conviviale.

    D'ailleurs, un point sur lequel j'étais content aussi à  la sortie de Leopard, c'est le fait de pouvoir changer les selection des NSTableView en type "Source", qui ajoute automatiquement un dégradé à  la selection. Jusque là  on était obligé de le coder, et tout le monde faisait, parce qu'Apple le faisait aussi dans ses applications.
  • schlumschlum Membre
    21:49 modifié #10
    dans 1238941395:

    Tu en as marre des modules IB fournis par défaut par Apple ?
    Choisi l'un (et même les trois !) de ces liens et embelli ton application  :)

    • BWToolKit
    • BGHUDAppKit
    • MGScopeBar

    Je n'ai pas encore testé mais ça à  l'air d'être du tonnerre .


    Ce sont des bibliothèques de contrôles customisés (les mêmes que ceux dont on parlait dans un autre sujet), rien de magique !  :P
  • CeetixCeetix Membre
    21:49 modifié #11
    Oui roo bah je voulais faire partager pour ceux qui veulent changer un peu de style  ::)
  • Philippe49Philippe49 Membre
    21:49 modifié #12
    C'est une question d'importance que tu as soulevée !
  • CeetixCeetix Membre
    21:49 modifié #13
    C'est ironique Philippe ? ^^ enfin si c'est sérieux je voulais juste donner des resources sympa .
  • Philippe49Philippe49 Membre
    21:49 modifié #14
    Pas du tout ironique. Cela a soulevé une question qu'Apple s'est posée en donnant les Human Interface guidelines.
    Merci pour les liens.
  • Paisible.frPaisible.fr Membre
    21:49 modifié #15
    Pour ma part j'utilise le BWToolkit que je trouve fort utile et vraiment bien fait. Pour ceux qui ne connaissent pas il y a bien sur le site web, mais egalement un cocoaCast FR qui en parle.

    Sinon, il y a aussi le KTUIKit 0.9.0 qui peut être intéressant. D'ailleur j'ai toujours trouvé dommage que les deux n'ai pas fusionner car ils sont fort complèmentaires.

    Enfin, en ce qui concerne le point souvelé par je ne sais plus qui comme quoi en cas d'evolution on risquait de ce retrouver dans une impassse, je dirais que c'est pas faut. Mais je pense que cela n'arrivera pas si on evite les plugins/library un peu exotiques.

    Un exemple : RBSliptView qui est venu pour combler un manque des SplitView d'apple. Beaucoup de logiciels l'utilise et continue à  l'utiliser malgrè le fait qu'Apple a corrigè les lacunes de ses NSSplitView sous leopard.
  • 21:49 modifié #16
    dans 1238999233:

    Pour ma part j'utilise le BWToolkit que je trouve fort utile et vraiment bien fait. Pour ceux qui ne connaissent pas il y a bien sur le site web, mais egalement un cocoaCast FR qui en parle.

    Sinon, il y a aussi le KTUIKit 0.9.0 qui peut être intéressant. D'ailleur j'ai toujours trouvé dommage que les deux n'ai pas fusionner car ils sont fort complèmentaires.

    Enfin, en ce qui concerne le point souvelé par je ne sais plus qui comme quoi en cas d'evolution on risquait de ce retrouver dans une impassse, je dirais que c'est pas faut. Mais je pense que cela n'arrivera pas si on evite les plugins/library un peu exotiques.

    Un exemple : RBSliptView qui est venu pour combler un manque des SplitView d'apple. Beaucoup de logiciels l'utilise et continue à  l'utiliser malgrè le fait qu'Apple a corrigè les lacunes de ses NSSplitView sous leopard.


    J'ai souvent utilisé RBSplitView mais maintenant je préfère arranger mes splitview à  ma sauce.
  • Paisible.frPaisible.fr Membre
    21:49 modifié #17
    dans 1239000829:

    J'ai souvent utilisé RBSplitView mais maintenant je préfère arranger mes splitview à  ma sauce.


    Certe, mais si tu regarde dans le bundle de beacoup d'application tu verra que pas mal de monde continue à  utiliser le RBSplitView...

    Mais c'est vrai que cela va dans le sens de l'histoire de l'abandonner.
  • CeetixCeetix Membre
    21:49 modifié #18
    Tiens une question... Vous savez si on peut régler l'opacité d'un HUD ?
    Histoire de ne plus voir à  travers.
  • 21:49 modifié #19
    dans 1239118752:

    Tiens une question... Vous savez si on peut régler l'opacité d'un HUD ?
    Histoire de ne plus voir à  travers.


    Une fenêtre HUD sans transparence ça n'est plus du HUD mais du noir pur et dur  :(
    À part refaire ta fenêtre à  la main avec du noir pur, je ne vois pas.
  • wiskywisky Membre
    21:49 modifié #20
    Pour ma part, je n'arrive pas a utilisé BWToolKit. Au début pas de problème j'arrive à  ajouter dans IB. Mon UI est créée, je créé un contrôleur et je fait les liens et lorsque j'ajoute le header du frameworks dans le header du contrôleur c'est le drame. L'app plante à  tout les coups !

    2009-04-16 12:23:53.045 Movibrary[6159:10b] An uncaught exception was raised<br />2009-04-16 12:23:53.048 Movibrary[6159:10b] *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (BWSplitView)<br />2009-04-16 12:23:53.049 Movibrary[6159:10b] *** Terminating app due to uncaught exception &#39;NSInvalidUnarchiveOperationException&#39;, reason: &#39;*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (BWSplitView)&#39;<br />2009-04-16 12:23:53.054 Movibrary[6159:10b] Stack: (<br />&nbsp; &nbsp; 2469682624,<br />&nbsp; &nbsp; 2498024684,<br />&nbsp; &nbsp; 2469682384,<br />&nbsp; &nbsp; 2469682440,<br />&nbsp; &nbsp; 2419798388,<br />&nbsp; &nbsp; 2419802444,<br />&nbsp; &nbsp; 2419803920,<br />&nbsp; &nbsp; 2419798508,<br />&nbsp; &nbsp; 2419795932,<br />&nbsp; &nbsp; 2472222208,<br />&nbsp; &nbsp; 2419798508,<br />&nbsp; &nbsp; 2419795932,<br />&nbsp; &nbsp; 2472221688,<br />&nbsp; &nbsp; 2419798508,<br />&nbsp; &nbsp; 2419802444,<br />&nbsp; &nbsp; 2419801288,<br />&nbsp; &nbsp; 2419798508,<br />&nbsp; &nbsp; 2419795932,<br />&nbsp; &nbsp; 2472197088,<br />&nbsp; &nbsp; 2419798508,<br />&nbsp; &nbsp; 2419795932,<br />&nbsp; &nbsp; 2472195188,<br />&nbsp; &nbsp; 2472193216,<br />&nbsp; &nbsp; 2472192588,<br />&nbsp; &nbsp; 2472191796<br />)<br /><br />[Session started at 2009-04-16 12:23:53 +0200.]<br />Loading program into debugger...<br />GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:17:57 UTC 2008)<br />Copyright 2004 Free Software Foundation, Inc.<br />GDB is free software, covered by the GNU General Public License, and you are<br />welcome to change it and/or distribute copies of it under certain conditions.<br />Type &quot;show copying&quot; to see the conditions.<br />There is absolutely no warranty for GDB.&nbsp; Type &quot;show warranty&quot; for details.<br />This GDB was configured as &quot;powerpc-apple-darwin&quot;.<br />Program loaded.<br />sharedlibrary apply-load-rules all<br />Attaching to program: `/Volumes/Sauvegarde/Programmation/Movibrary/build/Release/Movibrary.app/Contents/MacOS/Movibrary&#39;, process 6159.
    


    J'ai tout essayer !
    J'ai télécharger les sources du BWToolKit  et je l'ai compiler. J'ai mis les sources + les builds dans un sous dossier de mon projet.
    Dans IB j'ai ajouter le plugin. J'ai crée un lien symbolique dans le dossier ~/Library/Frameworks/; et j'ai utilisé ce lien lors de l'ajout du frameworks dans mon projet xCode. J'ai ajouté le frameworks dans une tâche de copie (lors de la compilation) dans le dossier "Frameworks" de l'application.
    ça ne veux toujours pas fonctionner !!!!

    Si quelqu'un a une idée ?  :why?: :why?:

    NB: C'est la première fois que j'utilise un plugin IB avec sont frameworks
  • zoczoc Membre
    avril 2009 modifié #21
    Il faudrait peut-être linker avec le framework BWToolkit, parce que là  ce n'est pas le cas (D'après le contenu du noeud "Link Binary With Libraries")... Tu as sans doute dû faire la confusion (classique) entre ce noeud, qui est utilisé par le linker, et le noeud "Frameworks/Linked Frameworks" qui n'est qu'informatif, et sert uniquement au développeur pour pouvoir accéder facilement aux headers des frameworks, mais ne change absolument rien au process de link.

    C'est sûr que sans le code pour désarchiver le contenu du NIB, l'application ne va pas pouvoir faire grand chose d'autre que planter lamentablement.

  • wiskywisky Membre
    21:49 modifié #22
    Merci ! C'est magique ! ça marche !  :kicking: :kicking: :kicking: o:) o:) o:) o:) :p :p :p :p :p :p <3 <3 <3 <3 <3
  • CeetixCeetix Membre
    21:49 modifié #23
    Pour faire mon menu "itune styled" (cf ce post) j'ai pris le BWToolKit pour faire une collapsed view. En appuyant sur un bouton je "range" ma colonne sur le côté comme le montre cette video.
    Le soucis, c'est qu'au moment où je veux relier mon bouton à  l'action toggleCollapse de ma vue à  collapser, l'action n'apparait pas comme sur la video. Quelq'un a-t-il essayé? 
  • wiskywisky Membre
    21:49 modifié #24
    ça ne fonctionne qu'avec NSButton ! Je viens de faire le test ! Tu ctrl+click sur le bouton et tu glisse sur le séparateur de ta NSView, là  tu aura l'outlet !
  • CeetixCeetix Membre
    21:49 modifié #25
    Bah c'est ce que j'ai fait. J'ai mis mon NSButton et j'ai fait Ctrl + Clique en reliant a ma vue et il n'y a rien. J'ai pourtant bien activé "collapsible : left pane" .
  • CeetixCeetix Membre
    21:49 modifié #26
    Ok bon j'ai encore refait et là  ça marche. Va savoir pourquoi ... Merci ;)
  • ThibautThibaut Membre
    21:49 modifié #27
    dans 1240042183:

    Il faudrait peut-être linker avec le framework BWToolkit, parce que là  ce n'est pas le cas (D'après le contenu du noeud "Link Binary With Libraries")... Tu as sans doute dû faire la confusion (classique) entre ce noeud, qui est utilisé par le linker, et le noeud "Frameworks/Linked Frameworks" qui n'est qu'informatif, et sert uniquement au développeur pour pouvoir accéder facilement aux headers des frameworks, mais ne change absolument rien au process de link.

    C'est sûr que sans le code pour désarchiver le contenu du NIB, l'application ne va pas pouvoir faire grand chose d'autre que planter lamentablement.

    J'ai rencontré le même problème tout à  l'heure.
    J'avais un projet fonctionnel, j'ai retiré le framework pour le réajouter, et là  ce fut le drame. Je pensais que copier le framework le "linkait" automatiquement, mais non...
    Merci en tout cas, cela m'a bien aidé.
Connectez-vous ou Inscrivez-vous pour répondre.