Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Cocoa] click sur une col sans action sur la ligne ???

6 réponses
Avatar
pere.noel
je m'explique, j'ai une NSTableView avec des NSButtonCell dans la
colonne 0.

si je clique sur un des boutons c'est ok, je peux le faire basculer.


MAIS, quand on clique sur une cellule on clique à la fois sur une
colonne et sur une row...


donc, mon problèmes est que en choisissant un des boutons (ligne) de la
première colonne j'ai la notification :

def tableViewSelectionDidChange(a_notification)

qui arrive juste avant le clixk sur le buttoncell, ce que je voudrais
éviter ;-)

car ce bouton est une sorte de bouton on/off pour le server de cette
ligne, pb, je le sélectionne juste avant de le mettre off...
--
une bévue

6 réponses

Avatar
gilles
Explique un peu mieux ce que tu veux, j'ai rien capté
Avatar
pere.noel
gilles wrote:

Explique un peu mieux ce que tu veux, j'ai rien capté


bon, dans la première colonne d'une table view j'ai des NSSwitchButtons
(on/off)

la table view liste un certain nombre de serveurs quand je sélectionne
une ligne (highlight) la connexion a lieu immédiatement sur ce server.

par contre, les boutons de la première colonne sont sensés empécher
cette connexion soit parce que l'utilisateur a clique sur ce bouton soit
parcee qu'il y a une erreur avec ce server.

la sélection d'un server (d'une ligne) est ok.

par contre avec le switch on/off de la première colonne il y a un
artefact :

le server est sélectionné avant d'être inhibé ce ci par ce que la
notification liée à la ligne
(tableViewSelectionDidChange(a_notification)) arrive avant celle du
switch bouton.

donc, j'ai cherché un moyen qui permettrait dinhiber la sélection de
ligne sur la première colonne.

ou, autre solution possible, avoir un modificateur pour le click sur le
switch, par exemple click + alt ou pom ... mais je ne sais comment faire
ça.
--
une bévue

Avatar
gilles
Je crois que tu compliques a souhait ...

et je t'abandonne...
Avatar
pere.noel
gilles wrote:

Je crois que tu compliques a souhait ...

et je t'abandonne...


bon je cherche un moyen soit :

- d'inhiber les clicks souris s'ils proviennent de la première colonne
d'une NSTableView quand l'événement est
"tableViewSelectionDidChange(a_notification)"

- n'interepter les clicks de la première colonne qu'à condition qu'une
touche clavier ait été enfoncée (ctrl, alt ou pom)
--
une bévue

Avatar
gilles
bon je cherche un moyen soit :


Il suffit de tester l'état du bool de la colonne correspondante

Avatar
pere.noel
gilles wrote:

Il suffit de tester l'état du bool de la colonne correspondante


euh je vois pas. tester la valeur du bool pas de pb mais le pb est que
l'event lié à la sélection d'une ligne arrive avant celui du bool et le
bool est à un à ce moment là.

le problème arrive quand par click je veux le basculer.

il me semble qu'il n'y a un pas moyen simple de savoir, avec l'événement
"tableViewSelectionDidChange" de savoir si l'événement provient de la
colonne 0. sans doute faut'il tripatouiller en x et y...
--
une bévue