DiagramDesigner/diagramUtils/include/dataManager.h

38 lines
1015 B
C++

#ifndef DATAMANAGER_H
#define DATAMANAGER_H
#include <QObject>
#include "global.h"
#include "export.hpp"
/****数据管理类
* 对模型数据的集中分发、更新
*****/
typedef QMap<QString,modelStateInfo> ModleStateMap;
typedef QMap<QString,modelDataInfo> ModelDataMap;
class DIAGRAM_DESIGNER_PUBLIC DataManager : public QObject
{
Q_OBJECT
public:
explicit DataManager(QObject *parent = nullptr);
~DataManager();
static DataManager& instance();
public:
void initialModelState();
void initialModelData();
void updateModelData(const QString& sModel,QUuid uuid,const QString& sGroup,QMap<QString,propertyStateInfo> mapPro);
ModleStateMap& modelState();
ModelDataMap& modelData();
private:
ModleStateMap _modelStateInfo; //接收的模型结构信息(可直接返回引用)
ModelDataMap _modleDataInfo; //模型实时数据(使用接口获取数据)
bool _stateInitialised;
bool _dataInitialised;
};
#endif // DATAMANAGER_H