CSchemeItem.h 983 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef CSCHEMEITEM_H
  2. #define CSCHEMEITEM_H
  3. #include <QObject>
  4. class CRectItem;
  5. class CTextItem;
  6. class CLineItem;
  7. class CSchemeItem : public QObject
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit CSchemeItem(const QString text, QObject *parent = nullptr);
  12. CRectItem *rectItem() const;
  13. CTextItem *textItem() const;
  14. CLineItem *lineItem() const;
  15. qreal xMargin() const;
  16. void setXMargin(qreal x);
  17. qreal yMargin() const;
  18. void setYMargin(qreal y);
  19. qreal minWidth() const;
  20. void setMinWidth(qreal w);
  21. qreal minHeight() const;
  22. void setMinHeight(qreal h);
  23. qreal textWidth() const;
  24. qreal textHeight() const;
  25. qreal borderWidth() const;
  26. qreal borderHeight() const;
  27. signals:
  28. private:
  29. CRectItem *m_rectItem = nullptr;
  30. CTextItem *m_textItem = nullptr;
  31. CLineItem *m_lineItem = nullptr;
  32. qreal m_xMargin = 10;
  33. qreal m_yMargin = 5;
  34. qreal m_minWidth = 100;
  35. qreal m_minHeight = 30;
  36. };
  37. #endif // CSCHEMEITEM_H