#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& vecP, \ QVector& 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& 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 m_vecBackupF; // 当前选择的 数据(如果截取) QVector m_vecPtsCurveP; QVector m_vecPtsCurveF; // 为了方便应用 QComboBox* m_pCbxStepUpDown; //算法 iAlgModelBase* m_pAlgModel; };