21 #ifndef __ctkWorkflow_h 22 #define __ctkWorkflow_h 29 #include "ctkCoreExport.h" 32 class ctkWorkflowPrivate;
43 Q_PROPERTY(
bool isRunning READ isRunning DESIGNABLE false)
44 Q_PROPERTY(
bool goBackToOriginStepUponSuccess READ goBackToOriginStepUponSuccess WRITE setGoBackToOriginStepUponSuccess)
56 Q_INVOKABLE virtual
void start();
59 bool isRunning()const;
63 Q_INVOKABLE virtual
void stop();
91 const QString& branchId = QString(),
105 const QString& branchId = QString(),
121 Q_INVOKABLE
bool hasStep(
const QString&
id)
const;
145 Q_INVOKABLE
bool canGoToStep(
const QString& targetId,
ctkWorkflowStep* step=0)
const;
185 bool goBackToOriginStepUponSuccess()
const;
186 void setGoBackToOriginStepUponSuccess(
bool flag);
190 void setVerbose(
bool value);
196 virtual void goForward(
const QString& desiredBranchId = QString());
199 virtual void goBackward(
const QString& desiredBranchId = QString());
202 virtual void goToStep(
const QString& targetId);
207 virtual void evaluateValidationResults(
bool validationSucceeded,
const QString& branchId);
211 void goToNextStepAfterSuccessfulValidation(
const QString& branchId);
213 void goToProcessingStateAfterValidationFailed();
216 virtual void goToStepSucceeded();
219 virtual void goToStepFailed();
222 void goFromGoToStepToStartingStep();
228 void attemptToGoToNextStep();
235 void performTransitionBetweenSteps();
247 QScopedPointer<ctkWorkflowPrivate>
d_ptr;
TransitionDirectionality
Transition directionalities.
ctkWorkflow is the basis for a workflow engine, i.e. a state machine with enhancements to support ctk...
QScopedPointer< ctkWorkflowPrivate > d_ptr
ctkWorkflowStep is the basis for a workflow step.