CNodeItem.h 920 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef CNODEITEM_H
  2. #define CNODEITEM_H
  3. #include <QObject>
  4. #include <QPoint>
  5. class CRectItem;
  6. class CTextItem;
  7. class CNodeItem : public QObject
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit CNodeItem(QObject *parent = nullptr, int number = -1, QPointF pos = QPointF());
  12. int number() const;
  13. void setNumber(int n);
  14. QString text() const;
  15. void setText(const QString text);
  16. CRectItem *rectItem() const;
  17. CTextItem *textItem() const;
  18. QPointF pos() const;
  19. void setPos(const QPointF pos);
  20. void connectSignalsAndSlots();
  21. private:
  22. void updateItemsGeometry();
  23. signals:
  24. void sigAddSubItem(int pNumber);
  25. void sigRemoveItem(int number);
  26. public slots:
  27. void slotSelect();
  28. void slotSubNode();
  29. void slotRemove();
  30. private:
  31. int m_number = -1; // 对应 CNodeData.number
  32. CRectItem *m_rectItem;
  33. CTextItem *m_textItem;
  34. QPointF m_pos;
  35. };
  36. #endif // CNODEITEM_H