46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
#include "gtl_gui_spgr_line.h"
|
|
|
|
namespace gtl {
|
|
namespace gui
|
|
{
|
|
namespace spgr
|
|
{
|
|
line_widget::line_widget(QWidget* parent, ::chart::axis_horz* axis_x, ::chart::axis_vert* axis_y, gtl::analog_data* ad)
|
|
: QWidget(parent, Qt::Window)
|
|
,_series(nullptr)
|
|
,_chart(nullptr)
|
|
,_widget(nullptr)
|
|
{
|
|
_series = new gui::chart_series(ad, axis_x, axis_y);
|
|
|
|
_chart = new line_chart(this, static_cast<chart_axis_x*>(axis_x), static_cast<chart_axis_y*>(axis_y));
|
|
_chart->add(_series);
|
|
|
|
_widget = new gui::chart_widget(_chart, this);
|
|
|
|
setLayout(new QVBoxLayout);
|
|
layout()->setContentsMargins(0, 0, 0, 0);
|
|
layout()->setSpacing(0);
|
|
layout()->addWidget(_widget);
|
|
}
|
|
|
|
line_widget::~line_widget()
|
|
{
|
|
_chart->remove();
|
|
if(_widget) delete _widget;
|
|
emit deleted();
|
|
}
|
|
|
|
void line_widget::set_data(qreal* values, qreal size, qreal dx)
|
|
{
|
|
if(_series) _series->set_y(values, size, dx);
|
|
}
|
|
|
|
void line_widget::closeEvent(QCloseEvent *event)
|
|
{
|
|
emit closed();
|
|
}
|
|
}
|
|
}
|
|
}
|