Computer Assisted Medical Intervention Tool Kit  version 5.2
 
Loading...
Searching...
No Matches
ActionTransition.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2024 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6 *
7 * Visit http://camitk.imag.fr for more information
8 *
9 * This file is part of CamiTK.
10 *
11 * CamiTK is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * CamiTK is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * $CAMITK_LICENCE_END$
24 ****************************************************************************/
25#ifndef ACTIONTRANSITION_H
26#define ACTIONTRANSITION_H
27
28#include <QSignalTransition>
29#include <QString>
30#include <QTime>
31#include <QMap>
32#include <QTextStream>
33#include <QStringList>
34#include <QPushButton>
35
36class ActionState;
59class ActionTransition : public QSignalTransition {
60 Q_OBJECT
61
62public:
63
65 ActionTransition(QPushButton* sender, const char* signal, QState* sourceState = nullptr, bool applyPreviousAction = true, QTextStream* logStream = nullptr);
66
69 void addComponentToClose(QString compName, QString compType, bool force = false);
70
72 void onTransition(QEvent* e) override;
73
75 bool isNamed(QString) const;
76
78 void autoNext();
79
80private:
82 bool applyPreviousAction;
83
85 QMap<QString, QString> componentsToClose;
86
88 QStringList componentsToForceClose;
89
91 QTextStream* logStream;
92
94 QTime transitionTimer;
95
97 QPushButton* myButton;
98};
99#endif // ACTIONTRANSITION_H
The state (in a state machine point of view) corresponding to the current processed action.
Definition ActionState.h:48
This class handle a transition between two states (including previous/next buttons).
Definition ActionTransition.h:59
bool isNamed(QString) const
Check the name of the transition (i.e. text of the button)
Definition ActionTransition.cpp:147
void onTransition(QEvent *e) override
called during the transition
Definition ActionTransition.cpp:43
void addComponentToClose(QString compName, QString compType, bool force=false)
add a component's name and type to the list of component to close during the transition.
Definition ActionTransition.cpp:152
void autoNext()
programmatically activate the transition (during autoNext), i.e. call "click" on the button
Definition ActionTransition.cpp:160