test_sdk/gui/spgr/gtl_gui_spgr_widget.h

75 lines
1.9 KiB
C
Raw Permalink Normal View History

#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