12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef CNODEITEM_H
- #define CNODEITEM_H
- #include <QObject>
- #include "CNode.h"
- #include <QPoint>
- class CRectItem;
- class CTextItem;
- class CLineItem;
- class CNodeItem : public QObject
- {
- Q_OBJECT
- public:
- explicit CNodeItem(const CNodeData data, CNodeItem *parent = nullptr);
- CNodeData data() const;
- void addSubNode(CNodeItem *n);
- void removeNode(int number);
- CRectItem *rectItem() const;
- CTextItem *textItem() const;
- QPointF pos() const;
- void setPos(const QPointF pos);
- qreal xMargin() const;
- void setXMargin(qreal x);
- qreal yMargin() const;
- void setYMargin(qreal y);
- qreal minWidth() const;
- void setMinWidth(qreal w);
- qreal minHeight() const;
- void setMinHeight(qreal h);
- void connectSignalsAndSlots();
- private:
- void updateItemsGeometry();
- signals:
- void sigAddSubItem(int pNumber);
- void sigRemoveItem(int number);
- public slots:
- void slotSelect();
- void slotSubNode();
- void slotRemove();
- private:
- CNodeData m_data;
- CRectItem *m_rectItem;
- CTextItem *m_textItem;
- CLineItem *m_lineItem;
- QPointF m_pos;
- qreal m_xMargin = 10;
- qreal m_yMargin = 5;
- qreal m_minWidth = 100;
- qreal m_minHeight = 30;
- };
- #endif // CNODEITEM_H
|