58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
|
#ifndef CHART_MARKER_H
|
||
|
#define CHART_MARKER_H
|
||
|
|
||
|
#include "chart/instruments/instrument.h"
|
||
|
|
||
|
#include "gtl_gui_chart_marker_line.h"
|
||
|
|
||
|
namespace gtl
|
||
|
{
|
||
|
namespace gui
|
||
|
{
|
||
|
class chart_marker : public ::chart::instrument::instrument
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
chart_marker(::chart::series::series* parent, bool is_dark_theme);
|
||
|
virtual ~chart_marker();
|
||
|
|
||
|
void set_pos(QPoint p);
|
||
|
virtual void set_pos(qreal x);
|
||
|
void set_pos();
|
||
|
qreal pos() const;
|
||
|
|
||
|
virtual bool contains(const QPointF& point) const;
|
||
|
virtual void set_idx(int idx);
|
||
|
int idx() const;
|
||
|
|
||
|
virtual qreal value(int series_idx);
|
||
|
virtual void set_width(qreal width);
|
||
|
virtual qreal width() const;
|
||
|
|
||
|
protected:
|
||
|
chart_marker_line* _line;
|
||
|
int _idx;
|
||
|
|
||
|
private:
|
||
|
virtual void add(const QPointF &point) override;
|
||
|
virtual void draw(const QPointF &point) override;
|
||
|
|
||
|
signals:
|
||
|
void get_nearest_x(qreal& x, chart_line::pos_behaviors);
|
||
|
void get_series_data(qreal x, bool is_widget_pos, QVariantList &data);
|
||
|
void get_series_values(qreal x_min, qreal x_max, int series_idx, QVariantList &data);
|
||
|
void position_changed();
|
||
|
void idx_changed();
|
||
|
void deleting();
|
||
|
|
||
|
protected slots:
|
||
|
virtual void line_moved();
|
||
|
|
||
|
public slots:
|
||
|
virtual void set_color(const QColor &color);
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif // CHART_MARKER_H
|