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.
nmWTAI-Platform/Include/mGui/mGuiJob/iWxDataBasic.h

152 lines
3.9 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"
#include "mGuiJob_global.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 setAnalName(QString s);
QString getAnalName();
// 测试类型
virtual QString getTestType();
virtual PvtTestType getTestTypeEx();
//void setTestType(QString s);//需要自行处理信号触发
// 井半径
double getWellR();
// 井间距离
double getInterferenceDis();
// 获取选中的层参数,支持多层
VVecVariant getResTableData(bool bOnlyChecked = true);
// 流体性质
virtual QString getBasicMainPft();
virtual 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);
#ifdef _SCAN_OLD_CODES_
//Pseudo
void setMapParaBasic(QMap<QString, double> map);
QMap<QString, double> getMapParaBasic();
#endif
void simuFluidMainChange();
//void simuAnalTagChange();
//不显示标题
void setTagShow(bool bShowTag);
signals:
void sigFluidTypeChanged(QString s);
// void sigAnalTagChanged(QString s);
public slots:
virtual void slotGetAnalTag(QString& s);
private slots:
void slotFluidMainChanged(QString s);
void slotPhaseTypeChanged();
void slotTestTypeChanged();
// void slotAnalTagChanged();
// 表格
void slotTableCellChanged(const QModelIndex&, const QModelIndex&);
void slotTableRowChanged(QModelIndexList listOlds, QModelIndexList listNews, QModelIndex index);
virtual void slotResDataPasted(QModelIndex indexTopLeft, QModelIndex indexBottomRight);
public:
// // 序列化
// virtual void onSerialize(ZxSerializer* ser);
// virtual void onDeserialize(ZxSerializer* ser);
virtual void runResDataChanged();
protected:
// 初始化
virtual void initBase();
virtual void initUI_TestType();
virtual void initUI_FluidType();
virtual void initUI_Layers();
virtual QHBoxLayout* initUI_Tags();
// 初始储层数据获取
virtual VVecVariant initLayerData();
// 相变化
virtual void runPhaseTypeChanged(bool bByTestType = false);
// 刷新图chart
virtual void refreshBy(QRadioButton* p);
protected:
virtual void paintEvent(QPaintEvent *);
protected:
// 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;
QRadioButton* m_pRadioMultiLayers;
// 标题
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;
#ifdef _SCAN_OLD_CODES_
//Pseudo 为了把地层压力传给FluidSub
QMap<QString, double> m_mapBasicPara;
#endif
};