#pragma once #include "iWxPvtUtilItem.h" class iWxPseudo3Sub; class iPseudo3Info; class M_TOOL_PVT_EXPORT iWxPvtUtilItemPseudo3 : public iWxPvtUtilItem { Q_OBJECT public: explicit iWxPvtUtilItemPseudo3(QWidget *parent = 0); ~iWxPvtUtilItemPseudo3(); // 初始化 virtual void initUI(); // 传递参数 virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara); // 最后一个SubWx iWxPseudo3Sub* getSubWxPseu(); iWxPseudo3Sub* getSubWxBy(QString sName); // 传递参数 void calAndFreshBy(VecDouble& vecX); // 最终的计算函数 bool calPseudo3(VecDouble& vecP, VecDouble& vecPs, QString& sAllExpr, bool bLogging); // 刷新最终的Sub图表 bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, QString sAllExpr); // 返回数据,触发信息 bool getPvtPseuInfos(VVecDouble& vvec, \ QMap& mapPsInfos, \ QMap& mapOthers); // 保存 // void saveBkInfos(); // 文件标识 virtual QString getFilePvtTag(); virtual bool savePvt(); private: // 算法有多少种 virtual void dealwithMethods(); // 算法切换 void refreshByMethod(QString s); // 准备 void preparePsInfos(QMap& mapInfos, bool bOut); void prepareOthers(); signals: private slots: void slotSubWxChanged(int); void slotRefreshPseu(); private: QStackedWidget* m_pStackedWx; VecDouble m_vecX; QMap m_mapOthers; };