|
DAWorkbench 0.0.1
DAWorkbench API
|
标准的可resize的rect GraphicsItem,可以作为节点的内容显示 更多...
#include <DAStandardNodeRectGraphicsItem.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | { Type = DA::ItemType_GraphicsStandardRectItem } |
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 } |
Public 成员函数 | |
| int | type () const |
| DAStandardNodeRectGraphicsItem (DAAbstractNode *n, QGraphicsItem *p=nullptr) | |
| void | paintBody (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect) override |
| void | setText (const QString &t) |
| QString | getText () const |
| void | setTextAlignment (Qt::Alignment al) |
| Qt::Alignment | getTextAlignment () const |
Public 成员函数 继承自 DA::DAAbstractNodeGraphicsItem | |
| DAAbstractNodeGraphicsItem (DAAbstractNode *n, QGraphicsItem *p=nullptr) | |
| DAAbstractNode * | rawNode () |
| 获取item对应的node | |
| const DAAbstractNode * | rawNode () 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 DANodeMetaData & | metaData () const |
| 获取节点元数据 | |
| DANodeMetaData & | metaData () |
| 获取节点元数据 | |
| QList< DANodeLinkPoint > | getLinkPoints () const |
| 获取连接点群 | |
| QList< DANodeLinkPoint > | getOutputLinkPoints () const |
| 获取所有输出的连接点群 | |
| QList< DANodeLinkPoint > | getInputLinkPoints () 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 DAAbstractNodeWidget * | getNodeWidget () |
| 获取节点对应的设置窗口 | |
| void | setNodePalette (const DANodePalette &pl) |
| 设置调色板 | |
| const DANodePalette & | getNodePalette () const |
| 获取调色板,如果没有设置内部调色板,会返回全局调色板 | |
| void | setLinkPointDrawDelegate (DANodeLinkPointDrawDelegate *delegate) |
| 设置连接点绘制的代理,如果不设置会有一个默认代理 | |
| DANodeLinkPointDrawDelegate * | getLinkPointDrawDelegate () 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 DAAbstractNodeLinkGraphicsItem * | createLinkItem (const DA::DANodeLinkPoint &lp) |
| 创建连接,继承此函数可以生成连接,如果返回nullptr,scene将不会进行连接 | |
| virtual DAAbstractNodeLinkGraphicsItem * | linkTo (const DA::DANodeLinkPoint &fromPoint, DAAbstractNodeGraphicsItem *toItem, const DA::DANodeLinkPoint &toPoint) |
| 从fromPoint链接到toItem的toPoint点 | |
| DAAbstractNodeLinkGraphicsItem * | linkToByName (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) | |
| 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 |
| 判断当前场景是否为只读模式,只读模式不允许操作 | |
额外继承的成员函数 | |
信号 继承自 DA::DAGraphicsResizeableItem | |
| void | itemBodySizeChanged (const QSizeF &oldsize, const QSizeF &newsize) |
| itemBodySizeChanged | |
静态 Public 成员函数 继承自 DA::DAGraphicsItem | |
| static DAGraphicsItem * | cast (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::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< DANodeLinkPoint > | generateLinkPoint () 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 | |
| DAGraphicsScene * | daScene () const |
标准的可resize的rect GraphicsItem,可以作为节点的内容显示
|
overridevirtual |
|
inlinevirtual |