#pragma once #include #include #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 m_vecWxDatas; // 与数据库对应的真实数据(外界传入,本类不进行创建释放维护) ZxDataWell* m_pDataWell; nmDataAnalInfo* m_pDataAnalInfo; nmDataAnalRun* m_pDataAnalRun; // 为了速度而增加 bool m_bLoaded; QStringList m_listBasicInfos; };