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/mGui/mGuiJob/iJobRun.h

99 lines
2.4 KiB
C

#pragma once
#include <QObject>
#include <QMap>
#include "IxSerDes.h"
#include "ZxXpf.h"
#include "ZxSerializer.h"
#include "Defines.h"
#include "ZxBaseUtil.h"
#include "mGuiJob_global.h"
class ZxDataWell;
class ZxDataJobInfo;
class ZxDataJobRun;
class ZxSegmentInfo;
class iPseu3Wrapper;
class iPseuCWrapper;
class iModelOption;
class iWxBase;
class M_GUI_JOB_EXPORT iJobRun : public QObject,
virtual public IxSerDes
{
Q_OBJECT
public:
explicit iJobRun();
~iJobRun();
// 初始化、刷新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 setDataJobInfo(ZxDataJobInfo* p);
virtual void setDataJobRun(ZxDataJobRun* p);
// 组织其基础信息,为了展示到表格中
bool getBaseInfos(VecVariant& vec, int nColCount);
bool getMpParaValues(QStringList listParas, QMap<QString, double>& map);
// 根据当前的模型情况进行配置拟压力相关调用该函数前已经确保是GAS
// initPs是否初始化如果不是则只设置ps3
// 如果pModelOption不为空则根据pModelOption设置ps3模式
// 否则:
// bSetPs3ModeBySelf为true时根据this设置ps3模式
// 对于IPR对话框需要根据Job类型直接设置对于其它不能设置
bool configPsAbouts(bool initPs, iModelOption* pModelOption, bool bSetPs3ModeBySelf = false);
bool isPs3Valid();
bool isPsCValid();
public:
iWxBase* getWxDataOf(int n);
// 与数据库对应的真实数据
ZxDataJobInfo* getDataJobInfo();
ZxDataJobRun* getDataJobRun();
QString getJobId();
private slots:
private:
// 参与序列化:分别为 Basic、Fluid、GasConst
QVector<iWxBase*> m_vecWxDatas;
// 与数据库对应的真实数据(外界传入,本类不进行创建释放维护)
ZxDataWell* m_pDataWell;
ZxDataJobInfo* m_pDataJobInfo;
ZxDataJobRun* m_pDataJobRun;
// 为了速度而增加
bool m_bLoaded;
QStringList m_listBasicInfos;
};