DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DANodeLinkPointDrawDelegate.h
1#ifndef DANODELINKPOINTDRAWDELEGATE_H
2#define DANODELINKPOINTDRAWDELEGATE_H
3#include "DAWorkFlowAPI.h"
4#include "DANodeLinkPoint.h"
5#include <QPainterPath>
6namespace DA
7{
8
9class DAAbstractNodeGraphicsItem;
17class DAWORKFLOW_API DANodeLinkPointDrawDelegate
18{
19 DA_DECLARE_PRIVATE(DANodeLinkPointDrawDelegate)
20public:
23 // 设置item
24 void setItem(DAAbstractNodeGraphicsItem* i);
25 DAAbstractNodeGraphicsItem* getItem() const;
26 // 绘制连接点
27 void paintLinkPoints(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
28 // 显示连接点的文字
29 void showLinkPointText(bool on);
30 bool isShowLinkPointText() const;
31
32public:
33 // 重新计算linkpoint的信息
34 virtual void layoutLinkPoints(QList< DA::DANodeLinkPoint >& lps, const QRectF& bodyRect);
35 // 获取连接点的矩形绘图区域范围
36 // 此函数会影响到场景链接过程选中的状态,比较关键,决定了DANodeGraphicsScene::nodeItemLinkPointSelected能否发射,paintLinkPoint函数会调用此函数确定绘图区域
37 virtual QPainterPath getlinkPointPainterRegion(const DANodeLinkPoint& pl) const;
38 // 获取连接点,正常情况,不需要继承此函数,此函数只有比较特殊的情况继承
39 virtual QList< DANodeLinkPoint > getLinkPoints() const;
40 // 绘制连接点
41 virtual void paintLinkPoints(const QList< DANodeLinkPoint >& pls,
42 QPainter* painter,
43 const QStyleOptionGraphicsItem* option,
44 QWidget* widget);
45 // 绘制连接点文本,会先绘制连接点,再绘制连接点文本
46 virtual void paintLinkPointTexts(const QList< DANodeLinkPoint >& pls,
47 QPainter* painter,
48 const QStyleOptionGraphicsItem* option,
49 QWidget* widget);
50
51protected:
52 // 绘制某个连接点
53 virtual void paintLinkPoint(const DANodeLinkPoint& pl,
54 QPainter* painter,
55 const QStyleOptionGraphicsItem* option,
56 QWidget* widget);
57 virtual void paintLinkPointText(const DANodeLinkPoint& pl,
58 QPainter* painter,
59 const QStyleOptionGraphicsItem* option,
60 QWidget* widget);
61};
62
63} // end of namespace DA
64#endif // DANODELINKPOINTDRAWDELEGATE_H
这是节点的基类,workflow所有节点都继承此类 作为一个节点的QGraphicsItem,此item应该由DAAbstractNode创建
Definition DAAbstractNodeGraphicsItem.h:47
linkpoint的绘制代理
Definition DANodeLinkPointDrawDelegate.h:18
用于表征连节点信息的数据
Definition DANodeLinkPoint.h:13
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44