|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iWxBase.h"
|
|
|
|
|
|
#include "mGuiAnal_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
class M_GUI_ANAL_EXPORT iWxAnalWizard : public iWxBase
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// enum nmWizardShowMode
|
|
|
|
|
|
// {
|
|
|
|
|
|
// NM_WSM_Basic = 0, //基础
|
|
|
|
|
|
// NM_WSM_Pvt, //Pvt
|
|
|
|
|
|
// NM_WSM_Diffusion, //Diffusion
|
|
|
|
|
|
// NM_WSM_Pseu, //Pseu
|
|
|
|
|
|
|
|
|
|
|
|
// NM_WSM_SubPF_Miu, //PF's Miu
|
|
|
|
|
|
// NM_WSM_SubPF_AS, //PF's AS
|
|
|
|
|
|
// NM_WSM_SubPF_K, //PF's K
|
|
|
|
|
|
|
|
|
|
|
|
// NM_WSM_All, //All
|
|
|
|
|
|
|
|
|
|
|
|
// NM_WSM_Unknown
|
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
explicit iWxAnalWizard(QWidget *parent = 0);
|
|
|
|
|
|
~iWxAnalWizard();
|
|
|
|
|
|
|
|
|
|
|
|
void clearWx();
|
|
|
|
|
|
virtual void initUI();
|
|
|
|
|
|
|
|
|
|
|
|
// 显示模式
|
|
|
|
|
|
void setSingleMode(bool bSingle);
|
|
|
|
|
|
bool isSingleMode();
|
|
|
|
|
|
|
|
|
|
|
|
// 子窗体
|
|
|
|
|
|
void appendSubWx(iWxBase* p);
|
|
|
|
|
|
|
|
|
|
|
|
void resetSubWx(iWxBase* p = nullptr);
|
|
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
|
|
|
|
void sigWizardOptionOk();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化
|
|
|
|
|
|
void initBase();
|
|
|
|
|
|
void updateBtnStates();
|
|
|
|
|
|
|
|
|
|
|
|
// 标题
|
|
|
|
|
|
void changeTitle();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
virtual void paintEvent(QPaintEvent *);
|
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
|
|
void on_btnBack_clicked();
|
|
|
|
|
|
void on_btnNext_clicked();
|
|
|
|
|
|
void on_btnCancel_clicked();
|
|
|
|
|
|
|
|
|
|
|
|
// 改变一下规则,只有Basic时,才在左下角显示,文件存取以及帮助,因为其它本身已经具备Ribbon模式
|
|
|
|
|
|
// 这两个函数是对左下角的响应函数
|
|
|
|
|
|
void slotLoadBassicFromFile();
|
|
|
|
|
|
void slotSaveBasicToFile();
|
|
|
|
|
|
void slotHelp();
|
|
|
|
|
|
|
|
|
|
|
|
// 各个子窗体的具体响应
|
|
|
|
|
|
void slotLoadSubWxFromFile(int nAWI);
|
|
|
|
|
|
void slotSaveSubWxToFile(int nAWI);
|
|
|
|
|
|
void slotSubWxHelp(int nAWI);
|
|
|
|
|
|
|
|
|
|
|
|
// 当流体性质改变时,本窗体响应
|
|
|
|
|
|
virtual void slotParasObtained(QMap<QString, QVariant>& map);
|
|
|
|
|
|
|
|
|
|
|
|
// 当Anal标识改变时,本窗体响应
|
|
|
|
|
|
//void slotAnalTagChanged(QString s);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
iWxBase* getSubWxOf(int nAWI);
|
|
|
|
|
|
QString getSubWxExtOf(int nAWI);
|
|
|
|
|
|
ZxDataObject* getSubWxTempObjOf(int nAWI);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
bool m_bSingleMode;
|
|
|
|
|
|
|
|
|
|
|
|
// 子窗体,本类不负责创建维护
|
|
|
|
|
|
// 分别为 Basic、Fluid、(Gas Const)、PF
|
|
|
|
|
|
QVector<iWxBase*> m_vecSubWxs;
|
|
|
|
|
|
|
|
|
|
|
|
// 子窗体容器
|
|
|
|
|
|
QStackedWidget* m_pStackedWidget;
|
|
|
|
|
|
|
|
|
|
|
|
// Btn
|
|
|
|
|
|
QPushButton* m_pBtnBack;
|
|
|
|
|
|
QPushButton* m_pBtnNext;
|
|
|
|
|
|
QPushButton* m_pBtnCancel;
|
|
|
|
|
|
|
|
|
|
|
|
// 改变一下规则,只有Basic时,才在左下角显示,文件存取以及帮助,因为其它本身已经具备Ribbon模式
|
|
|
|
|
|
// 但是在具体实现时,为了统一,每个子窗口的存取都统一由Wizard进行触发
|
|
|
|
|
|
QPushButton* m_pBtnLoad;
|
|
|
|
|
|
QPushButton* m_pBtnSave;
|
|
|
|
|
|
QPushButton* m_pBtnHelp;
|
|
|
|
|
|
|
|
|
|
|
|
// 是否显示气体组分(在流体为 gas 时)显示
|
|
|
|
|
|
bool m_bShowGasConst;
|
|
|
|
|
|
int m_nIndexHide;
|
|
|
|
|
|
};
|