123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #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;
- CLineItem *lineItem() 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();
- void updateItemsGeometry();
- int height() const;
- int depth() const;
- int leafs() const;
-
-
-
-
-
- int sizeOfLevel(int lev) const;
- qreal textWidth() const;
- qreal textHeight() const;
- qreal borderWidth() const;
- qreal borderHeight() const;
-
- qreal childrenHeight() const;
-
- qreal treeHeight() const;
-
-
-
-
-
- qreal maxBorderWidthOfLevel(int lev = 1) const;
- 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
|