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
|