Delicious Generation : Un menu
Bonjour à tous,
Bien que la "Delicious Generation" est une sorte de mode de ces salauds de développeurs de shareware ultra-beau qui me font vomir (je ne suis pas jaloux ), y'a vraiment des trucs que j'aimerai bien réussir à faire.
En vedette aujourd'hui, le menu de recherche de CoverSutra.
Comme certains le savent peut-être déjà , je travaille sur un CoverSutra gratuit (bien qu'au départ ça n'était pas mon intention) : http://www.eagle-of-liberty.com/totaltunescontrol/
Ci-joint, un screenshot de la fonction recherche de CoverSutra.
J'aimerai construire le même type de menu sauf que j'ai beau avoir cherché une façon de réaliser ça, je bloque sur quelque chose :
Le contenu. Sous Léopard il y a la fonction "setView:" de NSMenuItem où il est donc super simple de personnaliser un NSMenu ducoup. Sauf que voilà , à gauche on a les albums, et à droite simplement des NSMenuItem normaux !
Alors si vous avez des idées sur le comment est réalisé ce menu.. je suis preneur (j'ai aussi joint mon menu perso, qui comme vous pouvez le voir est vraiment différent et est très moche )
Bien que la "Delicious Generation" est une sorte de mode de ces salauds de développeurs de shareware ultra-beau qui me font vomir (je ne suis pas jaloux ), y'a vraiment des trucs que j'aimerai bien réussir à faire.
En vedette aujourd'hui, le menu de recherche de CoverSutra.
Comme certains le savent peut-être déjà , je travaille sur un CoverSutra gratuit (bien qu'au départ ça n'était pas mon intention) : http://www.eagle-of-liberty.com/totaltunescontrol/
Ci-joint, un screenshot de la fonction recherche de CoverSutra.
J'aimerai construire le même type de menu sauf que j'ai beau avoir cherché une façon de réaliser ça, je bloque sur quelque chose :
Le contenu. Sous Léopard il y a la fonction "setView:" de NSMenuItem où il est donc super simple de personnaliser un NSMenu ducoup. Sauf que voilà , à gauche on a les albums, et à droite simplement des NSMenuItem normaux !
Alors si vous avez des idées sur le comment est réalisé ce menu.. je suis preneur (j'ai aussi joint mon menu perso, qui comme vous pouvez le voir est vraiment différent et est très moche )
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le setView: de Leopard sert plutôt à faire des trucs comme le menu item du Finder qui permet de choisir la couleur d'un fichier/dossier.
Mais ce qui m'intrigue le plus c'est la réalisation de la partie droite. Si tu as eu l'occasion de tester cette nouvelle version de CoverSutra, à droite ça fonctionne comme un NSMenu, on passe la souris ça surligne.
Ou alors c'est bêtement une TableView super personnalisée (et ça je pense pouvoir le réaliser) qui surligne simplement lorsque la souris passe sur un élément ?
Mais, c'est quoi au juste Delicious Generation ? Un état d'esprit ? Un framework ? Une secte ?
Une secte. Non plus sérieusement c'est plutôt un état d'esprit
Ceci dit, si tu veux faire de l'introspection sur un soft existant, je te conseille de te mettre à F-Script.
À ma connaissance, la seule classe qui fait appel à des objets de cette classe est NSMenuView, déclarée deprecate et non "portée" sur l'API 64bit (héritage NextStep, la gestion des menus dans OS X est plutôt confiée à Carbon)
Le but de ceux qui s'auto-proclament "Delicious Generation" est de faire des programmes qui soient "amusants" à utiliser. Et le plus souvent, leur définition d'amusant passe par des interfaces très soignées avec peu de contrôles standards et des effets inutiles.
N'empêche des fois je me demande comment ils font sérieusement... Y'a des applications tellement bien réalisées quasiment sans bugs voir souvent AUCUNS bugs présents. Et souvent elles proviennent de la Delicious Generation.
Je les aime vraiment pas eux
Je suis d'accord avec toi Renaud sur la Delicious Generation, mais il faut avouer que la plupart des applications sont réussites.
J'avoue que "Disco" par exemple est assez pourrie dans son genre par contre. Là on voit vraiment les effets inutiles et au final il est pas génial comme logiciel..
Ce qui me fait mal au c*l c'est de voir que plus de 50% des gens sont toujours émerveillés et achètent souvent un shareware pour sa beauté (sisi). De plus, un utilitaire qui devient shareware et qui en plus fait partie de la Delicious Generation... bonjour les $$ ..
Oui je n'avais pris le temps de lire la doc de NSMenuItem, et je comprends mieux l'idée d'eagleLouk d'utiliser setView:
L'item Etiquette du menu Finder>Fichier
La capture d'écran montre que c'est un NSStatusItem : c'est donc hyper flexible sur l'apparence.
Le setView: de NSStatusItem permet d'insérer dans la barre un NSView perso.
Ton NSView perso va dessiner l'icône du menu, et via les événements souris, va faire apparaà®tre une fenêtre customisée (de la taille/forme/couleur que tu veux) que tu auras bien sûr codé.
Là aussi, ya aucun mystère ou difficulté.
Un simple NSMatrix de NSButtonCell personnalisé peut simuler ce genre d'effet.
Le NSButtonCell personnalisé doit redéfinir sa méthode drawBezelWithFrame:inView: afin de gérer l'affichage et le masquage de la sélection (le fond dégradé bleu) et mettre la propriété setShowsBorderOnlyWhileMouseInside: à YES.
Ceci aura pour effet de faire apparaà®tre le fond bleu au survol de la souris.
Bon, tout ça c'est du boulot bien sûr. Mais c'est le prix à payer pour de belles interfaces.
.