#pragma once #include "iWxBase.h" #include "mToolPvt_global.h" class ZxDataPvtInfo; class M_TOOL_PVT_EXPORT iWxPvtBase : public iWxBase { Q_OBJECT public: explicit iWxPvtBase(QWidget *parent = 0); ~iWxPvtBase(); // 初始化 virtual void initUI(); // 返回数据 virtual bool getParaValue(QString sPara, double &dValue, QString sUnitDest = ""); //Pseudo void setPi(double dPi); double getPi(); // 20220418 增加PVT的过程序列化处理 // 以文件方式存储,并且以Anal名称为目录标识 virtual void setAnalTag(QString sDir); virtual QString getFilePvtTag(); //文件标识 virtual QString getName(); virtual bool savePvt(); virtual bool loadPvt(); virtual QString getFilePvt(bool bLoad); virtual ZxDataPvtInfo* getAnalPVT(bool bLoad); protected: // 默认值 virtual void initDefault(); /// @brief 绑定界面上某个参数数值/单位下拉组件与具体的参数 /// @param sPara 参数,英文标识,比如 K /// @param pWxValue 输入数值框,通常为QLineEdit /// @param pWxUnit 单位下拉框架,通常为QComboBox /// @param dDefault 默认值,如果不传入,则取系统配置 /// @param sCurUnit 当前单位,如果不传入,则取系统配置 void appendParaInfos(QString sPara, QWidget* pWxValue, QWidget* pWxUnit, double dDefault = SYS_VALUE_INVALID, QString sCurUnit = ""); protected: virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent*); virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); public slots: virtual void slotParaUnitChanged(QString s); virtual void slotParaValueChanged(); signals: protected: // QMap m_mapCtrls//借用父类 QMap m_mapUnits; QMap m_mapUnitDefaults; //这是算法应用的单位,而不是显示的单位 QMap m_mapUnitLasts; //这是上一次显示的单位 //Pseudo //存储Zgi、Mugi等参数 double m_dPi; // 默认的存储路径,外部传递过来 QString m_sAnalTag; };