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

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