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

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