DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAStandardNodeLinkGraphicsItem类 参考

标准的连线 更多...

#include <DAStandardNodeLinkGraphicsItem.h>

类 DA::DAStandardNodeLinkGraphicsItem 继承关系图:
DA::DAAbstractNodeLinkGraphicsItem DA::DAGraphicsLinkItem DA::DAGraphicsItem DA::DAXMLFileInterface

Public 成员函数

 DAStandardNodeLinkGraphicsItem (QGraphicsItem *p=nullptr)
 
 DAStandardNodeLinkGraphicsItem (DAAbstractNodeGraphicsItem *from, DANodeLinkPoint pl, QGraphicsItem *p=nullptr)
 
- Public 成员函数 继承自 DA::DAAbstractNodeLinkGraphicsItem
int type () const override
 
 DAAbstractNodeLinkGraphicsItem (QGraphicsItem *p=nullptr)
 DAAbstractNodeLinkGraphicsItem
 
 DAAbstractNodeLinkGraphicsItem (DAAbstractNodeGraphicsItem *from, const DA::DANodeLinkPoint &pl, QGraphicsItem *p=nullptr)
 
void updatePos ()
 自动根据fromitem来更新位置
 
virtual QRectF updateBoundingRect () override
 更新范围
 
void setLinkPointNameVisible (bool on=true, Orientations o=OrientationBoth)
 设置是否显示连接点的文本
 
bool isLinkPointNameVisible (Orientations o=OrientationBoth) const
 是否显示连接点的文本
 
void setLinkPointNameTextColor (const QColor &c, Orientations o=OrientationBoth)
 设置连接点显示的颜色
 
QColor getLinkPointNameTextColor (Orientations o) const
 获取连接点显示的颜色
 
void setLinkPointNamePositionOffset (int offset, Orientations o=OrientationBoth)
 设置文本和连接点的偏移量,默认为10
 
int getLinkPointNamePositionOffset (Orientations o) const
 文本和连接点的偏移量
 
QGraphicsSimpleTextItem * getFromTextItem () const
 
QGraphicsSimpleTextItem * getToTextItem () const
 
void setText (const QString &t)
 设置文本
 
QString getText () const
 获取文本
 
QGraphicsSimpleTextItem * getTextItem ()
 获取文本对应的item
 
DAAbstractNodeGraphicsItemfromNodeItem () const
 获取from node item,如果没有返回nullptr
 
DAAbstractNodeGraphicsItemtoNodeItem () const
 获取to node item,如果没有返回nullptr
 
DANodeLinkPoint fromNodeLinkPoint () const
 from的连接点
 
DANodeLinkPoint toNodeLinkPoint () const
 to的连接点
 
DAAbstractNode::SharedPointer fromNode () const
 获取from的节点,如果没有返回nullptr
 
DAAbstractNode::SharedPointer toNode () const
 获取to的节点,如果没有返回nullptr
 
virtual void finishedNodeLink ()
 完成连接
 
virtual bool willCompleteLink () override
 节点的连接线在确认点击链接到完成才能完成链接
 
virtual QPainterPath generateLinePainterPath (const QPointF &fromPoint, const QPointF &toPoint, LinkLineStyle linestyle=LinkLineStraight) override
 生成一个连接线
 
bool attachFrom (DAAbstractNodeGraphicsItem *item, const QString &name)
 从item的出口开始进行连接
 
bool attachFrom (DAAbstractNodeGraphicsItem *item, const DANodeLinkPoint &pl)
 从item的出口开始进行连接
 
void detachFrom ()
 清空from节点
 
bool attachTo (DAAbstractNodeGraphicsItem *item, const QString &name)
 
bool attachTo (DAAbstractNodeGraphicsItem *item, const DANodeLinkPoint &pl)
 连接到结束节点
 
void detachTo ()
 断开to点
 
bool isLinked () const
 已经连接完成,在from和to都有节点时,返回true
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 保存到xml中
 
virtual bool loadFromXml (const QDomElement *parentElement, const QVersionNumber &ver) override
 从xml中加载
 
- Public 成员函数 继承自 DA::DAGraphicsLinkItem
int type () const override
 
 DAGraphicsLinkItem (QGraphicsItem *p=nullptr)
 
void setEndPointType (Orientations o, EndPointType epType)
 设置连接点端点的样式
 
EndPointType getEndPointType (Orientations o) const
 获取端点的样式
 
int getEndPointSize () const
 端点大小
 
void setEndPointSize (int v)
 设置端点大小
 
void setLinkLineStyle (LinkLineStyle s)
 设置连线样式
 
LinkLineStyle getLinkLineStyle () const
 获取连线样式
 
void setLinePen (const QPen &p)
 设置线的画笔
 
QPen getLinePen () const
 返回当前画笔
 
void setBezierControlScale (qreal rate=0.25)
 设置贝塞尔曲线的控制点的缩放比例
 
qreal getBezierControlScale () const
 获取贝塞尔曲线的控制点的缩放比例
 
virtual void setStartScenePosition (const QPointF &scenepostion)
 开始连接点的位置,位置基于scene
 
QPointF getStartScenePosition () const
 开始连接点的位置,位置基于scene
 
virtual void setEndScenePosition (const QPointF &scenepostion)
 结束连接点的位置,位置基于scene
 
QPointF getEndScenePosition () const
 结束连接点的位置,位置基于scene
 
QPainterPath getLinkLinePainterPath () const
 获取链接线
 
QPainterPath getEndPointPainterPath (Orientations epType) const
 获取末端(箭头)的绘图路径
 
void updateEndPoint ()
 更新末端
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override
 绘图
 
virtual void paintLinkLine (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QPainterPath &linkPath)
 绘制连接线
 
virtual void paintEndPoint (QPainter *painter, const QStyleOptionGraphicsItem *option, const QPointF &pStart, EndPointType etStart, const QPainterPath &startPainterPath, const QPointF &pEnd, EndPointType etEnd, const QPainterPath &endPainterPath, const QPainterPath &linkPath)
 绘制箭头
 
virtual QRectF boundingRect () const override
 
virtual QPainterPath shape () const override
 
virtual QPainterPath generateEndPointPainterPath (EndPointType epType, int size)
 生成箭头,所有生成的箭头箭头尖端需要再原点,箭头朝向x轴正方向
 
void setScenePos (const QPointF &p)
 
void setScenePos (qreal x, qreal y)
 
- Public 成员函数 继承自 DA::DAGraphicsItem
 DAGraphicsItem (QGraphicsItem *parent=nullptr)
 
void setBorderPen (const QPen &p)
 设置边框画笔
 
QPen getBorderPen () const
 获取当前边框画笔
 
void setShowBorder (bool on)
 设置显示边框
 
bool isShowBorder () const
 是否显示边框
 
void setSelectable (bool on=true)
 设置是否可选中
 
bool isSelectable () const
 判断可否被选中
 
void setMovable (bool on=true)
 设置为是否可移动
 
bool isMovable () const
 判断是否可以移动
 
void setBackgroundBrush (const QBrush &b)
 设置背景
 
QBrush getBackgroundBrush () const
 获取背景
 
void enableShowBackground (bool on)
 设置显示背景
 
bool isShowBackground () const
 是否显示背景
 
virtual void groupPositionChanged (const QPointF &p)
 分组的位置发生了改变 此函数是在分组后才会回调,分组后,分组的移动对于item来说是不移动的,这时候无法触发ItemPositionChanged的改变,从而导致一些异常,因此需要分组告诉子对象分组移动了
 
void setScenePos (const QPointF &p)
 
void setScenePos (qreal x, qreal y)
 
uint64_t getItemID () const
 
void setItemID (uint64_t id)
 
bool isSceneReadOnly () const
 判断当前场景是否为只读模式,只读模式不允许操作
 

额外继承的成员函数

- Public 类型 继承自 DA::DAAbstractNodeLinkGraphicsItem
enum  AnonymousType { anonymous = DA::ItemType_GraphicsNodeLinkItem }
 
- Public 类型 继承自 DA::DAGraphicsLinkItem
enum  AnonymousType { anonymous = DA::ItemType_DAGraphicsLinkItem }
 
enum  LinkLineStyle { LinkLineBezier , LinkLineStraight , LinkLineKnuckle }
 连接点的样式 更多...
 
enum  Orientations { OrientationStart = 0 , OrientationEnd , OrientationBoth }
 标记方向 更多...
 
enum  EndPointType { EndPointNone , EndPointTriangType }
 端点样式 更多...
 
- Public 类型 继承自 DA::DAGraphicsItem
enum  { Type = DA::ItemType_DAGraphicsItem }
 
- 静态 Public 成员函数 继承自 DA::DAAbstractNodeLinkGraphicsItem
static QRectF rectFromTwoPoint (const QPointF &p0, const QPointF &p1)
 通过两个点形成一个矩形,两个点总能形成一个矩形,如果重合,返回一个空矩形
 
- 静态 Public 成员函数 继承自 DA::DAGraphicsLinkItem
static qreal pointLength (const QPointF &a, const QPointF &b)
 计算两个点的距离
 
static QPointF elongation (const QPointF &orgPoint, AspectDirection d, qreal externLen)
 延长线,以一个方向和距离延伸
 
static bool isDirectionOpposite (AspectDirection d1, AspectDirection d2)
 判断两个方向是否相对,也就是东对西,南对北就是相对,相对必定平行
 
static bool isDirectionParallel (AspectDirection d1, AspectDirection d2)
 判断两个方向是否平行
 
static bool isPointInFront (const QPointF &p1, AspectDirection d1, const QPointF &p2)
 在1d的方向上,点2在点1的方向的前面
 
static bool isPointCanMeet (const QPointF &p1, AspectDirection d1, const QPointF &p2, AspectDirection d2)
 判断点能否相遇,针对垂直方向才有意义
 
static bool isParallelPointApproachInDirection (const QPointF &p1, AspectDirection d1, const QPointF &p2, AspectDirection d2)
 针对平行点线,沿着方向移动可以接近,此函数只对平行点线有用
 
static AspectDirection oppositeDirection (AspectDirection d)
 翻转方向
 
static AspectDirection relativeDirectionOfPoint (const QPointF &p1, const QPointF &p2)
 计算点1相对点2的方向 | | p1———p2———— | | 如上面示例,此函数返回West
 
static QPointF calcPainterPathEndPoint (const QPainterPath &path, bool fromStart=true, qreal distanceMaxPx=18.0, int maxTryCnt=10)
 获取线段的末端,这个函数可以返回末端但有不是终端的点,这个点离终端的距离不会超过distanceMaxPx
 
- 静态 Public 成员函数 继承自 DA::DAGraphicsItem
static DAGraphicsItemcast (QGraphicsItem *i)
 dynamic_cast为DAGraphicsItem
 
- 静态 Public 成员函数 继承自 DA::DAXMLFileInterface
template<typename std_container_like >
static QDomElement makeElement (const std_container_like &v, const QString &tagName, QDomDocument *doc)
 生成一个文本
 
template<typename std_container_like >
static bool loadElement (std_container_like &v, const QDomElement *ele)
 加载文本
 
static QDomElement makeSysInfoElement (const QString &tagName, QDomDocument *doc)
 
static void appendElementWithText (QDomElement &parent, const QString &tagName, const QString &text, QDomDocument *doc)
 在parent下,插入一个tag,tag下包含文字text
 
- Protected 成员函数 继承自 DA::DAAbstractNodeLinkGraphicsItem
void updateFromLinkPointInfo (const DANodeLinkPoint &pl)
 更新连接点信息
 
void updateToLinkPointInfo (const DANodeLinkPoint &pl)
 更新连接点信息
 
QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 这里主要对只读模式的过滤
 
void callItemIsDestroying (DAAbstractNodeGraphicsItem *item, const DA::DANodeLinkPoint &pl)
 
- Protected 成员函数 继承自 DA::DAGraphicsLinkItem
DAGraphicsScenedaScene () const
 
void setStartPosition (const QPointF &p)
 开始连接点的位置
 
const QPointF & getStartPosition () const
 开始连接点的位置
 
void setEndPosition (const QPointF &p)
 结束连接点的位置
 
const QPointF & getEndPosition () const
 结束连接点的位置
 
virtual QPen getPainterPen (const QStyleOptionGraphicsItem *option) const
 获取绘图的画笔
 
virtual QPainterPath generateLinkLineBezierPainterPath (const QPointF &fromPos, AspectDirection fromDirect, const QPointF &toPos, AspectDirection toDirect)
 生成贝塞尔曲线
 
virtual QPainterPath generateLinkLineStraightPainterPath (const QPointF &fromPos, const QPointF &toPos)
 生成直线
 
virtual QPainterPath generateLinkLineKnucklePainterPath (const QPointF &fromPos, AspectDirection fromDirect, const QPointF &toPos, AspectDirection toDirect)
 生成直角连线
 
- Protected 成员函数 继承自 DA::DAGraphicsItem
DAGraphicsScenedaScene () const
 

详细描述

标准的连线


该类的文档由以下文件生成: