|
|
#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<QString, QVariant>& 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;
|
|
|
};
|