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

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