You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/nmNum/nmSubWxs/nmAnalRun.h

82 lines
1.7 KiB
C++

#pragma once
#include <QObject>
#include <QMap>
#include "IxSerDes.h"
#include "ZxXpf.h"
#include "ZxSerializer.h"
#include "Defines.h"
#include "ZxBaseUtil.h"
#include "nmSubWxs_global.h"
class ZxDataWell;
class nmDataAnalInfo;
class nmDataAnalRun;
class iWxBase;
class NM_SUB_WXS_EXPORT nmAnalRun : public QObject,
virtual public IxSerDes
{
Q_OBJECT
public:
explicit nmAnalRun();
~nmAnalRun();
// 初始化、刷新UI
virtual void init();
virtual void refresh();
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
// 为了速度,而增加的特殊处理
virtual void ensureLoaded();
void setLoaded(bool b);
bool saveBasicAsByteArr(QByteArray& v);
bool loadLoadFromByteArr(QByteArray& v);
QString getTestType();
QString getFluidOption();
bool isPhaseS();
public:
virtual void setDataWell(ZxDataWell* p);
virtual void setDataAnalInfo(nmDataAnalInfo* p);
virtual void setDataAnalRun(nmDataAnalRun* p);
// 组织其基础信息,为了展示到表格中
bool getBaseInfos(VecVariant& vec, int nColCount);
public:
iWxBase* getWxDataOf(int n);
// 与数据库对应的真实数据
nmDataAnalInfo* getDataAnalInfo();
nmDataAnalRun* getDataAnalRun();
QString getAnalId();
private slots:
private:
// 参与序列化:分别为 Basic、Pvt、Krog
QVector<iWxBase*> m_vecWxDatas;
// 与数据库对应的真实数据(外界传入,本类不进行创建释放维护)
ZxDataWell* m_pDataWell;
nmDataAnalInfo* m_pDataAnalInfo;
nmDataAnalRun* m_pDataAnalRun;
// 为了速度而增加
bool m_bLoaded;
QStringList m_listBasicInfos;
};