65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
|
|
#ifndef GTL_GUI_SPGR_LINE_H
|
|
#define GTL_GUI_SPGR_LINE_H
|
|
|
|
#include "gui/gtl_gui_chart.h"
|
|
#include "gui/gtl_gui_chart_series.h"
|
|
#include "gui/gtl_gui_chart_widget.h"
|
|
#include "gui/gui_global.h"
|
|
|
|
namespace gtl {
|
|
namespace gui {
|
|
namespace spgr {
|
|
|
|
class GTL_GUI_EXPORT line_chart : public gui::chart
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
line_chart(QWidget* parent = NULL, chart_axis_x *axis_x = NULL, chart_axis_y *axis_y = NULL)
|
|
: gui::chart(parent, axis_x, axis_y)
|
|
{}
|
|
|
|
virtual void save(QDomElement& root_element){}
|
|
virtual void load(const QDomElement& root_element){}
|
|
|
|
void add(gui::chart_series* series){ ::chart::widget::add(series); };
|
|
|
|
protected:
|
|
virtual chart_axis_y* create_axis_y(){ return nullptr; }
|
|
virtual chart_series* create_series(gtl::analog_data* ai){ return nullptr; }
|
|
virtual void contextMenuEvent(QContextMenuEvent *event){}
|
|
|
|
public slots:
|
|
virtual void add_ad(gtl::analog_data* ad){}
|
|
virtual void remove_ad(gtl::analog_data* ad){}
|
|
|
|
protected slots:
|
|
virtual void device_recieved_data(){}
|
|
};
|
|
|
|
class GTL_GUI_EXPORT line_widget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
line_widget(QWidget* parent = NULL, ::chart::axis_horz* axis_x = NULL, ::chart::axis_vert* axis_y = NULL, gtl::analog_data* ad = nullptr);
|
|
~line_widget();
|
|
|
|
void set_data(qreal* values, qreal size, qreal dx);
|
|
|
|
private:
|
|
gui::chart_series* _series;
|
|
line_chart* _chart;
|
|
gui::chart_widget* _widget;
|
|
|
|
void closeEvent(QCloseEvent *event);
|
|
|
|
signals:
|
|
void closed();
|
|
void deleted();
|
|
};
|
|
}
|
|
} // namespace gui
|
|
} // namespace gtl
|
|
|
|
#endif // GTL_GUI_SPGR_LINE_H
|