NSToolBarItem label color? ou setEnabled n'est pas mémorisé!

Bonsoir,



Changer la couleur du label de NSToolBarItem est réalisable?

J'ai trouvé un seul post sur le net parlant d'un sous classe [font=Arial,]NSBarButtonItem [/font][font=Arial,] [/font][font=Arial,] image/crazy.gif' class='bbc_emoticon' alt=' B) ' />[/font]



[font=Arial,]Sinon j'ai pensé à  une autre solution comme le grisé avec setEnabled, mais lorsque je l'utilise NSToolBarItem est grisé 1seconde et redevient accessible....[/font]



[font=Arial,]Le but est simplement de mettre en valeur celui qui est sélectionné.[/font]



[font=Arial,]Et petite question information, le curseur Hand est dispo sous Xcode???[/font]



[font=Arial,]Merci à  vous...[/font]

Réponses

  • CéroceCéroce Membre, Modérateur
    'cocoacola71' a écrit:


    Changer la couleur du label de NSToolBarItem est réalisable?

    J'ai trouvé un seul post sur le net parlant d'un sous classe [font=Arial,]NSBarButtonItem [/font][font=Arial,] [/font][font=Arial,] image/crazy.gif' class='bbc_emoticon' alt=' B) ' />[/font]


    C'est probablement la seule solution.


    'cocoacola71' a écrit:


    [font=Arial,]Le but est simplement de mettre en valeur celui qui est sélectionné.[/font]


    Pourquoi faire ainsi? Il y a une notion de sélection dans NSToolbar. Après, c'est vrai qu'il n'y a peut être qu'un seul item sélectionné à  un instant donné.


    'cocoacola71' a écrit:


    [font=Arial,]Et petite question information, le curseur Hand est dispo sous Xcode???[/font]


    +[NSCursor handCursor]
  • Merci pour ta réponse rapide.



    Pour la Hand je suis rassuré image/smile.png' class='bbc_emoticon' alt=':)' />



    Par contre pour NSBarButtonItem il n'y a pas de doc Apple???
  • CéroceCéroce Membre, Modérateur
    C'est NSToolbarItem.

    La classe similaire sous iOS s'appelle UIBarButtonItem, j'imagine qu'il y a eu une confusion!
  • devulderdevulder Membre
    avril 2012 modifié #6
    En complément de la réponse de Céroce, la classe [font=Arial,]NSBarButtonItem n'existe pas, [/font]NSToolBarItem est dérivé de NSObject

    pour sélectionner un NSToolBarItem, il faut utiliser la méthode



    setSelectedItemIdentifier:



    Si tu veux changer la couleur de ton label tu peux dessiner une NSImage puis l'affecter a ton Item.



    Pour grisé des elements, il faut voir la méthode



    - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem
  • Merci pour vos réponses, je vais étudié tout ceci demain! image/happy.png' class='bbc_emoticon' alt='^_^' />
  • 'devulder' a écrit:
    Si tu veux changer la couleur de ton label tu peux dessiner une NSImage puis l'affecter a ton Item.


    Cela changera l'image mais pas la couleur du label, non??

    Le but est seulement de le mettre en valeur lorsqu'il est sélectionner.
  • c'est ça que tu veux faire ?
  • Tout à  fait image/smile.png' class='bbc_emoticon' alt=':)' />
  • <br />
    NSAttributedString* attr=[[NSAttributedString alloc] initWithString:@&quot;Preferences&quot; attributes:<br />
      [NSDictionary dictionaryWithObject:[NSColor redColor] forKey:NSForegroundColorAttributeName]];<br />
      [item setLabel: (NSString*)attr];<br />
      [attr release];<br />
    




    C'est un peu de la bidouille et ce n'est pas la manière standard de visuellement présenter un élément sélectionné.

    Perso je ne ferais pas ça.
  • Super Merci.


    'mpergand' a écrit:


    C'est un peu de la bidouille et ce n'est pas la manière standard de visuellement présenter un élément sélectionné.

    Perso je ne ferais pas ça.


    Mais pour moi c'est la seul manière (à  part modifier l'image correspondante à  l'item que j'aimerai éviter).

    Ou bien grisé l'un des item, je suis en cours de réalisation, j'ai le temps de changer d'avis.



    Mais en tout cas Merci image/smile.png' class='bbc_emoticon' alt=':)' />
  • Et le mode de sélection standard ne te convient pas ?
  • Je viens de faire le rapprochement avec Selectable.

    Chercher compliqué, chercher compliqué image/whip.gif' class='bbc_emoticon' alt=' >:) ' />

    Il est vrai que cela simplifie la tache lol!!



    Merci mpergand!!
Connectez-vous ou Inscrivez-vous pour répondre.