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/iWxPvtSubPhase.h

117 lines
2.8 KiB
C

#pragma once
#include "qglobal.h"
#if (QT_VERSION >= 0x050000)
#include <QtWebEngineWidgets/QtWebEngineWidgets>
#define QWebView QWebEngineView
#else
#include <QtWebKit/QWebView>
#endif
#include "iWxPvtBase.h"
#include "mToolPvt_global.h"
class iPvtBase;
class TreeWxConfig;
class iWxPvtSubHeader;
class iPvtParaItemGroup;
class iWxPvtUtilItem;
class M_TOOL_PVT_EXPORT iWxPvtSubPhase : public iWxPvtBase
{
Q_OBJECT
public:
explicit iWxPvtSubPhase(QString sFluidType,
QString sPhaseType,
QWidget *parent = 0);
~iWxPvtSubPhase();
// 初始化
virtual void initUI();
// 设置关联
void setBindInfos(iWxPvtSubHeader* pSubHeader);
// 获取结果
bool getAllResults(QMap<QString, float>& mapResults);
// 获取类似Zg、Cg的页面的原始数据
bool getRawDataOf(QString s, VecFloat& x, VecFloat& y);
bool getRawDataOf(QString s, VVecVariant& vvec);
// 获取单个的Point结果
bool getFixedPtOf(QString s, float& x, float& y);
// 获取参数对应的Wx
iWxPvtUtilItem* getWxPvtUtilItem(QString s);
virtual bool savePvt();
// 文件标识
virtual QString getFilePvtTag();
private:
void fillTabWx();
// 根据相类型决定多少Tab
void dealwithItemNames();
// 具体的算法
void dealwithItemAlgos();
void dealwithItemAlgos_O(QString sPara);
void dealwithItemAlgos_G(QString sPara);
void dealwithItemAlgos_Gc();
void dealwithItemAlgos_W(QString sPara);
void dealwithAlgoBindings(); //绑定算法类
iPvtParaItemGroup* getCurPvtGroup();
protected:
virtual void paintEvent(QPaintEvent*);
virtual void resizeEvent(QResizeEvent*);
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
private slots:
void slotTabCurIndexChanged(int);
// 这是首页Option触发
void slotOptionParaMethodChanged(QString sPara, QString sMethod);
// 这是各个Item触发
void slotItemParaMethodChanged(QString sPara, QString sMethod);
// 设置算法类的参数
void slotDealwithAlgoMembers(iPvtBase*& p);
// 获取Pb压力值
void slotDealwithReferPb(QPointF& pt);
// 从当前所有的信息中获取参数的值
bool getPvtParaValue(QString s, float& f);
// 子项表格数据更改
void slotParaItemTableChanged(QString sPara);
signals:
// 子项表格数据更改
void sigParaItemTableDataChanged(QString s);
private:
// FluidType这是主类型
QString m_sFluidType;
// PhaseType相类型
QString m_sPhaseType;
// Tab
QTabWidget* m_pTabWx;
// TabWx的内容第一项为iWxPvtUtilOption
QStringList m_listItems;
// SubHeader
iWxPvtSubHeader* m_pSubHeader;
// 算法类
QMap<QString, iPvtBase*> m_mapAlgos;
};