Re-implemented TimeSlider.
[aesalon.git] / gui / src / session / Visualization.cpp
blobd8bd3d29300f5d334df1481414d557d6a95e36a8
1 #include <QPainter>
2 #include <QLabel>
3 #include "Visualization.h"
4 #include "Visualization.moc"
6 Visualization::Visualization(DataThread *data_thread, QWidget *parent)
7 : QWidget(parent), v_thread(NULL), data_thread(data_thread), current_image(NULL) {
9 main_layout = new QVBoxLayout();
11 from_slider = new TimeSlider();
12 to_slider = new TimeSlider();
13 main_layout->addWidget(new QLabel(tr("From:")));
14 main_layout->addWidget(from_slider);
15 setLayout(main_layout);
18 Visualization::~Visualization() {
19 if(v_thread) {
20 v_thread->get_request_queue()->push_request(NULL);
21 v_thread->wait();
25 void Visualization::initialize() {
26 v_thread = create_v_thread(data_thread);
27 if(v_thread == NULL) {
28 qDebug("Failed to create v_thread!");
29 this->deleteLater();
30 return;
32 connect(v_thread, SIGNAL(replace_image(QImage*)), SLOT(update_image(QImage*)));
33 v_thread->start();
36 void Visualization::paintEvent(QPaintEvent *event) {
37 /*QWidget::paintEvent(event);
38 if(!current_image) return;
39 QPainter painter(this);
40 painter.scale(qreal(geometry().width()) / current_image->width(), qreal(geometry().height()) / current_image->height());
41 painter.drawImage(0, 0, *current_image);*/
42 QWidget::paintEvent(event);
45 void Visualization::update_image(QImage *image) {
46 current_image = image;