75 lines
1.9 KiB
C++
75 lines
1.9 KiB
C++
#ifndef GTL_GUI_SPGR_WIDGET_H
|
|
#define GTL_GUI_SPGR_WIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include "qpainter.h"
|
|
|
|
#include "math/gtl_math_spec.h"
|
|
#include "gui/spgr/gtl_gui_spgr_series.h"
|
|
#include "gui/spgr/gtl_gui_spgr_chart.h"
|
|
#include "gui/gui_global.h"
|
|
|
|
namespace Ui {
|
|
class spgr_widget;
|
|
}
|
|
|
|
namespace gtl
|
|
{
|
|
namespace gui
|
|
{
|
|
namespace spgr
|
|
{
|
|
|
|
class GTL_GUI_EXPORT gradient_widget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
gradient_widget(QWidget *parent) : QWidget(parent){}
|
|
|
|
void paintEvent(QPaintEvent *)
|
|
{
|
|
QPainter painter(this);
|
|
QLinearGradient gradient(0, 0, width(), 0);
|
|
gradient.setColorAt(0, Qt::blue);
|
|
gradient.setColorAt(0.25, Qt::cyan);
|
|
gradient.setColorAt(0.5, Qt::green);
|
|
gradient.setColorAt(0.75, Qt::yellow);
|
|
gradient.setColorAt(1, Qt::red);
|
|
painter.setBrush(gradient);
|
|
painter.drawRect(rect());
|
|
}
|
|
};
|
|
|
|
class GTL_GUI_EXPORT widget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit widget(QWidget *parent, gtl::math::spec *spec);
|
|
~widget();
|
|
|
|
line_widget* time_widget();
|
|
line_widget* freq_widget();
|
|
|
|
private:
|
|
Ui::spgr_widget *ui;
|
|
QDomElement* _root_element;
|
|
series* _series;
|
|
chart* _chart;
|
|
|
|
void update_parameters();
|
|
void closeEvent(QCloseEvent *event);
|
|
|
|
signals:
|
|
void closed();
|
|
void deleted();
|
|
void time_chart_changed();
|
|
void freq_chart_changed();
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif // GTL_GUI_SPGR_WIDGET_H
|