#ifndef DPBARSCHART_H #define DPBARSCHART_H /******************************************************************************* ** DataPanel-BarsChart ** author dsc ** ** 柱状图展示面板,用来展示统计数据(如各类报警、事件的数量) ** 采用QCustomPlot实现 ** ******************************************************************************/ #include "dpBaseChart.h" class QCustomPlot; class QCPBarsGroup; class dpBarsChart : public dpBaseChart { Q_OBJECT public: dpBarsChart(QWidget *parent = nullptr); ~dpBarsChart(); void setTimeRange(TimeUnit) override; void setDateTime(const QDateTime&) override; void viewHistoricalData(const QDateTime&) override; void synchronizeConfigData(const configurationResults&) override; public slots: void onSignal_dataUpdated(const QString& dataKey, const QVariant& data, const QDateTime& timestamp); private: struct Bars { QColor color; QString name; QString dataID; RealTimeDataType dataType; QVector keys; QPointer qBars; Bars() { name = ""; dataID = ""; } }; void initQCP(); QCustomPlot* m_pCustomPlot; ChartStyle m_chartStyle; QCPBarsGroup* m_barsGroup; QHash m_bars; //QHash m_barsGroups; }; #endif