|
DAWorkbench 0.0.1
DAWorkbench API
|
基本的工作流,这个也是总工厂,汇总了所有插件的工厂 更多...
#include <DAWorkFlow.h>
类 | |
| class | PrivateData |
Public 类型 | |
| using | CallbackPrepareStartExecute = std::function< bool(DAWorkFlowExecuter *) > |
| using | CallbackPrepareEndExecute = std::function< bool(DAWorkFlowExecuter *) > |
Public 槽 | |
| void | exec () |
| 开始执行 此函数会触发信号 | |
| void | terminate () |
| 终止 | |
信号 | |
| void | nodeAdded (DAAbstractNode::SharedPointer node) |
| 节点添加的信号 | |
| void | nodeStartRemove (DAAbstractNode::SharedPointer node) |
| 节点在工作流中开始被删除 | |
| void | nodeRemoved (DAAbstractNode::SharedPointer n) |
| 节点移除完成信号 这时此信号携带的n是这个节点唯一的生命周期,如果接收此信号后还保留这个节点,这个节点将不销毁 | |
| void | workflowReady () |
| 工作流就绪信号,此信号在文件加载过程完成后触发 | |
| void | nodeNameChanged (DAAbstractNode::SharedPointer node, const QString &oldName, const QString &newName) |
| 节点名字变更 | |
| void | workflowCleared () |
| 清空信号 | |
| void | startExecute () |
| 开始执行,exec函数调用后会触发此信号 | |
| void | terminateExecute () |
| 开始停止工作流 | |
| void | nodeExecuteFinished (DAAbstractNode::SharedPointer n, bool state) |
| 执行到某个节点发射的信号 | |
| void | finished (bool success) |
| 工作流执行完毕信号 | |
Public 成员函数 | |
| DAWorkFlow (QObject *p=nullptr) | |
| void | registFactory (std::shared_ptr< DAAbstractNodeFactory > factory) |
| 注册工厂,工厂的内存管理根据实例情况管理,目前工作流和执行器会持有工厂的共享指针,如果这两个同时销毁,工厂也会随之销毁 | |
| void | registFactorys (const QList< std::shared_ptr< DAAbstractNodeFactory > > factorys) |
| 注册工厂群,工作流不保留工程的内存管理权 | |
| void | removeFactory (std::shared_ptr< DAAbstractNodeFactory > fac) |
| 删除工厂,此函数一般在插件卸载时调用 | |
| QList< std::shared_ptr< DAAbstractNodeFactory > > | getAllFactorys () const |
| 获取所有的工厂 | |
| QList< std::shared_ptr< DAAbstractNodeFactory > > | usedFactorys () const |
| 获取使用到的工厂 | |
| int | getFactoryCount () const |
| 获取工厂的数量 | |
| std::shared_ptr< DAAbstractNodeFactory > | getFactory (const QString &factoryPrototypes) |
| 通过工厂名字获取工厂 | |
| DANodeMetaData | getNodeMetaData (const QString &protoType) const |
| 通过protoType获取DANodeMetaData | |
| DAAbstractNode::SharedPointer | createNode (const DANodeMetaData &md) |
| 工作流创建节点,FCWorkFlow保留节点的内存管理权 | |
| void | addNode (DAAbstractNode::SharedPointer n) |
| 添加节点,会触发nodeAdded信号 | |
| QList< DAAbstractNode::SharedPointer > | nodes () const |
| 获取所有节点 | |
| void | clear () |
| 清空节点 此函数会触发信号 | |
| void | removeNode (const DAAbstractNode::SharedPointer &n) |
| 删除工作流节点,节点删除会触发 | |
| bool | hasNodeID (const DAAbstractNode::IdType id) |
| 在工作流中是否存在id | |
| DAAbstractNode::SharedPointer | getNode (const DAAbstractNode::IdType id) |
| 通过id获取节点 | |
| DAAbstractNodeGraphicsItem * | getNodeGraphicsItem (const DAAbstractNode::IdType id) |
| DAWorkFlow::getNodeGraphicsItem | |
| virtual void | saveExternInfoToXml (QDomDocument *doc, QDomElement *nodeElement, const QVersionNumber &ver) const |
| 保存工作流的扩展信息 | |
| virtual void | loadExternInfoFromXml (const QDomElement *nodeElement, const QVersionNumber &ver) |
| 加载工作流的扩展信息 | |
| void | setStartNode (DAAbstractNode::SharedPointer p) |
| 设置开始执行的节点 | |
| DAAbstractNode::SharedPointer | getStartNode () const |
| 获取开始执行的节点 | |
| bool | isRunning () const |
| 判断是否正在运行 | |
| int | size () const |
| 工作流中节点的数量 | |
| bool | isEmpty () const |
| 判断是否为空 | |
| QString | getLastErrorString () const |
| 获取最后发生的错误信息 | |
| void | registStartWorkflowCallback (CallbackPrepareStartExecute fn) |
| 注册开始执行工作流的回调 | |
| void | registEndWorkflowCallback (CallbackPrepareEndExecute fn) |
| 注册结束执行工作流的回调 | |
| QList< CallbackPrepareStartExecute > | getStartWorkflowCallback () const |
| 获取所有的开始回调函数 | |
| QList< CallbackPrepareEndExecute > | getEndWorkflowCallback () const |
| 获取所有的结束回调函数 | |
| DANodeGraphicsScene * | getScene () const |
| 获取这个工作流加入的scene | |
| void | callWorkflowReady () |
| 触发工作流完成信号 | |
| void | disableFactoryCallBack () |
| 禁止所有工厂回调,这个一般用于文件加载过程,避免回调过多 | |
| void | enableFactoryCallBack () |
| 允许工厂回调,这个一般用于文件加载过程,避免回调过多 | |
| bool | isEnableFactoryCallBack () const |
| 是否允许工厂回调 | |
Protected 成员函数 | |
| void | emitNodeNameChanged (DAAbstractNode::SharedPointer node, const QString &oldName, const QString &newName) |
| void | nodeIDChanged (const DAAbstractNode::SharedPointer &node, const DAAbstractNode::IdType &oldId) |
| 节点的id信息变更 | |
友元 | |
| class | DAAbstractNode |
| class | DANodeGraphicsScene |
基本的工作流,这个也是总工厂,汇总了所有插件的工厂
| void DA::DAWorkFlow::addNode | ( | DAAbstractNode::SharedPointer | n | ) |
添加节点,会触发nodeAdded信号
| n |
| void DA::DAWorkFlow::clear | ( | ) |
| DAAbstractNode::SharedPointer DA::DAWorkFlow::createNode | ( | const DANodeMetaData & | md | ) |
工作流创建节点,FCWorkFlow保留节点的内存管理权
此函数仅仅创建节点,不会添加到工作流中
| md |
|
slot |
开始执行 此函数会触发信号
|
signal |
工作流执行完毕信号
| success | 成功全部执行完成为true |
| QList< std::shared_ptr< DAAbstractNodeFactory > > DA::DAWorkFlow::getAllFactorys | ( | ) | const |
获取所有的工厂
| QList< DAWorkFlow::CallbackPrepareEndExecute > DA::DAWorkFlow::getEndWorkflowCallback | ( | ) | const |
获取所有的结束回调函数
| std::shared_ptr< DAAbstractNodeFactory > DA::DAWorkFlow::getFactory | ( | const QString & | factoryPrototypes | ) |
通过工厂名字获取工厂
| name |
| int DA::DAWorkFlow::getFactoryCount | ( | ) | const |
获取工厂的数量
| QString DA::DAWorkFlow::getLastErrorString | ( | ) | const |
获取最后发生的错误信息
| DAAbstractNode::SharedPointer DA::DAWorkFlow::getNode | ( | const DAAbstractNode::IdType | id | ) |
通过id获取节点
| id |
| DAAbstractNodeGraphicsItem * DA::DAWorkFlow::getNodeGraphicsItem | ( | const DAAbstractNode::IdType | id | ) |
| DANodeMetaData DA::DAWorkFlow::getNodeMetaData | ( | const QString & | protoType | ) | const |
通过protoType获取DANodeMetaData
| protoType |
| DANodeGraphicsScene * DA::DAWorkFlow::getScene | ( | ) | const |
获取这个工作流加入的scene
| DAAbstractNode::SharedPointer DA::DAWorkFlow::getStartNode | ( | ) | const |
获取开始执行的节点
| QList< DAWorkFlow::CallbackPrepareStartExecute > DA::DAWorkFlow::getStartWorkflowCallback | ( | ) | const |
获取所有的开始回调函数
| bool DA::DAWorkFlow::hasNodeID | ( | const DAAbstractNode::IdType | id | ) |
在工作流中是否存在id
| id |
| bool DA::DAWorkFlow::isEmpty | ( | ) | const |
判断是否为空
| bool DA::DAWorkFlow::isEnableFactoryCallBack | ( | ) | const |
是否允许工厂回调
| bool DA::DAWorkFlow::isRunning | ( | ) | const |
判断是否正在运行
|
virtual |
加载工作流的扩展信息
| nodeElement |
|
signal |
节点添加的信号
| node |
|
signal |
执行到某个节点发射的信号
| n |
|
protected |
节点的id信息变更
| node | |
| oldId |
|
signal |
节点名字变更
| node | |
| oldName | |
| newName |
| QList< DAAbstractNode::SharedPointer > DA::DAWorkFlow::nodes | ( | ) | const |
获取所有节点
|
signal |
节点在工作流中开始被删除
| node |
| void DA::DAWorkFlow::registEndWorkflowCallback | ( | DAWorkFlow::CallbackPrepareEndExecute | fn | ) |
注册结束执行工作流的回调
| fn |
| void DA::DAWorkFlow::registFactory | ( | std::shared_ptr< DAAbstractNodeFactory > | factory | ) |
注册工厂,工厂的内存管理根据实例情况管理,目前工作流和执行器会持有工厂的共享指针,如果这两个同时销毁,工厂也会随之销毁
| factory |
| void DA::DAWorkFlow::registFactorys | ( | const QList< std::shared_ptr< DAAbstractNodeFactory > > | factorys | ) |
注册工厂群,工作流不保留工程的内存管理权
| factory |
| void DA::DAWorkFlow::registStartWorkflowCallback | ( | DAWorkFlow::CallbackPrepareStartExecute | fn | ) |
注册开始执行工作流的回调
| fn |
| void DA::DAWorkFlow::removeFactory | ( | std::shared_ptr< DAAbstractNodeFactory > | fac | ) |
删除工厂,此函数一般在插件卸载时调用
| fac |
| void DA::DAWorkFlow::removeNode | ( | const DAAbstractNode::SharedPointer & | n | ) |
|
virtual |
保存工作流的扩展信息
| doc | |
| nodeElement |
| void DA::DAWorkFlow::setStartNode | ( | DAAbstractNode::SharedPointer | p | ) |
设置开始执行的节点
| p |
| int DA::DAWorkFlow::size | ( | ) | const |
工作流中节点的数量
| QList< std::shared_ptr< DAAbstractNodeFactory > > DA::DAWorkFlow::usedFactorys | ( | ) | const |
获取使用到的工厂
|
signal |
工作流就绪信号,此信号在文件加载过程完成后触发
文件加载过程中不会触发nodeAdded信号,在整个文件加载完成后会触发workflowReady用来通知其他告知工作流加载完成