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.
nmWTAI-Platform/Include/mGui/mSubWnd/SubWxs/iWxRunOptionStd.h

145 lines
3.2 KiB
C

#pragma once
#include "iWxRunOption.h"
class ZxSegmentInfo;
class iAlgModelBase;
namespace Ui {
class iWxRunOptionStd;
}
class M_SUB_WND_EXPORT iWxRunOptionStd : public iWxRunOption
{
Q_OBJECT
public:
explicit iWxRunOptionStd(QWidget *parent = 0, bool bMiniFrac = false);
~iWxRunOptionStd();
// 初始化
virtual void initUI();
virtual void initTableViews();
virtual void initChartView();
// 外界调用参数
void setSegmentInfo(ZxSegmentInfo* p);
// 默认调用模式,不弹出对话框
virtual void runByDefault();
virtual void runByBtnOk();
virtual bool runByBtnApply();
// 刷新
virtual void freshUI(bool bAutoRun = false);
// 返回对话框选择的结果
bool getDataPandF(QVector<QPointF>& vecP, \
QVector<QPointF>& vecF);
// 对压力流量进行校正式处理
void verifyDataPF(VecDouble& vecFt, VecDouble& vecFv, \
VecDouble& vecPt, VecDouble& vecPv);
private slots:
// 是否启用光滑和抽稀
void on_cbxUseSmoothing_clicked();
void on_cbxUseThinning_clicked();
// OK cancel
void on_btnOK_clicked();
void on_btnCancel_clicked();
void on_btnApply_clicked();
virtual void slotAnalRunselectionChanged();
//protected:
// 设置MpData
void on_btnSetMpData_clicked();
void on_cbxBuildUpOrDown_currentIndexChanged(int index);
// 原始曲线显示与否
void on_cbxRawCurves_clicked();
// 是否处理末端效应
void on_cbxAutoEndEffect_clicked();
protected:
// 下拉流体类型
virtual void withAnalTypeChanged();
//处理勾选等变化引起的曲线变化(Smooth Or Thin)
virtual void withSmoothThinChanged();
// 是否处理末端效应
virtual void withEndEffectChanged();
signals:
protected:
// 填充下拉
virtual bool fuzzyCbxAnalRuns();
// 刷新组件
void refreshSegInfo(ZxSegmentInfo* p);
virtual void refreshChartInfo();
void refreshSmoothState();
void refreshThinningState();
void updatePlotByAlgRst();
void updatePlotByAlgRst_Raw();
bool getCurveDataOf(QString sCurve, VecDouble& vecX, VecDouble& vecY);
void makesureRawCurveAbouts();
void freshPtCounts();
// 结果处理
virtual bool runApply();
virtual bool dealwithWndSel();
virtual bool dealwithSmoothAndThin(bool bMultiPhase);
//zxf设置当前的job
virtual bool setCurrentAnalRun();
// 对于多相确保多相数据
void makesureMpData(QString sCurveIdF, QVector<QPointF>& vecF);
protected:
Ui::iWxRunOptionStd *ui;
// 流动段载体
ZxSegmentInfo* m_pSegInfo;
// 多相数据竖向排列size为4//注意:[0]时间,[1]油,[2]气,[3]水
VVecDouble m_vvecMpData;
QString m_sFlowDataCode;
bool m_bIniting;
QVector<QPointF> m_vecBackupF;
// 当前选择的 数据(如果截取)
QVector<QPointF> m_vecPtsCurveP;
QVector<QPointF> m_vecPtsCurveF;
// 为了方便应用
QComboBox* m_pCbxStepUpDown;
QCheckBox* m_pCbxShowRawCurves;
QLabel* m_pLblPtCounts1;
// QLabel* m_pLblPtCounts2;
//算法
iAlgModelBase* m_pAlgModel;
// 临时,不涉及序列化
QString m_sPtsInit;
};