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

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