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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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