#pragma once #include "iWxDiffusionSub.h" namespace Ui { class iWxDiffusionSubDS; } class M_TOOL_DIFFUSION_EXPORT iWxDiffusionSubDS : public iWxDiffusionSub { Q_OBJECT public: explicit iWxDiffusionSubDS(QString sDiffusion, \ QWidget* parent = 0); ~iWxDiffusionSubDS(); // 初始化 virtual void initUI(); // 导出导入 virtual bool importOrExport(bool bImport); // 当主窗体相态发生改变时的处理(主+次,其中次为组合,需要解析) virtual void freshOnPhaseChanged(QMap& map); /// @brief 获取 Diffusion页面中,某个参数的具体数值 /// @param sPara,参数,英文标识而且大小写敏感 /// @param d,返回的结果 /// @note 主要是左侧属性页上的各项的数据,参照xml定义进行读取 virtual bool getDiffParaOf(QString sPara, double& d); /// @brief 获取 Diffusion页面中,计算结果,基本上就是右侧对应表格的数据 /// @param vvec,返回数据,即计算结果,与右侧表格对应 virtual bool getDiffRstOf(VVecDouble& vvec); protected: // 标识 virtual void configLabels(); virtual QStringList getTableTitles(); // 默认值 virtual void initDefault(); // 返回数据 virtual bool getParaValue(QString sPara, double &dValue, QString sUnitDest = ""); virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); protected: // 算法相关 virtual bool makesureAlg(); virtual bool configAlg(); // 数据刷新相关(表格+图形) virtual void refreshRstCharts(VVecDouble& vvec); // 调用算法 virtual bool calRstByGridPty(VVecDouble& vvec); private slots: private: Ui::iWxDiffusionSubDS *ui; };