dataservice/mainwindow.cpp

64 lines
1.8 KiB
C++

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>
#include "chart.h"
#include "chartview.h"
#include "multichartview.h"
using namespace QtCharts;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
/*
dataService = new DataService();
dataService->moveToThread(&dataServiceThread);
connect(&dataServiceThread, &QThread::finished, dataService, &QObject::deleteLater);
connect(ui->goBtn, SIGNAL(clicked(bool)), dataService, SLOT(doWork()));
connect(dataService, SIGNAL(resultReady()), this, SLOT(handleResult()));
dataServiceThread.start();
*/
DataLoader *loader = new DataLoader();
loader->moveToThread(&dataQueue);
dataQueue.start();
conversionQueue.start();
file = nix::File::open("/home/grewe/zwischenlager/2017-08-17-af-invivo-1/2017-08-17-af-invivo-1.nix",
nix::FileMode::ReadOnly);
/*
file = nix::File::open("/Users/jan/zwischenlager/threading_test/dataservice/data/2017-08-17-af-invivo-1.nix",
nix::FileMode::ReadOnly);
*/
nix::Block b = file.getBlock(0);
this->voltage = b.getDataArray("V-1");
this->eod = b.getDataArray("EOD");
MultiChartView *mcv = new MultiChartView(&dataQueue, &conversionQueue);
ui->vbox->addWidget(mcv);
mcv->addArray(eod);
mcv->addArray(voltage);
}
MainWindow::~MainWindow() {
std::cerr << "destructor"<< std::endl;
if (file) {
file.close();
}
dataQueue.stop();
dataQueue.quit();
dataQueue.wait();
std::cerr << dataQueue.isRunning() << std::endl;
conversionQueue.stop();
conversionQueue.quit();
conversionQueue.wait();
std::cerr << conversionQueue.isRunning() << std::endl;
delete ui;
}