DiagramDesigner/diagramCavas/include/diagramEditor/editItems.h

63 lines
1.6 KiB
C++

#ifndef EDITITEMS_H
#define EDITITEMS_H
//组态过程中的item
#include <QGraphicsObject>
#include "global.h"
class EditBaseItem : public QGraphicsObject
{
Q_OBJECT
public:
EditBaseItem(QGraphicsItem *parent = nullptr);
virtual ~EditBaseItem();
virtual void setName(const QString& s){sName = s;}
virtual QString getName(){return sName;}
virtual void setType(EditorItemType tpe) {nType = tpe;}
virtual EditorItemType getType(){return nType;}
virtual void setBoundingRect(QRectF rec) {m_boundingRect = rec;}
virtual QRectF boundingRect() {return m_boundingRect;}
protected:
virtual QPainterPath shape();
protected:
QString sName;
EditorItemType nType;
QRectF m_boundingRect;
};
/********************bus*********************/
class EditBusItem: public EditBaseItem
{
Q_OBJECT
public:
EditBusItem(QGraphicsItem *parent = nullptr);
virtual ~EditBusItem();
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
};
/********************bay*********************/
class EditBayItem: public EditBaseItem
{
Q_OBJECT
public:
EditBayItem(QGraphicsItem *parent = nullptr);
virtual ~EditBayItem();
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
};
/********************trans*********************/
class EditTransItem: public EditBaseItem
{
Q_OBJECT
public:
EditTransItem(QGraphicsItem *parent = nullptr);
virtual ~EditTransItem();
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
};
#endif