test_sdk/gui/spgr/gtl_gui_spgr_chart.h

50 lines
1.4 KiB
C++

#ifndef GTL_GUI_SPGR_CHART_H
#define GTL_GUI_SPGR_CHART_H
#include <QDomElement>
#include "chart/widget_chart.h"
#include "gui/gui_global.h"
#include "gtl_gui_spgr_series.h"
#include "gui/spgr/gtl_gui_spgr_chart_marker.h"
namespace gtl {
namespace gui {
namespace spgr{
class GTL_GUI_EXPORT chart : public ::chart::widget
{
Q_OBJECT
public:
chart(QWidget* parent = NULL, ::chart::axis_horz *axis_x = NULL, ::chart::axis_vert *axis_y = NULL);
~chart();
virtual void add(::chart::series::series *s);
private:
QPoint _mouse_pos_press;
QPoint _mouse_pos_release;
spgr::marker* _marker;
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseDoubleClickEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
private slots:
void get_neares_series_x(qreal &x, chart_line::pos_behaviors);
void get_neares_series_y(qreal &y, chart_line::pos_behaviors);
void marker_pos_changed();
void t_widget_changed();
void f_widget_changed();
};
}
} // namespace gui
} // namespace gtl
#endif // GTL_GUI_SPGR_CHART_H