DiagramDesigner/diagramCavas/include/graphicsItem/functionModelItem/graphicsFunctionModelItem.h

42 lines
1.3 KiB
C
Raw Normal View History

2026-03-13 08:31:37 +08:00
#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