Computer Assited Medical Intervention Tool Kit  version 5.0
ActionTransition Class Reference

This class handle a transition between two states (including previous/next buttons). Specific things can happen for CamiTK SCXML transition (e.g., apply the selected action before going to the next, closing components...) More...

#include <ActionTransition.h>

+ Inheritance diagram for ActionTransition:
+ Collaboration diagram for ActionTransition:

Public Member Functions

 ActionTransition (QPushButton *sender, const char *signal, QState *sourceState=nullptr, bool applyPreviousAction=true, QTextStream *logStream=nullptr)
 constructor: takes at least the state and signal considered for the transition More...
 
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. More...
 
void autoNext ()
 programmatically activate the transition (during autoNext), i.e. call "click" on the button More...
 
bool isNamed (QString) const
 Check the name of the transition (i.e. text of the button) More...
 
void onTransition (QEvent *e) override
 called during the transition More...
 

Private Attributes

bool applyPreviousAction
 should the action be applied during the transition (default set to true) More...
 
QMap< QString, QString > componentsToClose
 Map containing all the name/type of the components to be closed during the transition. More...
 
QStringList componentsToForceClose
 list of the components' name that should be closed even if they are modified More...
 
QTextStream * logStream
 local pointer to the log stream More...
 
QPushButton * myButton
 the button that controls this transition More...
 
QTime * startTime
 Keep track of time (needed for the log) More...
 

Detailed Description

This class handle a transition between two states (including previous/next buttons). Specific things can happen for CamiTK SCXML transition (e.g., apply the selected action before going to the next, closing components...)

The transition's name is set as the button's text.

Example:

<!-- Closing some components -->
<camitk:close>
<camitk:component type="ImageComponent" name="inputImage"/>
<!-- even if image2 is modified, it will be closed without asking the user for a filename -->
<camitk:component type="ImageComponent" name="generatedImage" force="true"/>
</camitk:close>

Constructor & Destructor Documentation

◆ ActionTransition()

ActionTransition::ActionTransition ( QPushButton *  sender,
const char *  signal,
QState *  sourceState = nullptr,
bool  applyPreviousAction = true,
QTextStream *  logStream = nullptr 
)

constructor: takes at least the state and signal considered for the transition

References applyPreviousAction, logStream, and myButton.

Member Function Documentation

◆ addComponentToClose()

void ActionTransition::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.

Set force to "true" in order to close the component independently of its modified flag.

References componentsToClose, and componentsToForceClose.

Referenced by ActionStateMachine::createTransitions().

+ Here is the caller graph for this function:

◆ autoNext()

void ActionTransition::autoNext ( )

programmatically activate the transition (during autoNext), i.e. call "click" on the button

References myButton.

Referenced by ActionStateMachine::autoNext().

+ Here is the caller graph for this function:

◆ isNamed()

bool ActionTransition::isNamed ( QString  name) const

Check the name of the transition (i.e. text of the button)

References myButton.

Referenced by ActionStateMachine::autoNext().

+ Here is the caller graph for this function:

◆ onTransition()

void ActionTransition::onTransition ( QEvent *  e)
override

called during the transition

References ActionState::applyAction(), applyPreviousAction, componentsToClose, componentsToForceClose, ActionState::getName(), logStream, ActionState::setPreviousActionStatus(), and startTime.

+ Here is the call graph for this function:

Member Data Documentation

◆ applyPreviousAction

bool ActionTransition::applyPreviousAction
private

should the action be applied during the transition (default set to true)

Referenced by ActionTransition(), and onTransition().

◆ componentsToClose

QMap<QString, QString> ActionTransition::componentsToClose
private

Map containing all the name/type of the components to be closed during the transition.

Referenced by addComponentToClose(), and onTransition().

◆ componentsToForceClose

QStringList ActionTransition::componentsToForceClose
private

list of the components' name that should be closed even if they are modified

Referenced by addComponentToClose(), and onTransition().

◆ logStream

QTextStream* ActionTransition::logStream
private

local pointer to the log stream

Referenced by ActionTransition(), and onTransition().

◆ myButton

QPushButton* ActionTransition::myButton
private

the button that controls this transition

Referenced by ActionTransition(), autoNext(), and isNamed().

◆ startTime

QTime* ActionTransition::startTime
private

Keep track of time (needed for the log)

Referenced by onTransition().


The documentation for this class was generated from the following files:
a
#define a
ActionTransition::onTransition
void onTransition(QEvent *e) override
called during the transition
Definition: ActionTransition.cpp:43
camitk
Definition: Action.cpp:35