|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "iWxBase.h"
|
|
|
|
|
#include "mModuleDefines.h"
|
|
|
|
|
|
|
|
|
|
class ZxTableModel;
|
|
|
|
|
class M_GUI_JOB_EXPORT iWxDataBasic : public iWxBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
explicit iWxDataBasic(QWidget *parent = 0);
|
|
|
|
|
~iWxDataBasic();
|
|
|
|
|
|
|
|
|
|
// 序列化
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);//
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
// 组织结果数据,注:vec不进行clear,由调用方自行clear
|
|
|
|
|
virtual bool organizeResults(QVector<iResultInfo>& vec, QString sType);
|
|
|
|
|
bool organizeResults_TV(QVector<iResultInfo>& vec, QString sType);
|
|
|
|
|
|
|
|
|
|
virtual void initUI();
|
|
|
|
|
void setDataLayers(VVecVariant& vvec);
|
|
|
|
|
|
|
|
|
|
// 标题标识
|
|
|
|
|
void setJobName(QString s);
|
|
|
|
|
QString getJobName();
|
|
|
|
|
// 测试类型
|
|
|
|
|
QString getTestType();
|
|
|
|
|
PvtTestType getTestTypeEx();
|
|
|
|
|
// 井半径
|
|
|
|
|
float getWellR();
|
|
|
|
|
// 井间距离
|
|
|
|
|
float getInterferenceDis();
|
|
|
|
|
// 获取选中的层参数,支持多层
|
|
|
|
|
VVecVariant getLayerParameters();
|
|
|
|
|
// 流体性质
|
|
|
|
|
QString getFluidOption();
|
|
|
|
|
bool isPhaseS();
|
|
|
|
|
|
|
|
|
|
// 从各个Wx(m_vecWxDatas)中遍历查找
|
|
|
|
|
virtual bool setParaValue(QString sPara, double d);
|
|
|
|
|
virtual bool getParaValue(QString sPara, double& d);
|
|
|
|
|
// 返回所有参数,Key为英文ID
|
|
|
|
|
virtual bool getAllParaValues(QMap<QString, double>& map,
|
|
|
|
|
bool bOnlyFitted = false,
|
|
|
|
|
bool bClearMap = true);
|
|
|
|
|
|
|
|
|
|
//Pseudo
|
|
|
|
|
void setMapParaBasic(QMap<QString, double> map);
|
|
|
|
|
QMap<QString, double> getMapParaBasic();
|
|
|
|
|
|
|
|
|
|
void simuFluidMainChange();
|
|
|
|
|
//void simuJobTagChange();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//不显示标题
|
|
|
|
|
void setTagShow(bool bShowTag);
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
|
|
void sigFluidTypeChanged(QString s);
|
|
|
|
|
// void sigJobTagChanged(QString s);
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
|
|
virtual void slotGetJobTag(QString& s);
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
void slotFluidMainChanged(QString s);
|
|
|
|
|
void slotPhaseTypeChanged();
|
|
|
|
|
void slotTestTypeChanged();
|
|
|
|
|
// void slotJobTagChanged();
|
|
|
|
|
|
|
|
|
|
// 表格
|
|
|
|
|
void slotTableCellChanged(const QModelIndex&, const QModelIndex&);
|
|
|
|
|
void slotTableRowChanged(QModelIndexList listOlds, QModelIndexList listNews, QModelIndex index);
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
// // 序列化
|
|
|
|
|
// virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
// virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
void runLayerDataChanged();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
// 初始化
|
|
|
|
|
void initBase();
|
|
|
|
|
void initUI_TestType();
|
|
|
|
|
void initUI_FluidType();
|
|
|
|
|
void initUI_Layers();
|
|
|
|
|
QHBoxLayout* initUI_Tags();
|
|
|
|
|
|
|
|
|
|
// 初始储层数据获取
|
|
|
|
|
VVecVariant initLayerData();
|
|
|
|
|
// 相变化
|
|
|
|
|
void runPhaseTypeChanged(bool bByTestType = false);
|
|
|
|
|
|
|
|
|
|
// 刷新图chart
|
|
|
|
|
void refreshBy(QRadioButton* p);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
virtual void paintEvent(QPaintEvent *);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
// GroupBox
|
|
|
|
|
QGroupBox* m_pGbxTestType;
|
|
|
|
|
QGroupBox* m_pGbxFluidType;
|
|
|
|
|
QGroupBox* m_pGbxLayerParas;
|
|
|
|
|
|
|
|
|
|
QRadioButton* m_pRadioPhaseS;
|
|
|
|
|
QRadioButton* m_pRadioPhaseM;
|
|
|
|
|
QComboBox* m_pCbxFluidType;
|
|
|
|
|
|
|
|
|
|
// 测试类型
|
|
|
|
|
QRadioButton* m_pRadioStandard;
|
|
|
|
|
QRadioButton* m_pRadioInterference;
|
|
|
|
|
QRadioButton* m_pRadioMiniFrac;
|
|
|
|
|
|
|
|
|
|
// 标题
|
|
|
|
|
QLineEdit* m_pTbxTag;
|
|
|
|
|
//ZXF不布局标题试井设计中不需要标题
|
|
|
|
|
bool m_bShowTag;
|
|
|
|
|
|
|
|
|
|
// 储层数据
|
|
|
|
|
ZxTableModel* m_pDataModel;
|
|
|
|
|
VecVariant m_vecRawRowData;
|
|
|
|
|
|
|
|
|
|
// 储层参数列,含 储层名称
|
|
|
|
|
QStringList m_listResParas;
|
|
|
|
|
QStringList m_listResParaCHs;
|
|
|
|
|
QStringList m_listResUnits;
|
|
|
|
|
VecInt m_vecDigits;
|
|
|
|
|
|
|
|
|
|
//Pseudo 为了把地层压力传给FluidSub
|
|
|
|
|
QMap<QString, double> m_mapBasicPara;
|
|
|
|
|
};
|