FCAbstractNode的工厂基类,所有自定义的node集合最后都需要提供一个工厂
更多...
#include <DAAbstractNodeFactory.h>
|
| class | PrivateData |
| | The DAAbstractNodeFactory::PrivateData class
|
| |
FCAbstractNode的工厂基类,所有自定义的node集合最后都需要提供一个工厂
工厂将通过
- 参见
- DANodeMetaData 来创建一个DAAbstractNode,DAAbstractNode可以生成DAAbstractNodeGraphicsItem实现前端的渲染, 因此,任何节点都需要实现一个DAAbstractNode和一个DAAbstractNodeGraphicsItem,一个实现逻辑节点的描述, 一个实现前端的渲染,另外DAAbstractNodeGraphicsItem可以生成DAAbstractNodeWidget,用于设置DAAbstractNodeGraphicsItem
◆ create()
| virtual DAAbstractNode::SharedPointer DA::DAAbstractNodeFactory::create |
( |
const DANodeMetaData & |
meta | ) |
|
|
pure virtual |
◆ factoryDescribe()
| virtual QString DA::DAAbstractNodeFactory::factoryDescribe |
( |
| ) |
const |
|
pure virtual |
◆ factoryName()
| virtual QString DA::DAAbstractNodeFactory::factoryName |
( |
| ) |
const |
|
pure virtual |
◆ factoryPrototypes()
| virtual QString DA::DAAbstractNodeFactory::factoryPrototypes |
( |
| ) |
const |
|
pure virtual |
工厂的唯一标识
- 注解
- 每个工厂需要保证有唯一的标识,工作流将通过标识查找工厂
-
此类型名字不能进行翻译
- 返回
◆ getNodesMetaData()
| virtual QList< DANodeMetaData > DA::DAAbstractNodeFactory::getNodesMetaData |
( |
| ) |
const |
|
pure virtual |
◆ getPrototypes()
| virtual QStringList DA::DAAbstractNodeFactory::getPrototypes |
( |
| ) |
const |
|
pure virtual |
◆ getWorkFlow()
| DAWorkFlow * DA::DAAbstractNodeFactory::getWorkFlow |
( |
| ) |
const |
◆ initializNode()
| void DA::DAAbstractNodeFactory::initializNode |
( |
const DAAbstractNode::SharedPointer & |
node | ) |
|
|
virtual |
初始化节点
- 注解
- 此函数需要用户在create之后调用
DAAbstractNode::SharedPointer MyFactory::create(
const DANodeMetaData& meta){
...
DAAbstractNode::SharedPointer node = new xxxNode();
...
}
void MyFactory::initializNode(const DAAbstractNode::SharedPointer& node){
...
do you initializ
}
virtual void initializNode(const DAAbstractNode::SharedPointer &node)
初始化节点
Definition DAAbstractNodeFactory.cpp:57
- 参数
-
◆ loadExternInfoFromXml()
| void DA::DAAbstractNodeFactory::loadExternInfoFromXml |
( |
const QDomElement * |
factoryExternElement | ) |
|
|
virtual |
加载扩展信息到工厂中
- 此函数会在工作流加载过程中调用,把工厂的特殊信息加载
- 注解
- 工作流加载过程如下:
加载工作流扩展信息
- 加载节点信息
- 加载链接信息
- 加载特殊item(非工作流的item)
- 加载工厂扩展信息
- 加载scene信息
◆ nodeLinkDetached()
| void DA::DAAbstractNodeFactory::nodeLinkDetached |
( |
DAAbstractNode::SharedPointer |
outNode, |
|
|
const QString & |
outKey, |
|
|
DAAbstractNode::SharedPointer |
inNode, |
|
|
const QString & |
inkey |
|
) |
| |
|
virtual |
节点连线删除的回调
- 参数
-
| outNode | 输出节点 |
| outKey | 输出key |
| intNode | 输入节点 |
| inkey | 输入key |
◆ nodeStartRemove()
| void DA::DAAbstractNodeFactory::nodeStartRemove |
( |
DAAbstractNode::SharedPointer |
node | ) |
|
|
virtual |
◆ pointer()
| DAAbstractNodeFactory::SharedPointer DA::DAAbstractNodeFactory::pointer |
( |
| ) |
|
◆ registWorkflow()
| void DA::DAAbstractNodeFactory::registWorkflow |
( |
DAWorkFlow * |
wf | ) |
|
|
virtual |
工厂设置了workflow,此函数设置为虚函数,在某些工厂可以通过此函数的重载来绑定DAWorkFlow的信号
- 注解
- 重载此函数一定要调用DAAbstractNodeFactory::registWorkflow,否则
- 参见
- getWorkFlow 一直返回空
◆ saveExternInfoToXml()
| void DA::DAAbstractNodeFactory::saveExternInfoToXml |
( |
QDomDocument * |
doc, |
|
|
QDomElement * |
factoryExternElement |
|
) |
| const |
|
virtual |
把扩展信息保存到xml上
- 此函数在工作流保存的过程中会调用,把工厂的附加信息保存到xml文件上
- 注解
- 工作流保存过程如下:
保存工作流扩展信息
- 保存节点信息
- 保存链接信息
- 保存特殊item(非工作流的item)
- 保存工厂扩展信息
- 保存scene信息
- 参数
-
◆ uiInitialization()
界面初始化,这个回调发生在工作流和工厂被加入到场景中触发
- 参数
-
- 注解
- 此函数的回调发生DANodeGraphicsScene::setWorkFlow
该类的文档由以下文件生成:
- /home/runner/work/data-workbench/data-workbench/src/DAWorkFlow/DAAbstractNodeFactory.h
- /home/runner/work/data-workbench/data-workbench/src/DAWorkFlow/DAAbstractNodeFactory.cpp