comment detecter une selection NSPopUpButton Notification/deleagte

GenoseGenose Membre
23:57 modifié dans API AppKit #1
salut,

je cherhce apres le deleagte ou une notication autre que NSPopUpButtonWillPopUpNotification, je ne trouve pas sa soeur (DidSelection), quelqu'un connait t'il cette derniere ;)

merci.

Réponses

  • BruBru Membre
    23:57 modifié #2
    Le seul moyen "officiel" est d'utiliser la méthode action du contrôle pour détecter un maniement (et donc probablement un changement).

    A charge de ton programme de gérer si effectivement il y a eu un changement de sélection d'item (en mémorisant la précédente sélection puis en comparant avec l'éventuelle nouvelle).

    .
  • GenoseGenose Membre
    23:57 modifié #3
    cool, je vient de 'linker' le popup et en argumentant un peu, mon appli fini par executer l'action relative a l'item.

    dommage qu'il n'y est pas de delegate, mais cela m'arrange car cela aurais fait du code mis en plus et inutile

    merci.
  • MulotMulot Membre
    23:57 modifié #4
    Je profite de cet ancien sujet, car j'ai exactement le même soucis, j'ai un NSPopUpButton, et j'aimerai utiliser une notification lorsque celui est édité (et non pas lorsque on clique pour ouvrir la liste).

    J'ai essayé d'utiliser la notification NSControlTextDidChangeNotification, mais lorsque je modifie le popUpButton rien ne se passe, j'ai donc essayé de passer par la méthode setAction: (SEL) aSelector afin de récupérer la valeur sélectionnée "à  la main", mais lorsque je fais ce qui suit, j'ai l'impression que ce n'est pas bon, il faudrait plutôt appliquer setAction: (SEL) aSelector sur le NSControl du PopUpButton en question non ?

    <br />&nbsp; &nbsp; &nbsp; &nbsp; [popUpChoiceButton setAction:@selector(readNewNameSelected:)];<br />
    


    Problème je n'ai pas réussi comment "remonter" au NSControl de mon bouton, je ne sais pas quelles méthodes utiliser.

    Merci !
  • BruBru Membre
    23:57 modifié #5
    Le NSPopupButton, c'est un NSButton !

    Donc, c'est la méthode d'action de NSControl qui permet d'être averti d'une sélection faite dans le popButton.
    C'est exactement comme pour les boutons : le fonctionnement est le même (sauf que la méthode d'action est appellé après le choix fait dans le menu du popup).

    Dans IB, "tire une ligne" entre ton instance de contrôleur et ton NSPopupButton, puis choisis (ou créé) une méthode action qui sera appellé après modification du popupButton.



    dans 1185194308:

    Problème je n'ai pas réussi comment "remonter" au NSControl de mon bouton, je ne sais pas quelles méthodes utiliser.


    Je n'ai pas compris.
    NSPopupButton est une sous-classe de NSButton. Y'a donc rien à  "remonter" !

    .
  • MulotMulot Membre
    23:57 modifié #6
    A oui, je n'ai pas pensé à  utiliser les "propritétés" de NSButton, et de mettre comme target mon controller de l'action, merci Bru !
Connectez-vous ou Inscrivez-vous pour répondre.