#ifndef MULTICHARTVIEW_H #define MULTICHARTVIEW_H #include #include #include #include #include "dataqueue.h" #include "databuffer.h" #include "conversionqueue.h" #include "chart.h" #include "chartview.h" #include "arrayinfo.h" namespace Ui { class MultiChartView; } class MultiChartView : public QWidget { Q_OBJECT public: explicit MultiChartView(DataQueue *queue, ConversionQueue *cqueue, QWidget *parent = 0); ~MultiChartView(); void addArray(const nix::DataArray &array); void loadData(const ArrayInfo &info); private: DataQueue *dataQueue; ConversionQueue *conversionQueue; Ui::MultiChartView *ui; double xRangeMin, xRangeMax; std::map arrayMap; std::map chartMap; std::map viewMap; std::map infoMap; std::map data_buffer; QFont labelFont, tickLabelFont; Chart* createChart(const ArrayInfo &info); ChartView* createChartView(Chart *chart, const ArrayInfo &info); public slots: void dataReady(QString requestId); void dataConverted(QString entityId, double ymin, double ymax); void newDataRequest(const std::string &entity_id, qreal min, qreal max); }; #endif // MULTICHARTVIEW_H