You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/mGui/mGuiAnal/iWxAnalWizard.h

119 lines
2.8 KiB
C

#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;
};