1#ifndef DANODEGRAPHICSSCENE_H
2#define DANODEGRAPHICSSCENE_H
3#include <QtCore/qglobal.h>
5#include "DANodeMetaData.h"
6#include "DAWorkFlowAPI.h"
7#include "DAGraphicsScene.h"
8#include "DAAbstractNodeGraphicsItem.h"
9#include "DAAbstractNodeLinkGraphicsItem.h"
10#include "DAWorkFlow.h"
12class QGraphicsSceneMouseEvent;
15class DAGraphicsPixmapItem;
16class DAGraphicsRectItem;
17class DAGraphicsStandardTextItem;
18class DAGraphicsTextItem;
38 virtual void cancelLink()
override;
51 QList< DAAbstractNodeGraphicsItem* > getNodeGraphicsItems()
const;
54 QList< DAGraphicsStandardTextItem* > getTextGraphicsItems()
const;
57 QList< DAAbstractNodeGraphicsItem* > getSelectedNodeGraphicsItems()
const;
63 QList< DAAbstractNodeLinkGraphicsItem* > getSelectedNodeLinkGraphicsItems()
const;
66 QList< QGraphicsItem* > getGraphicsItemsWithoutLink()
const;
69 int removeSelectedItems_();
94 QGraphicsSceneMouseEvent* event);
138 void onNodeNameChanged(DAAbstractNode::SharedPointer node,
const QString& oldName,
const QString& newName);
142 void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
override;
148 static void classifyItems(
const QList< QGraphicsItem* >& sourceItems,
149 QList< DAAbstractNodeGraphicsItem* >& nodeItems,
150 QList< DAAbstractNodeLinkGraphicsItem* >& linkItems,
151 QList< QGraphicsItem* >& normalItem);
153 static QList< DAAbstractNodeLinkGraphicsItem* > getNodesAllLinkItems(
const QList< DAAbstractNodeGraphicsItem* >& nodeItems);
155 static QList< DAAbstractNode::SharedPointer > nodeItemsToNodes(
const QList< DAAbstractNodeGraphicsItem* >& nodeItems);
这是节点的基类,workflow所有节点都继承此类 作为一个节点的QGraphicsItem,此item应该由DAAbstractNode创建
Definition DAAbstractNodeGraphicsItem.h:47
绘制连接线的item
Definition DAAbstractNodeLinkGraphicsItem.h:20
节点对应的基类
Definition DAAbstractNode.h:50
DAGraphicsView的基本元件
Definition DAGraphicsItem.h:19
绘制连接线的item
Definition DAGraphicsLinkItem.h:16
支持缩放编辑的图片item
Definition DAGraphicsPixmapItem.h:13
这是带着undostack的GraphicsScene 此QGraphicsScene支持:
Definition DAGraphicsScene.h:30
DAAbstractNodeGraphicsItem对应的QGraphicsScene,通过此scene,管理DAWorkFlow内容
Definition DANodeGraphicsScene.h:25
void selectNodeLinkChanged(DA::DAAbstractNodeLinkGraphicsItem *link)
选中了某个节点的设置窗口
void nodeLinksRemoved(const QList< DA::DAAbstractNodeLinkGraphicsItem * > &items)
连接线被移除
void nodeItemLinkPointSelected(DA::DAAbstractNodeGraphicsItem *item, const DA::DANodeLinkPoint &lp, QGraphicsSceneMouseEvent *event)
节点的连接点被选中触发的信号
void nodeItemsRemoved(const QList< DA::DAAbstractNodeGraphicsItem * > &items)
节点被移除
void nodeLinkItemIsEmpty(DA::DAAbstractNodeLinkGraphicsItem *link)
说明link已经为空,这时会自动remove
void selectNodeItemChanged(DA::DAAbstractNodeGraphicsItem *item)
选中了某个节点的设置窗口
用于表征连节点信息的数据
Definition DANodeLinkPoint.h:13
基本的工作流,这个也是总工厂,汇总了所有插件的工厂
Definition DAWorkFlow.h:21
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44