#ifndef PLAYER_CHART_H #define PLAYER_CHART_H #include "gui/gtl_gui_record_chart.h" #include "gtl_gui_player_chart_range.h" #include "gui/player/gtl_gui_player_chart_position.h" #include "gui_global.h" namespace gtl { namespace gui { namespace player { class GTL_GUI_EXPORT chart : public gtl::gui::record_chart { Q_OBJECT public: chart(QWidget* parent = NULL); ~chart(); void save_ranges(); void set_position(qreal time); virtual void set_file(QString path) override; private: QMenu* _ranges_menu; QAction* _add_range_action; QAction* _remove_range_action; std::vector _ranges; chart_range* _current_range; QPoint _popup_point; chart_position* _position; private: virtual void add_instrument(const QPointF &pos) override; virtual void draw_instrument(const QPointF &pos) override; chart_range* get_range(QPointF pos); virtual void contextMenuEvent(QContextMenuEvent *event) override; void clear_ranges(); void restore_ragnes(); void remove_range(chart_range *range); chart_range* add_range(); void leaveEvent(QEvent *event) override; private slots: void add_new_range(); void remove_current_range(); }; } } } #endif // PLAYER_CHART_H