#ifndef CHART_RANGE_H #define CHART_RANGE_H #include #include "chart/instruments/instrument.h" #include "gtl_gui_player_chart_range_line.h" #include "gtl_gui_player_chart_range_body.h" namespace gtl { namespace gui { namespace player { class chart_range : public ::chart::instrument::instrument { Q_OBJECT public: chart_range(::chart::series::series* parent); void set(qreal left, qreal right); bool is_inside(const QPointF& pos) const; qreal left() const; qreal right() const; private: virtual void add(const QPointF &point) override; virtual void draw(const QPointF &point) override; private: int _cnt_clicks; chart_range_line* _line0; chart_range_line* _line1; chart_range_body* _body; private slots: void set_body(); signals: void get_nearest_x(qreal& x, gtl::gui::chart_line::pos_behaviors); }; } } } #endif // CHART_RANGE_H