NSTableView et click-through

ChachaChacha Membre
août 2005 modifié dans API AppKit #1
Salut,

Mon problème est le suivant : j'ai une nstableview dans une fenêtre à  part, et j'aimerais qu'on n'ait pas besoin d'activer la fenêtre avec un premier click pour faire une sélection dans la table.

J'ai essayé de faire renvoyer YES à  acceptsFirstMouse, mais ça ne suffit pas. Dans ce cas, on peut simplement initier un drag'n drop sans activer la fenêtre, mais la sélection ne se fait pas dès le premier click.
Si dans le acceptsFirstMouse je fais un mouseDown, ça marche... mais ça génère des bugs bizarres dans une outline view, quand on collapse/expand les items. De toutes manières, bricoler un mouseDown me paraissait assez peu viable.

Est-il possible d'obtenir le comportement que je souhaite ?

+
Chacha

Réponses

  • ChachaChacha Membre
    août 2005 modifié #2
    C'est rigolo, en relisant mon message pour corriger les fautes, j'ai trouvé la réponse à  ma question.
    Je propose le code suivant:
    <br />-(BOOL) acceptsFirstMouse:(NSEvent *)theEvent<br />{<br />  NSPoint point = [self convertPoint:[theEvent locationInWindow] fromView:nil];<br />  int row = [self rowAtPoint:point];<br />  [self selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];<br />  return YES;<br />}<br />
    


    En tous cas, ça a l'air de bien fonctionner...

    +
    Chacha

    [edit]
    ça n'est pas parfait, car dans une NSOutlineView, ça a l'inconvénient de sélectionner l'item même si on ne fait que cliquer sur le triangle de expand/collapse. Mais bon, ça ira pour ce que je veux faire.
    [/edit]
Connectez-vous ou Inscrivez-vous pour répondre.