NSTableView : obtenir une action lors d'un défilement de lignes

VeillardVeillard Membre
février 2005 modifié dans API AppKit #1
Bonjour,

J'ai une NSTableView et je cherche la méthode permettant d'obtenir une action comme une mise à  jour de l'interface lorsque je fais défiler les lignes de ma table avec les flèches du clavier.
Quelqu'un a-t-il une idée ? ???

Je sens quelque chose du style :

- (void)tableViewSelectionDidChange:(NSNotification *)aNotification

Réponses

  • fouffouf Membre
    22:54 modifié #2
    En ce qui concerne la notification, t'as tout bon. Par contre, je ne comprend pas tres bien ta question. Tu veux savoir quand une nouvelle ligne est selectionnee ou est-ce que tu veux te debrouiller pour que l'utilisateur puisse selectionner avec les fleches ?
  • Eddy58Eddy58 Membre
    22:54 modifié #3
    Oui question bizarre Favouille, puisque tu te réponds pratiquement toi-même. ;D
    En faites, quand tu bouges le sélecteur avec les flèches, c'est comme si tu choisissais avec la souris, l'action finale reste un changement de sélection. :)
    [tt]
    -(void)awakeFromNib
    {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changementSelectionMaTableView:) name:NSTableViewSelectionDidChangeNotification object:maTableView];
    }

    -(void)changementSelectionMaTableView:(NSNotification *)notification
    {
    //Mises à  jour de l'interface
    }
    [/tt]
  • VeillardVeillard Membre
    22:54 modifié #4
    En réalité, j'ai tapé mon post et apporté une modif un peu plus tard sans me relire.  ???
    J'ai une TableView qui rencense l'ensemble des plongées sous forme de liste, puis dans une fenêtre annexe (d'édition) on peut accéder à  tous les paramètres de la plongée. Le contenu de cette fenêtre était mise à  jour à  chaque fois que je sélectionnais une plongée dans la liste. Mais quand j'utilisais les flèches du clavier la mise à  jour ne se faisait pas...

    En tout cas, ça marche !  :brule: Merci Eddy, je ne savais par quel bout prendre cette notification...

    Au fait une question, faut-il la libérer une fois que l'on a fait un "addObserver" ? Je suppose que dans mon cas ça ne doit pas être indispensable ???
  • fouffouf Membre
    22:54 modifié #5
    dans 1108249945:

    Au fait une question, faut-il la libérer une fois que l'on a fait un "addObserver" ? Je suppose que dans mon cas ça ne doit pas être indispensable ???


    Dans ton dealloc tu ajoute tout simplement
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    

    une fois pour toutes. C'est tout.
  • ClicCoolClicCool Membre
    22:54 modifié #6
    Juste une question Favouille,

    Je croyais que tu utilisais les bindings dans ton appli ?

    Mettre à  jour les champs d'une fenêtre d'édition à  jour par apport à  la sélection en cours d'une tableView y est entièrement automatique ...
  • VeillardVeillard Membre
    22:54 modifié #7
    :o :o :o :o :o

    Euh, je suis passé au code, j'ai encore du mal avec les bindings.
  • VeillardVeillard Membre
    22:54 modifié #8
    Dans ton dealloc tu ajoute tout simplement
    Code:
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    une fois pour toutes. C'est tout.


    OK merci Fouf
  • ClicCoolClicCool Membre
    22:54 modifié #9
    dans 1108324135:

    :o :o :o :o :o
    Euh, je suis passé au code, j'ai encore du mal avec les bindings.


    Tu as bien fait, tu apprécieras et proffiteras encore mieux des bindings une fois que tu maitriseras ce qu'ils t'évitent de coder  ;)

    Mais pour XCode2 faudra s'y mettre serieusement car là  ça prendra une dimention encore plus difficile à  appréhender pour ceux qui ne comprennet pas ce qui s'y passe  :)
  • VeillardVeillard Membre
    22:54 modifié #10
    Maintenant que j'ai fini ma version 2.1, je vais quand-même m'y pencher dessus  o:)
Connectez-vous ou Inscrivez-vous pour répondre.