63 lines
1.6 KiB
C
63 lines
1.6 KiB
C
|
#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<chart_range*> _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
|