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;