#pragma once #include "iWxPvtSubPhase.h" namespace Ui { class iWxPvtSubPhaseMix; } //class iWxPvtComposition; // 混合气体(以CO2为主) class M_TOOL_PVT_EXPORT iWxPvtSubPhaseMix : public iWxPvtSubPhase { Q_OBJECT public: explicit iWxPvtSubPhaseMix(QString sFluidType, \ QString sPhaseType, \ QWidget *parent = 0); ~iWxPvtSubPhaseMix(); // 初始化 virtual void initUI(); // 返回数据 virtual bool getParaValue(QString sPara, double &dValue, QString sUnitDest = ""); // 从当前所有的信息中获取参数的值 virtual bool getPvtParaValue(QString s, double& d); // 文件标识 virtual QString getFilePvtTag(); virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); protected: // 默认值 virtual void initDefault(); protected: // 程序启动,即把所有的参数先计算一遍 virtual void calAndCacheAll(bool bUpdatePlotsIfChecked); virtual bool recalAndCacheOf(QString sPara, bool bUpdatePlotsIfChecked); virtual void cacheAlgRst(QString sPara, QString sMethodBase, \ QMap& mapRs, \ QPointF& ptRs, QPointF& ptReferPb); public slots: void on_btnComp_clicked(); void slotCompSubChanged(QMap& map); private slots: void on_tbxSalinity_textEdited(const QString &arg1); void on_btnFresh_clicked(); private: Ui::iWxPvtSubPhaseMix *ui; QMap m_mapComps;//百分数,比如20,30等,不是小数如0.2,0.3等 };