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