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.
nmWATI/Include/mTool/mToolPvt/iWxPvtMain.h

102 lines
2.3 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 "iWxPvtBase.h"
#include "mToolPvt_global.h"
class TreeWxConfig;
class iPseudo3Info;
class iPseudoCInfo;
class iWxPvtUtilItemPseudo;
class iWxPvtUtilItemPseudo3;
class iWxPvtUtilItemPseudoC;
class M_TOOL_PVT_EXPORT iWxPvtMain : public iWxPvtBase
{
Q_OBJECT
public:
explicit iWxPvtMain(QString sType, bool bPhaseS, QWidget *parent = 0);
~iWxPvtMain();
// 初始化
virtual void initUI();
// 设置油气水饱和度
void setFactors(VecFloat vec);
virtual bool savePvt();
// 文件标识
virtual QString getFilePvtTag();
private:
// 初始化
void initUI_MainLayout();
void initUI_Tops();
void initUI_StackedWx();
void initUI_Bottoms();
// 具体的内容填充
void initToolBars();
void initStatckedWxs();
void createAndAppendSubWxByName(QString sName);
void calAndFreshPseu(bool bCreateIfFirst = true);
void calAndFreshPseu3(bool bCreateIfFirst = true);
void calAndFreshPseuC(bool bCreateIfFirst = true);
// 刷新
void refresh();
protected:
virtual void paintEvent(QPaintEvent*);
virtual void resizeEvent(QResizeEvent*);
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
public:
signals:
void sigPvtResultsChanged(QMap<QString, float>& map);
void sigPseudoResults(VVecDouble& vvec);
void sigPseudoResults3(const VVecDouble&, const QMap<QString, iPseudo3Info*>&, const QMap<QString, double>&);
void sigPseudoResultsC(const VVecDouble&, const QMap<QString, iPseudoCInfo*>&, const QMap<QString, double>&);
private slots:
void slotBtnTriggered();
void slotBtnHelp();
void slotBtnApply();
void slotBtnOK();
void slotBtnCancel();
// 子项表格数据更改
void slotPhaseItemTableChanged(QString sPara);
private:
// FluidType
QString m_sFluidType;
bool m_bPhaseS;
// Cmds
QStringList m_listCmds;
// 子窗体与Cmd的ID一一对应
QMap<QString, iWxPvtBase*> m_mapSubWxs;
// 布局相关
QVBoxLayout* m_pMainLayout;
QToolBar* m_pToolBar;
QStackedWidget* m_pStackedWx;
// 各相的系数(饱和度)
VecFloat m_vecFactors; //依次对应油气水
// 拟压力
iWxPvtUtilItemPseudo* m_pPseudoItem;
iWxPvtUtilItemPseudo3* m_pPseudoItem3;
iWxPvtUtilItemPseudoC* m_pPseudoItemC;
};