DiagramDesigner/common/include/baseProperty.h

89 lines
3.0 KiB
C
Raw Normal View History

2025-05-23 10:30:52 +08:00
#ifndef BASEPROPERTY_H
#define BASEPROPERTY_H
#include <QObject>
#include <QJsonObject>
#include "global.h"
class BaseProperty:public QObject //属性类,存放电路元件属性
{
Q_OBJECT
public:
BaseProperty(QObject* parent);
virtual ~BaseProperty();
void setUuid(QUuid id) {uUid = id;}
QUuid uuid() const {return uUid;}
void setModelName(QString sName) {sModelName = sName;}
QString modelName() const {return sModelName;}
void setType(int n) {nType = n;}
int type() const {return nType;}
void setTag(QString s){sTag = s;}
QString tag() const {return sTag;}
void setName(QString s){sName = s;}
QString name() const {return sName;}
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 setContext(QJsonObject j){jContext = j;}
QJsonObject context() const {return jContext;}
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;}
void notifyUpdate(){emit updateData();}
signals:
void updateData(); //通知数据拥有者更新
protected:
QUuid uUid;
QString sModelName; //模型名
int nType; //设备类型
QString sTag;
QString sName;
QString sPath;
QString sDescription;
QString sGrid;
QString sZone;
QString sStation;
bool bInService;
int nState;
int nStatus;
QJsonObject jConnectedBus;
QJsonObject jLabel;
QJsonObject jContext; //存放port信息
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