#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(); // 从各个Wx(m_vecWxDatas)中遍历查找 virtual bool setParaValue(QString sPara, double d); virtual bool getParaValue(QString sPara, double& d); // 返回所有参数,Key为英文ID virtual bool getAllParaValues(QMap& map, bool bOnlyFitted = false, bool bClearMap = true); //Pseudo void setMapParaBasic(QMap map); QMap 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 m_mapBasicPara; };