Project

General

Profile

Question concernant la terminaison d'une action

Added by Théveny Frédéric almost 10 years ago

Bonjour à tous,

J’aimerai que l’utilisateur puisse confirmer que son action est bien terminée et s’il informe, continuer l’action.

En gros, le mode opératoire serait :
- clic sur le pouce car l’utilisateur pense avoir terminé son action
- ouverture d’une boîte de dialogue demandant de confirmer
- si clic sur “Cancel” alors on continue comme si on n’avait jamais cliqué sur le pouce.

L’ennui c’est que je n’ai pas trouvé où ça se passe, la méthode finish ne semble appelée que pour nettoyer l’action (void et non bool).

Est-ce possible ? Si oui, comment ?

Merci !


Replies (7)

RE: Question concernant la terminaison d'une action - Added by Krebs Michaël almost 10 years ago

Salut Fred,

oui c’est possible :

Dans ton étape tu a la méthode “useManualMode(bool quit)” qui est appelé à chaque fois que l’utilisateur clique sur le pouce. Donc si il clique tu n’a qu’à affichez une boite de dialogue avec ta question et en fonction de la réposne tu appel la méthode “quitManualMode()” ou non. Bien sur il faut vérifier que le paramètre “quit” passé à “useManualMode” est false sinon tu va poser la question à chaque fois puisque la méthode useManualMode est appelé avec le paramètre à true si l’utilisateur quitte (en appuyant sur le bouton stop) ou si on appel “quitManualMode()”.

J’espère que c’est assez clair. N’hésite pas sinon a réécrire.

RE: Question concernant la terminaison d'une action - Added by Théveny Frédéric almost 10 years ago

J’ai pu tester et en effet, quand on clique sur le bouton “pouce” on a un appel de useManualMode(true).
Soit je n’ai pas compris le fonctionnement, soit on sort quand même de l’action en cours même sans appeler quitManualMode().
N’y a-til pas moyen de ne pas sortir de l’action ?

EDIT : j’ai comité mon code si tu veux jeter un coup d’œil.

RE: Question concernant la terminaison d'une action - Added by Krebs Michaël almost 10 years ago

Salut,

Oui j’ai regarder ton code et en faite quand tu es en create_mode tu dois tester si la valeur de quit est false et si oui tu pose ta question et si l’utilisateur répond oui tu appel quitmanualmode(). Toi tu teste si la variable quit est à true mais à ce moment tu as déjà appelé quitmanualmode() donc ça ne peut pas fonctionner. Voit un exemple ici : http://rdinnovation.onf.fr/projects/computree/repository/entry/pluginbase/step/pb_stepsegmentcrowns.cpp

RE: Question concernant la terminaison d'une action - Added by Théveny Frédéric almost 10 years ago

Super : je vais adapter pour reprendre l’idée.

Merci !

RE: Question concernant la terminaison d'une action - Added by Théveny Frédéric almost 10 years ago

Après avoir regardé de nouveau mon code (et recommité pour être sur qu’on a bien le même sous les yeux), ce n’est pas ce qu’il se passe.

Je n’appelle quitManualMode() qu’à un seul moment : quand on est en QUITMODE et quand quit est false.

Tant qu’on est en CREATEMODE je boucle sur useManualMode().
Mes logs indiquent que useManualMode() est appelée 2 fois :
- une première fois par code dans compute(), au lancement de l’action (CREATEMODE, quit = false)
- une deuxième fois au clic sur le pouce (CREATEMODE, quit = true)

Mon problème est ailleurs : il semble que quand on clique sur le pouce, l’action en cours soit automatiquement terminée par computree. Ça se voit quand on affiche le widget des actions : mon action amaptopo disparait au clic sur le pouce. Y a t’il moyen d’empecher ça ?

RE: Question concernant la terminaison d'une action - Added by Krebs Michaël almost 10 years ago

je viens de modifier ton code source pour qu’il fonctionne comme tu le souhaite. fais un update.

RE: Question concernant la terminaison d'une action - Added by Théveny Frédéric almost 10 years ago

Je viens de voir ça : nickel et merci beaucoup !

    (1-7/7)