DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAStandardNodeInputOutputGraphicsItem类 参考
类 DA::DAStandardNodeInputOutputGraphicsItem 继承关系图:
DA::DAAbstractNodeGraphicsItem DA::DAGraphicsResizeableItem DA::DAGraphicsItem DA::DAXMLFileInterface

Public 成员函数

 DAStandardNodeInputOutputGraphicsItem (DA::DAAbstractNode *n, QGraphicsItem *p=nullptr)
 
QSize calcSize () const
 计算尺寸,根据输入输出进行尺寸计算
 
virtual void paintBody (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect) override
 StandardInputOutputNodeGraphicsItem::paintBody
 
QSize getLinkpointSize () const
 获取连接点尺寸
 
virtual void nodeDisplayNameChanged (const QString &name)
 节点名字改变的回调
 
void setEnableMultLink (bool on)
 
bool isEnableMultLink () const
 
void setEnableShowIcon (bool on)
 设置在中间显示icon,icon以node的icon来显示
 
bool isEnableShowIcon () const
 是否显示icon
 
void setIconSize (const QSize &s)
 设置icon的尺寸
 
QSize getIconSize () const
 icon的尺寸
 
- Public 成员函数 继承自 DA::DAAbstractNodeGraphicsItem
int type () const override
 
 DAAbstractNodeGraphicsItem (DAAbstractNode *n, QGraphicsItem *p=nullptr)
 
DAAbstractNoderawNode ()
 获取item对应的node
 
const DAAbstractNoderawNode () const
 
DAAbstractNode::SharedPointer node () const
 
void setLinkPointShowType (LinkPointShowType t)
 设置连接点的显示属性
 
LinkPointShowType getLinkPointShowType () const
 
void setLinkPointLocation (DANodeLinkPoint::Way way, LinkPointLocation l)
 设置连接点的位置
 
LinkPointLocation getLinkPointLocation (DANodeLinkPoint::Way way) const
 获取连接点的位置
 
QString getNodeName () const
 
QIcon getIcon () const
 
void setIcon (const QIcon &icon)
 设置图标
 
const DANodeMetaDatametaData () const
 获取节点元数据
 
DANodeMetaDatametaData ()
 获取节点元数据
 
QList< DANodeLinkPointgetLinkPoints () const
 获取连接点群
 
QList< DANodeLinkPointgetOutputLinkPoints () const
 获取所有输出的连接点群
 
QList< DANodeLinkPointgetInputLinkPoints () const
 获取所有输入的连接点群
 
DANodeLinkPoint getLinkPoint (const QString &name) const
 获取连接点
 
DANodeLinkPoint getInputLinkPoint (const QString &name) const
 
DANodeLinkPoint getOutputLinkPoint (const QString &name) const
 
bool setLinkPointDirection (const QString &name, AspectDirection d)
 设置linkpoint的方向,linkpoint 方向设置只会影响显示,不会影响工作流的链接
 
bool isHaveLinkPoint (const DANodeLinkPoint &pl) const
 判断是否存在连接点,仅判断way和name,不对绘图方面进行判断
 
bool isLinkPointLinked (const DANodeLinkPoint &pl)
 判断连接点是否已经链接
 
void paintLinkPoints (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 绘制默认连接点
 
virtual DAAbstractNodeWidgetgetNodeWidget ()
 获取节点对应的设置窗口
 
void setNodePalette (const DANodePalette &pl)
 设置调色板
 
const DANodePalettegetNodePalette () const
 获取调色板,如果没有设置内部调色板,会返回全局调色板
 
void setLinkPointDrawDelegate (DANodeLinkPointDrawDelegate *delegate)
 设置连接点绘制的代理,如果不设置会有一个默认代理
 
DANodeLinkPointDrawDelegategetLinkPointDrawDelegate () const
 获取连接点绘图代理
 
virtual DANodeLinkPoint getLinkPointByPos (const QPointF &p, DANodeLinkPoint::Way way=DANodeLinkPoint::Output) const
 通过位置获取linkpoint,如果没有返回一个invalid的DANodeLinkPoint
 
void updateLinkPointPos ()
 更新连接点位置,在bodyBoundingRect改变之后调用
 
void updateLinkItems ()
 更新链接到这个item的linkitem
 
void showLinkPointText (bool on)
 显示连接点的文字
 
bool isShowLinkPointText () const
 
QList< DAAbstractNodeLinkGraphicsItem * > getLinkItems () const
 获取当前链接上的LinkGraphicsItem
 
QList< DAAbstractNodeLinkGraphicsItem * > getInputLinkItems () const
 获取所有链接进来这个节点的连接线
 
QList< DAAbstractNodeLinkGraphicsItem * > getOutputLinkItems () const
 获取这个节点链接出去的所有连接线
 
QList< DAAbstractNodeGraphicsItem * > getInputItems () const
 获取所有链接到这个节点的节点
 
QList< DAAbstractNodeGraphicsItem * > getOutputItems () const
 获取这个节点链接出去的所有节点
 
QList< std::pair< DAAbstractNodeGraphicsItem *, DANodeLinkPoint > > getInputInfos () const
 获取输入的信息
 
QList< std::pair< DAAbstractNodeGraphicsItem *, DANodeLinkPoint > > getOutputInfos () const
 获取输出的信息
 
QList< DAAbstractNodeGraphicsItem * > getLinkChain () const
 获取链接链路,上所有的item
 
QList< DAAbstractNodeGraphicsItem * > getOutPutLinkChain () const
 获取输出链接链路的所有节点
 
QList< DAAbstractNodeGraphicsItem * > getInPutLinkChain () const
 获取输入链接链路的所有节点
 
QList< DAAbstractNodeLinkGraphicsItem * > getLinkItem (const QString &name) const
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 保存到xml中
 
virtual bool loadFromXml (const QDomElement *itemElement, const QVersionNumber &ver) override
 从xml中加载
 
virtual DAAbstractNodeLinkGraphicsItemcreateLinkItem (const DA::DANodeLinkPoint &lp)
 创建连接,继承此函数可以生成连接,如果返回nullptr,scene将不会进行连接
 
virtual DAAbstractNodeLinkGraphicsItemlinkTo (const DA::DANodeLinkPoint &fromPoint, DAAbstractNodeGraphicsItem *toItem, const DA::DANodeLinkPoint &toPoint)
 从fromPoint链接到toItem的toPoint点
 
DAAbstractNodeLinkGraphicsItemlinkToByName (const QString &fromPointName, DAAbstractNodeGraphicsItem *toItem, const QString &toPointName)
 从fromPointName链接到toItem的toPointName点
 
virtual void setBodySize (const QSizeF &s) override
 设置尺寸,这里要随之更新连接点
 
void resetLinkPoint ()
 重置链接点,会把原来的信息清空,包括已经链接的item
 
virtual bool acceptDragOn (DANodeMetaData mime, const QPointF &scenePos)
 是否接受DANodeMetaData拖曳在此节点上
 
virtual bool drop (DANodeMetaData mime, const QPointF &scenePos)
 拖放
 
virtual void tryLinkOnItemPos (const QPointF &p, DAAbstractNodeLinkGraphicsItem *linkItem, DANodeLinkPoint::Way way)
 此函数是在连接线点击item时调用的回调,无论点击的位置是否存在连接点,都会调用此回调
 
virtual void finishLink (const DANodeLinkPoint &p, DAAbstractNodeLinkGraphicsItem *linkItem, DANodeLinkPoint::Way way, bool isSuccess)
 链接结束的回调,无论有没有成功都会调用此回调函数
 
virtual void detachLink (const DANodeLinkPoint &p, DAAbstractNodeLinkGraphicsItem *linkItem, DANodeLinkPoint::Way way)
 
virtual void prepareNodeNameChanged (const QString &name)
 节点名字改变准备函数,通过此函数,让节点对名字进行重新绘制
 
virtual void groupPositionChanged (const QPointF &pos) override
 分组位置发生了变化
 
- Public 成员函数 继承自 DA::DAGraphicsResizeableItem
 DAGraphicsResizeableItem (QGraphicsItem *parent=nullptr)
 
int type () const override
 
QRectF boundingRect () const override
 DAGraphicsResizeableItem的boundingRect会根据getSize尺寸进行计算
 
QPainterPath shape () const override
 用户不要继承此shape函数,而是继承bodyShape函数
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
 用户不要继承此paint函数,而是继承paintBody函数
 
QSizeF testBodySize (const QSizeF &s)
 测试一下setBodySize之后getBodySize能得到的尺寸
 
QRectF getBodyRect () const
 绘图的区域
 
QSizeF getBodySize () const
 获取尺寸
 
QRectF getBodyControlRect () const
 获取body包含控制窗口大小,就是在改变尺寸时包含那8个控制点的最大尺寸
 
void setBodyMinimumSize (const QSizeF &s)
 设置最小尺寸
 
void setBodyMaximumSize (const QSizeF &s)
 设置最大尺寸
 
QSizeF getBodyMinimumSize () const
 获取最小尺寸
 
QSizeF getBodyMaximumSize () const
 获取最大尺寸
 
void setControlerSize (const QSizeF &s)
 获取控制器的大小
 
QSizeF getControlerSize () const
 
void setEnableResize (bool on)
 设置是否Delegate可用
 
bool isResizable () const
 判断是否允许
 
void setBodyPos (const QPointF &p)
 对setPos的封装
 
void setBodyScenePos (const QPointF &p)
 
QPointF getBodyCenterPoint () const
 返回body的中心点,此坐标系为item坐标系
 
QPointF getBodyCenterPos () const
 获取body中心的位置
 
void setBodyCenterPos (const QPointF &p)
 setBodyCenterPos
 
void setAutoCenterTransformOriginPoint (bool on=true)
 设置TransformOriginPoint自动设置为bodysize的中心,否则为用户自己指定
 
void updateTransformOriginPoint ()
 更新TransformOriginPoint
 
QPair< QPointF, QSizeF > doItemResize (const QPointF &mousescenePos)
 执行尺寸的改变
 
virtual QPainterPath getBodyShape () const
 获取绘图的shape
 
virtual void paintSelectedBorder (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 绘制resize边框
 
virtual void paintResizeControlPoints (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 绘制resize控制点
 
virtual void paintBackground (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect)
 绘制背景
 
virtual void paintBorder (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect)
 绘制边框
 
virtual QRectF controlPointRect (ControlType tp, const QRectF &bodyRect) const
 生成control points
 
virtual QSizeF controlPointSize () const
 控制点的大小
 
void prepareControlInfoChange ()
 在尺寸发生变化后调用,刷新控制点的位置
 
ControlType getControlPointByPos (const QPointF &pos) const
 测试位置是否在控制点上,如果是返回控制点的类型,如果不在返回NotAtControlPoint
 
bool isResizing () const
 判断当前是否处于调整大小的状态中
 
bool isSnapToGrid () const
 是否允许对齐网格
 
QSize getGridSize () const
 获取网格尺寸
 
- 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
 是否显示背景
 
void setScenePos (const QPointF &p)
 
void setScenePos (qreal x, qreal y)
 
uint64_t getItemID () const
 
void setItemID (uint64_t id)
 
bool isSceneReadOnly () const
 判断当前场景是否为只读模式,只读模式不允许操作
 

Protected 成员函数

void paintDisplayName (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QString &name)
 
void paintIcon (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect, const QPixmap &pixmap)
 
QPixmap generateIcon ()
 
- Protected 成员函数 继承自 DA::DAAbstractNodeGraphicsItem
virtual QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 处理一些联动事件,如和FCAbstractNodeLinkGraphicsItem的联动
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 鼠标按下
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event) override
 
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event) override
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event) override
 
bool recordLinkInfo (DAAbstractNodeLinkGraphicsItem *link, const DANodeLinkPoint &pl)
 此函数在DAAbstractNodeLinkGraphicsItem的attachedTo/From过程中调用
 
bool removeLinkInfo (DAAbstractNodeLinkGraphicsItem *link, const DANodeLinkPoint &pl)
 连接的link在销毁时调用,把item记录的link信息消除
 
virtual QList< DANodeLinkPointgenerateLinkPoint () const
 此函数根据DAAbstractNode的输入输出来生成默认的连接点
 
void addLinkPoint (const DANodeLinkPoint &lp)
 加入新的连接点
 
void setLinkPoint (const QString &name, const DANodeLinkPoint &newLinkpoint)
 更改连接点的信息,name是连接点名字,如果有重名,只修改第一个查找到的名字的连接点
 
- Protected 成员函数 继承自 DA::DAGraphicsResizeableItem
void changeBodySize (const QSizeF &s)
 此函数和setBodySize不同,setBodySize是虚函数,且会校验尺寸的最大最小范围,此函数不进行校验
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 DAGraphicsResizeableItem::itemChange
 
- Protected 成员函数 继承自 DA::DAGraphicsItem
DAGraphicsScenedaScene () const
 

额外继承的成员函数

- Public 类型 继承自 DA::DAAbstractNodeGraphicsItem
enum  { Type = DA::ItemType_GraphicsNodeItem }
 
enum  LinkPointShowType { LinkPointAlwayShow , LinkPointShowOnHover , LinkPointShowOnSelect }
 连接点显示状态 更多...
 
enum  LinkPointLocation { LinkPointLocationOnLeftSide , LinkPointLocationOnTopSide , LinkPointLocationOnRightSide , LinkPointLocationOnBottomSide }
 连接点的位置 更多...
 
- Public 类型 继承自 DA::DAGraphicsResizeableItem
enum  ControlType {
  NotUnderAnyControlType = 0 , ControlPointTopLeft , ControlPointTopMid , ControlPointTopRight ,
  ControlPointRightMid , ControlPointBottomRight , ControlPointBottomMid , ControlPointBottomLeft ,
  ControlPointLeftMid , ControlLineLeft , ControlLineTop , ControlLineRight ,
  ControlLineBottom
}
 表征控制点和控制线的类型 更多...
 
enum  { Type = DA::ItemType_DAGraphicsResizeableItem }
 适用qgraphicsitem_cast
 
- Public 类型 继承自 DA::DAGraphicsItem
enum  { Type = DA::ItemType_DAGraphicsItem }
 
- 信号 继承自 DA::DAGraphicsResizeableItem
void itemBodySizeChanged (const QSizeF &oldsize, const QSizeF &newsize)
 itemBodySizeChanged
 
- 静态 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
 

成员函数说明

◆ calcSize()

QSize DA::DAStandardNodeInputOutputGraphicsItem::calcSize ( ) const

计算尺寸,根据输入输出进行尺寸计算

返回

◆ getIconSize()

QSize DA::DAStandardNodeInputOutputGraphicsItem::getIconSize ( ) const

icon的尺寸

返回

◆ getLinkpointSize()

QSize DA::DAStandardNodeInputOutputGraphicsItem::getLinkpointSize ( ) const

获取连接点尺寸

返回

◆ isEnableShowIcon()

bool DA::DAStandardNodeInputOutputGraphicsItem::isEnableShowIcon ( ) const

是否显示icon

返回

◆ nodeDisplayNameChanged()

void DA::DAStandardNodeInputOutputGraphicsItem::nodeDisplayNameChanged ( const QString &  name)
virtual

节点名字改变的回调

参数
name

◆ paintBody()

void DA::DAStandardNodeInputOutputGraphicsItem::paintBody ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget,
const QRectF &  bodyRect 
)
overridevirtual

StandardInputOutputNodeGraphicsItem::paintBody

参数
painter
option
widget
bodyRect

绘制图标

绘制连接点

绘制显示名字

实现了 DA::DAGraphicsResizeableItem.

◆ setEnableShowIcon()

void DA::DAStandardNodeInputOutputGraphicsItem::setEnableShowIcon ( bool  on)

设置在中间显示icon,icon以node的icon来显示

参数
on

◆ setIconSize()

void DA::DAStandardNodeInputOutputGraphicsItem::setIconSize ( const QSize &  s)

设置icon的尺寸

参数
s

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