The state (in a state machine point of view) corresponding to the current processed action. More...
#include <ActionState.h>
Public Member Functions | |
ActionState (QState *parent, QString name, QString description, QTextStream *logStream=nullptr) | |
ActionTransition * | addActionTransition (QString transitionName, QAbstractState *nextState, bool applyAction=true, QVector< camitk::Action::ApplyStatus > disableConditions=QVector< camitk::Action::ApplyStatus >()) |
Adds a possible transition from this action. More... | |
virtual camitk::Action::ApplyStatus | applyAction () |
apply the action encapsulated by this action state More... | |
void | autoNextEntry () |
programmatically call the onEntry() method (used during autonext) More... | |
void | autoNextExit () |
programmatically call the onExit() method (used during autonext) More... | |
QString | getDescription () |
Returns the description of the action state (may be different from the description of the actual action) More... | |
const QMap< QString, QString > & | getInputComponents () |
get the names and type of all input components More... | |
QString | getName () |
Returns the name of the action state (may be different from the name of the actual action) More... | |
const QMap< QString, QString > & | getOutputComponents () |
get the names and type of all output components More... | |
ActionStateWidget * | getWidget () |
void | setAction (camitk::Action *action, QMap< QString, QVariant > parameters, QMap< QString, QString > inputComponentNames, QMap< QString, QString > outputComponentNames) |
void | setAlternativeDesc (QString altDescText, QVector< camitk::Action::ApplyStatus > statusList) |
May change its description according to the previous action result. More... | |
void | setPreviousActionStatus (camitk::Action::ApplyStatus status) |
Protected Member Functions | |
void | onEntry (QEvent *event) override |
Reimplemented from QState. More... | |
void | onExit (QEvent *event) override |
Protected Attributes | |
QTime | actionTimer |
Keep track of time... More... | |
QMap< camitk::Action::ApplyStatus, QVector< QPushButton * > > | conditionalButtons |
Buttons that should be disabled if the previous aciton state did not happen correctly. More... | |
QMap< camitk::Action::ApplyStatus, QString > | conditionalDescriptions |
Descriptions that should be displaied if the previous action state did not happen correctly. More... | |
QString | description |
Description of the state action may not be the same as the action's description but complementary. More... | |
QMap< QString, QString > | inputComponentNames |
names of all the input compenent, this is a map <name, type> More... | |
QTextStream * | logStream |
Log stream to write report on logFile. More... | |
camitk::Action * | myAction |
Actual CamiTK action. More... | |
ActionStateWidget * | myStateWidget |
Widget containing: More... | |
QString | name |
Name of the state action (may not be the same as the action's name) More... | |
QMap< QString, QString > | outputComponentNames |
names of all the output compenent, this is a map <name, type> More... | |
QMap< QString, QVariant > | parameters |
name and value of preset parameters More... | |
The state (in a state machine point of view) corresponding to the current processed action.
By default an ActionState is not defined as being the initial state.
ActionState::ActionState | ( | QState * | parent, |
QString | name, | ||
QString | description, | ||
QTextStream * | logStream = nullptr |
||
) |
References description, logStream, myAction, myStateWidget, and name.
ActionTransition * ActionState::addActionTransition | ( | QString | transitionName, |
QAbstractState * | nextState, | ||
bool | applyAction = true , |
||
QVector< camitk::Action::ApplyStatus > | disableConditions = QVector<camitk::Action::ApplyStatus>() |
||
) |
Adds a possible transition from this action.
References ActionStateWidget::addTransitionButton(), applyAction(), conditionalButtons, logStream, and myStateWidget.
|
virtual |
apply the action encapsulated by this action state
Reimplemented in SaveActionState.
References camitk::Action::applyInPipeline(), camitk::Action::getOutputComponents(), logStream, myAction, outputComponentNames, and camitk::refresh().
Referenced by addActionTransition(), and ActionTransition::onTransition().
void ActionState::autoNextEntry | ( | ) |
void ActionState::autoNextExit | ( | ) |
QString ActionState::getDescription | ( | ) |
Returns the description of the action state (may be different from the description of the actual action)
References description.
Referenced by ActionStateWidget::ActionStateWidget().
const QMap< QString, QString > & ActionState::getInputComponents | ( | ) |
get the names and type of all input components
References inputComponentNames.
QString ActionState::getName | ( | ) |
Returns the name of the action state (may be different from the name of the actual action)
References name.
Referenced by ActionStateWidget::ActionStateWidget(), and ActionTransition::onTransition().
const QMap< QString, QString > & ActionState::getOutputComponents | ( | ) |
get the names and type of all output components
References outputComponentNames.
ActionStateWidget * ActionState::getWidget | ( | ) |
References myStateWidget.
Referenced by SaveActionState::applyAction(), and ActionStateViewer::setState().
|
overrideprotected |
Reimplemented from QState.
References actionTimer, camitk::Action::getName(), camitk::Action::getWidget(), inputComponentNames, logStream, myAction, myStateWidget, name, parameters, ActionStateWidget::setActionWidget(), camitk::ActionWidget::setButtonVisibility(), camitk::Action::setInputComponents(), and camitk::Component::setModified().
Referenced by autoNextEntry().
|
overrideprotected |
References actionTimer, logStream, and name.
Referenced by autoNextExit().
void ActionState::setAction | ( | camitk::Action * | action, |
QMap< QString, QVariant > | parameters, | ||
QMap< QString, QString > | inputComponentNames, | ||
QMap< QString, QString > | outputComponentNames | ||
) |
References inputComponentNames, myAction, outputComponentNames, parameters, and camitk::Action::setAutoUpdateProperties().
void ActionState::setAlternativeDesc | ( | QString | altDescText, |
QVector< camitk::Action::ApplyStatus > | statusList | ||
) |
May change its description according to the previous action result.
References conditionalDescriptions.
void ActionState::setPreviousActionStatus | ( | camitk::Action::ApplyStatus | status | ) |
References conditionalButtons, conditionalDescriptions, description, myStateWidget, and ActionStateWidget::setDescription().
Referenced by ActionTransition::onTransition().
|
protected |
|
protected |
Buttons that should be disabled if the previous aciton state did not happen correctly.
Referenced by addActionTransition(), and setPreviousActionStatus().
|
protected |
Descriptions that should be displaied if the previous action state did not happen correctly.
Referenced by setAlternativeDesc(), and setPreviousActionStatus().
|
protected |
Description of the state action may not be the same as the action's description but complementary.
Referenced by ActionState(), getDescription(), and setPreviousActionStatus().
|
protected |
names of all the input compenent, this is a map <name, type>
Referenced by getInputComponents(), onEntry(), and setAction().
|
protected |
Log stream to write report on logFile.
Referenced by ActionState(), addActionTransition(), applyAction(), SaveActionState::applyAction(), onEntry(), and onExit().
|
protected |
Actual CamiTK action.
Referenced by ActionState(), applyAction(), SaveActionState::applyAction(), onEntry(), SaveActionState::SaveActionState(), and setAction().
|
protected |
Widget containing:
Referenced by ActionState(), addActionTransition(), getWidget(), onEntry(), and setPreviousActionStatus().
|
protected |
Name of the state action (may not be the same as the action's name)
Referenced by ActionState(), getName(), onEntry(), and onExit().
|
protected |
names of all the output compenent, this is a map <name, type>
Referenced by applyAction(), getOutputComponents(), and setAction().
|
protected |
name and value of preset parameters
Referenced by onEntry(), and setAction().