|
|
#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);
|
|
|
|
|
|
|
|
|
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 slotJobRunSelectionChanged();
|
|
|
//protected:
|
|
|
|
|
|
// 设置MpData
|
|
|
void on_btnSetMpData_clicked();
|
|
|
|
|
|
void on_cbxBuildUpOrDown_currentIndexChanged(int index);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// 下拉流体类型
|
|
|
virtual void OnCbxJobTypeChanged();
|
|
|
|
|
|
signals:
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// 填充下拉
|
|
|
virtual bool fuzzyCbxJobRuns();
|
|
|
|
|
|
// 刷新组件
|
|
|
void refreshSegInfo(ZxSegmentInfo* p);
|
|
|
virtual void refreshChartInfo();
|
|
|
void refreshSmoothState();
|
|
|
void refreshThinningState();
|
|
|
|
|
|
// 结果处理
|
|
|
virtual bool runApply();
|
|
|
virtual bool dealwithWndSel();
|
|
|
bool dealwithSmoothAndThin(bool bMultiPhase);
|
|
|
|
|
|
//zxf设置当前的job
|
|
|
virtual bool setCurrentJobRun();
|
|
|
|
|
|
// 对于多相确保多相数据
|
|
|
void makesureMpData(QString sCurveIdF, QVector<QPointF>& vecF);
|
|
|
|
|
|
//处理勾选等变化引起的曲线变化
|
|
|
void dealWithChanged();
|
|
|
|
|
|
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;
|
|
|
//算法
|
|
|
iAlgModelBase* m_pAlgModel;
|
|
|
};
|