#ifndef EDITITEMS_H #define EDITITEMS_H //组态过程中的item #include #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