119 lines
3.9 KiB
C++
119 lines
3.9 KiB
C++
#ifndef BASEPROPERTY_H
|
|
#define BASEPROPERTY_H
|
|
|
|
#include <QObject>
|
|
#include <QJsonObject>
|
|
#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<QString,QVariant> VariableMap; //属性名,值
|
|
|
|
class VariableProperty:public BaseProperty //收到的变量数据
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
VariableProperty(QObject* parent);
|
|
~VariableProperty();
|
|
|
|
modelDataInfo getPropertyValue() const;
|
|
};
|
|
#endif // DATABASE_H
|