42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
#ifndef GRAPHICSFUNCTIONMODELITEM_H
|
||
#define GRAPHICSFUNCTIONMODELITEM_H
|
||
|
||
#include "../graphicsBaseItem.h"
|
||
|
||
class GraphicsFunctionModelItem : public GraphicsProjectModelItem //功能模item
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
GraphicsFunctionModelItem(QGraphicsItem *parent);
|
||
virtual ~GraphicsFunctionModelItem();
|
||
protected:
|
||
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
|
||
};
|
||
|
||
|
||
class GraphicsFunctionModelGroup : public GraphicsFunctionModelItem //功能模group
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
GraphicsFunctionModelGroup(QGraphicsItem *parent);
|
||
virtual ~GraphicsFunctionModelGroup();
|
||
virtual void addItem(GraphicsFunctionModelItem* item);
|
||
virtual void updateLayout();
|
||
virtual void setLayout(int n) {m_direction = n;}
|
||
virtual void setGroupType(int n) {_groupType = n;}
|
||
virtual int getGroupType() {return _groupType;}
|
||
virtual void setSpacing(qreal spacing) {
|
||
if (m_spacing != spacing) {
|
||
m_spacing = spacing;
|
||
updateLayout();
|
||
}
|
||
}
|
||
QRectF updateBoundRect();
|
||
protected:
|
||
QList<GraphicsBaseItem*> m_childItems;
|
||
int m_direction = 1; //组内布局,0横1纵
|
||
int m_spacing = 0; //间距
|
||
int _groupType = 0; //组类型,0联合(子item独立连接),1聚合(子item仅作展示)
|
||
};
|
||
#endif
|