#pragma once #include "iWxPvtBase.h" #include "mToolPvt_global.h" class iGuiPlot; class ZxObjCurve; class iPvtParaCalRst; class M_TOOL_PVT_EXPORT iWxPvtPhaseParaPlot : public iWxPvtBase { Q_OBJECT public: explicit iWxPvtPhaseParaPlot(QWidget *parent = 0); ~iWxPvtPhaseParaPlot(); // 针对的参数 void setInfos(QString sPara, QString sPhaseType); // 初始化 virtual void initUI(); // 是否发生改变 bool isAlgMethodsChanged(VecInt& vecChecked, int nRadio); // 文件标识 virtual QString getFilePvtTag(); // 刷新视图 void refreshChartBy(iPvtParaCalRst* pCalRst, QStringList& listOrderMethods); // 返回指针 iGuiPlot* getPlotWx(); protected: // 初始化 virtual void initUI_MainLayout(); virtual void initUI_MainViews(); virtual QWidget* initUI_Chart(); virtual void initUI_Others(); // 图形刷新相关 bool checkInputs(QString sMethodBase, QString sX, \ QMap* pMapRsPtr, \ bool bClearOld = true); void resetCurveAttributes(); void appendExtPts(QPointF& ptRs, QPointF& ptReferPb); bool isValidPt(QPointF& pt); void clearChart(); // 辅助信息 void dealwithDesc(QPointF& ptRs, QPointF& ptReferPb); protected: virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); public slots: void slotCurveSelChanged(bool bSelect); signals: void sigAdjustBottomLayout(QString sPara, QHBoxLayout*& pLayoutH); void sigReferPbNeeded(QPointF& pt); void sigCurveSelected(ZxObjCurve* pCurve, bool bSelected); protected: // 布局 QVBoxLayout* m_pMainLayout; // 绘图/表格展示 iGuiPlot* m_pWxPlot; // 当前计算的参数对象,通常英文 QString m_sPara; QString m_sPhaseType; // 辅助信息显示 QLabel* m_pLblDesc; };