Skip to content
Snippets Groups Projects
ChartPlot.h 1.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef CHARTPLOT_H
    #define CHARTPLOT_H
    
    #include <qwt_plot.h>
    #include <qwt_plot_grid.h>
    #include "MainWindow.h"
    #include "ScrollZoomer.h"
    
    class ChartPlot : public QwtPlot
    {
        Q_OBJECT
    public:
        ChartPlot(QWidget *parent = NULL);
        virtual ~ChartPlot();
    
        /** @brief Get next color of color map */
        QColor getNextColor();
    
        /** @brief Get color for curve id */
    
        QColor getColorForCurve(const QString &id);
    
    
        /** @brief Reset color map */
        void shuffleColors();
    
    
    public slots:
    
        /** @brief Generate coloring for this plot canvas based on current window theme */
    
        void styleChanged(MainWindow::QGC_MAINWINDOW_STYLE style);
    
        const static int numColors = 20;
        const static QColor baseColors[numColors];
    
        QList<QColor> colors;  ///< Colormap for curves
    
        int nextColorIndex;         ///< Next index in color map
    
        QMap<QString, QwtPlotCurve* > curves;  ///< Plot curves
        ScrollZoomer* zoomer;  ///< Zoomer class for widget
        QwtPlotGrid* grid;     ///< Plot grid
    
    
        float symbolWidth; ///< Width of curve symbols in pixels
        float curveWidth; ///< Width of curve lines in pixels
        float gridWidth; ///< Width of gridlines in pixels
        float zoomerWidth; ///< Width of zoomer selection box