#ifndef GTL_GUI_SPGR_CHART_H #define GTL_GUI_SPGR_CHART_H #include #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