| #pragma once |
| |
| #include "graphview.h" |
| |
| /** |
| * Histogram graph view. |
| * |
| * When the view is zoomed such that there is more than one item occupying |
| * a single pixel the one with the highest value will be displayed. |
| */ |
| class HistogramView : public GraphView { |
| public: |
| HistogramView(QWidget* parent); |
| |
| void setDataProvider(GraphDataProvider* data); |
| void setSelectionState(SelectionState* state) override; |
| |
| /* Gradient colours for selected and unselected items */ |
| void setSelectedGradient(const QLinearGradient& gradient); |
| void setUnelectedGradient(const QLinearGradient& gradient); |
| |
| virtual void mouseMoveEvent(QMouseEvent *e) override; |
| virtual void mouseDoubleClickEvent(QMouseEvent *e) override; |
| |
| virtual void update() override; |
| virtual void resizeEvent(QResizeEvent *e) override; |
| virtual void paintEvent(QPaintEvent *e) override; |
| |
| protected: |
| qint64 itemAtPosition(QPoint pos); |
| qint64 valueAtPosition(QPoint pos); |
| |
| protected: |
| QLinearGradient m_gradientSelected; |
| QLinearGradient m_gradientUnselected; |
| |
| GraphDataProvider* m_data; |
| }; |