#ifndef BASEPROPERTY_H #define BASEPROPERTY_H #include #include #include "global.h" class AbstractProperty:public QObject //抽象属性类 { Q_OBJECT public: AbstractProperty(QObject* parent); virtual ~AbstractProperty(); virtual void setUuid(QUuid id) {uUid = id;} virtual QUuid uuid() const {return uUid;} virtual void setTag(QString s){sTag = s;} virtual QString tag() const {return sTag;} virtual void setName(QString s){sName = s;} virtual QString name() const {return sName;} virtual void setContext(QJsonObject j){jContext = j;} virtual QJsonObject context() const {return jContext;} protected: QUuid uUid; QString sTag; QString sName; QJsonObject jContext; //存放port信息 }; class ModelProperty:public AbstractProperty //模型基类 { Q_OBJECT public: ModelProperty(QObject* parent); virtual ~ModelProperty(); virtual void setType(int n) {nType = n;} virtual int type() const {return nType;} virtual void setModelName(QString sName) {sModelName = sName;} virtual QString modelName() const {return sModelName;} virtual void setMetaModelName(QString sName) {sMetaName = sName;} virtual QString metaModelName() const {return sMetaName;} virtual void notifyUpdate(){emit updateData();} signals: void updateData(); //通知数据拥有者更新 protected: int nType; //设备类型 QString sModelName; //模型名 QString sMetaName; //元模型名 }; class BaseModelProperty:public ModelProperty //图像基模属性 { Q_OBJECT public: BaseModelProperty(QObject* parent); virtual ~BaseModelProperty(); }; class BaseProperty:public ModelProperty //图像工程模模属性类,存放电路元件属性 { Q_OBJECT public: BaseProperty(QObject* parent); virtual ~BaseProperty(); void setPath(QString s){sPath = s;} QString path() const {return sPath;} void setDescription(QString s) {sDescription = s;} QString description() const {return sDescription;} void setInService(bool b) {bInService = b;} bool inService() {return bInService;} void setState(int n) {nState = n;} int state() const {return nState;} void setStatus(int n) {nStatus = n;} int status() const {return nStatus;} void setConnectedBus(QJsonObject j) {jConnectedBus = j;} QJsonObject connectedBus() const {return jConnectedBus;} void setLabel(QJsonObject j){jLabel = j;} QJsonObject label() const {return jLabel;} void setGrid(const QString& s) {sGrid = s;} QString grid() const {return sGrid;} void setZone(const QString& s) {sZone = s;} QString zone() const {return sZone;} void setStation(const QString& s) {sStation = s;} QString station() const {return sStation;} void setPrepareDelete(bool b) {_prepareDelete = b;} bool prepareDelete() const {return _prepareDelete;} void setDataChanged(bool b) {_dataChanged = b;} //数据变换标签 bool dataChanged() const {return _dataChanged;} protected: QString sPath; QString sDescription; QString sGrid; QString sZone; QString sStation; bool bInService; int nState; int nStatus; QJsonObject jConnectedBus; QJsonObject jLabel; bool _dataChanged; //数据状态,为真则写入库 bool _prepareDelete; //状态,为真准备删除 }; typedef QMap VariableMap; //属性名,值 class VariableProperty:public BaseProperty //收到的变量数据 { Q_OBJECT public: VariableProperty(QObject* parent); ~VariableProperty(); modelDataInfo getPropertyValue() const; }; #endif // DATABASE_H