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

144 lines
3.5 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 "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();
// 从各个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 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;
};