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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;
};