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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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,只是为了调用方便,不涉及序列化
};