35 void registFactory(std::shared_ptr< DAAbstractNodeFactory > factory);
36 void registFactorys(
const QList< std::shared_ptr< DAAbstractNodeFactory > > factorys);
38 void removeFactory(std::shared_ptr< DAAbstractNodeFactory > fac);
40 QList< std::shared_ptr< DAAbstractNodeFactory > > getAllFactorys()
const;
42 QList< std::shared_ptr< DAAbstractNodeFactory > > usedFactorys()
const;
44 int getFactoryCount()
const;
46 std::shared_ptr< DAAbstractNodeFactory > getFactory(
const QString& factoryPrototypes);
50 DAAbstractNode::SharedPointer createNode(
const DANodeMetaData& md);
52 void addNode(DAAbstractNode::SharedPointer n);
54 QList< DAAbstractNode::SharedPointer > nodes()
const;
58 void removeNode(
const DAAbstractNode::SharedPointer& n);
60 bool hasNodeID(
const DAAbstractNode::IdType
id);
62 DAAbstractNode::SharedPointer getNode(
const DAAbstractNode::IdType
id);
66 virtual void saveExternInfoToXml(QDomDocument* doc, QDomElement* nodeElement,
const QVersionNumber& ver)
const;
68 virtual void loadExternInfoFromXml(
const QDomElement* nodeElement,
const QVersionNumber& ver);
70 void setStartNode(DAAbstractNode::SharedPointer p);
72 DAAbstractNode::SharedPointer getStartNode()
const;
74 bool isRunning()
const;
80 QString getLastErrorString()
const;
82 void registStartWorkflowCallback(CallbackPrepareStartExecute fn);
84 void registEndWorkflowCallback(CallbackPrepareEndExecute fn);
86 QList< CallbackPrepareStartExecute > getStartWorkflowCallback()
const;
88 QList< CallbackPrepareEndExecute > getEndWorkflowCallback()
const;
92 void callWorkflowReady();
95 void disableFactoryCallBack();
96 void enableFactoryCallBack();
97 bool isEnableFactoryCallBack()
const;
106 void emitNodeNameChanged(DAAbstractNode::SharedPointer node,
const QString& oldName,
const QString& newName);
108 void nodeIDChanged(
const DAAbstractNode::SharedPointer& node,
const DAAbstractNode::IdType& oldId);
138 void nodeNameChanged(DAAbstractNode::SharedPointer node,
const QString& oldName,
const QString& newName);
167 void onExecuteFinished(
bool success);