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/mGuiPlot/iGuiPlotBar.h

71 lines
1.8 KiB
C

#pragma once
#include "iGuiPlot.h"
//class ZxBarPlot;
// 带有柱状图
class M_GUI_PLOT_EXPORT iGuiPlotBar : public iGuiPlot
{
Q_OBJECT
public:
explicit iGuiPlotBar(QWidget *parent = 0);
~iGuiPlotBar();
// 初始化UI
virtual void initChartView(QString sTitle, QSize szDefault);
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
// 反序列化后把数据重新加入m_mapCurveData与m_mapCurveType
virtual void resetAfterDeserialized();
// 刷新图形
virtual void runUpdate();
virtual void updatePlots();
// 状态
virtual bool isModified();
protected:
// 绘制Painter函数重载
virtual void paintEvent(QPaintEvent *);
public slots:
// 从zxPlot传递
virtual void slotPlotModified(int b);
virtual void slotObjCompleted(ZxObjBase*);
// 选择曲线弹出对话框显示数据
virtual void slotShowCurveData(ZxObjCurveBase* p);
public:
// 设置数据,柱状图数,B代表Bar
virtual ZxObjCurve* appendSeriesB(QStringList& listLabelXs, VecDouble& vecY, QString sName, \
bool bUseY2 = false, bool bUpdateAxisXY = true);
void updateAxisXYs(QStringList& listLabelXs, VecDouble& vecY);
void changeAxisX();
// 多条数据设置
//void setMultiColumnDatas(VVecDouble vvecDataY, QStringList listSeries, \
// QStringList listTickLabelXs);
// 把曲线添加或新建后,刷新坐标轴
virtual void freshAxisScales(bool bReset = true, bool bMinusPermitted = true);
virtual void freshAxisYScales(bool bReset = true);
signals:
protected:
//ZxBarPlot* m_pBarPlot; //其实就是 m_pPlot,只是为了调用方便,不涉及序列化
};