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
|