#pragma once #include "iWxDiffusionSub.h" namespace Ui { class iWxFreePlots; } class M_TOOL_DIFFUSION_EXPORT iWxFreePlots : public iWxDiffusionSub { Q_OBJECT public: explicit iWxFreePlots(QString sDiffusion, \ QWidget* parent = 0); ~iWxFreePlots(); // 初始化 virtual void initUI(); protected: // 布局 virtual void initUI_Inputs(); virtual QWidget* initUI_Inputs_Up(); virtual QWidget* initUI_Inputs_Down(); virtual void initUI_Inputs_Down_TableView(QVBoxLayout*& pLayoutV); virtual void initUI_Chart(); virtual void initUI_Chart_One(iGuiPlot* pWxPlot); protected: // 数据刷新相关(表格+图形) virtual void freshChartByTableInputsChange(); virtual void clearChart(iGuiPlot* pWxPlot, bool bClearAll = true); //false时,只清空曲线不清空点 void configCurveDecs(iCurveDesc* pDesc, \ QString sName, QColor clr, \ VecDouble& x, VecDouble& y, \ bool bLineVisible = true, bool bPtVisible = false); // 添加曲线 virtual bool addCurveBy(iGuiPlot* pWxPlot, VecPointF& vecFts, QString sName, \ bool bLineVisible = true, bool bPtVisible = false, \ QColor clr = QColor(), bool bUseY2 = false); virtual bool addCurveBy(iGuiPlot* pWxPlot, VecDouble& x, VecDouble& y, QString sName, \ bool bLineVisible = true, bool bPtVisible = false, \ QColor clr = QColor(), bool bUseY2 = false); // 移除指定曲线 virtual void removeCurveOf(iGuiPlot* pWxPlot, QString sName); private: Ui::iWxFreePlots *ui; };