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/iWxAnalyAnal.h

178 lines
4.0 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 "mModuleDefines.h"
#include "iWxAnaly.h"
namespace Ui {
class iWxAnalyAnal;
}
class ZxTableModel;
class ZxTableView;
class M_GUI_JOB_EXPORT iWxAnalyAnal : public iWxAnaly
{
Q_OBJECT
public:
explicit iWxAnalyAnal(QWidget *parent = 0);
~iWxAnalyAnal();
// 初始化
virtual void initUI();
protected:
// 初始化
virtual void initUI_Tags();
virtual void initUI_TestType();
virtual void initUI_BasicParas();
virtual void initUI_Pvts();
virtual void initUI_ResParas();
virtual void initUI_Btns();
QBoxLayout* initUI_Pvts_Base();
QBoxLayout* initUI_Pvts_FluidOption();
public:
// 初始储层数据获取
VVecVariant initLayerData();
// 相变化
void runPhaseTypeChanged(bool bByTestType = false);
// 刷新图chart
void refreshBy(QRadioButton* p);
// 序列化
virtual void onSerialize(ZxSerializer* ser);//
virtual void onDeserialize(ZxSerializer* ser);
void setDataLayers(VVecVariant& vvec);
// 标题标识
void setJobName(QString s);
QString getJobName();
// 测试类型
QString getTestType();
PvtTestType getTestTypeEx();
// 井半径
double getWellR();
// 井间距离
double getInterferenceDis();
// 获取选中的层参数,支持多层
VVecVariant getLayerParameters();
// 流体性质
QString getFluidOption();
bool isPhaseS();
// 从各个Wxm_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 slotPvtOptionChanged(QString s);
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();
protected:
bool checkInputs();
virtual void paintEvent(QPaintEvent *e);
private slots:
void on_btnOK_clicked();
void on_btnCancel_clicked();
void on_cbxReferFrom_clicked();
void on_cbxAllAnalysises_currentIndexChanged(int index);
void on_btnHelp_clicked();
void slotPvtManager();
// 把Wizard中所有项进行保存或者恢复
void slotLoad();
void slotSave();
private:
Ui::iWxAnalyAnal *ui;
private:
// GroupBox
QGroupBox* m_pGbxTestType;
QGroupBox* m_pGbxBasicParas;
QGroupBox* m_pGbxPvts;
QGroupBox* m_pGbxResParas;
QRadioButton* m_pRadioPhaseS;
QRadioButton* m_pRadioPhaseM;
QComboBox* m_pCbxFluidType;
QComboBox* m_pCbxAllPvts;
// 测试类型
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;
};