MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // start tcp socket QThread* thread = new QThread;// writetodatabase *database; database = new writetodatabase(); database->moveToThread(thread); connect(thread, SIGNAL(started()), database, SLOT(startDb())); connect(database, SIGNAL(finished()), thread, SLOT(quit())); connect(database, SIGNAL(finished()), database, SLOT(deleteLater())); connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater())); connect(this,SIGNAL(sendSetPoint(const QString)),database, SLOT(sendSetPoint(const QString))); thread->start(); connect(ui->sendht, SIGNAL(clicked()), this, SLOT(sliderValue())); // setgraphs( ui->qtplot,"Time","Flowrate",14); setgraphs( ui->qtplot_2,"Time","Voltage(PWM)",100); setgraphs( ui->qtplot_3,"Time","IR Reading",400); // setup a timer that repeatedly calls MainWindow::realtimeDataSlot: connect(&dataTimer, SIGNAL(timeout()), this, SLOT(realtimeDataSlot())); dataTimer.start(500); }
AsyncPropertyReply *DatabaseSink::setProperty(AsyncSetPropertyRequest request) { AsyncPropertyReply* reply = new AsyncPropertyReply(request); reply->success = false; if(request.property == DatabaseLogging) { if(request.value->value<bool>()) { setPlayback(false); startDb(); reply->success = true; DatabaseLoggingType temp(true); routingEngine->updateProperty(DatabaseLogging,&temp,uuid()); } else { stopDb(); reply->success = true; DatabaseLoggingType temp(false); routingEngine->updateProperty(DatabaseLogging,&temp,uuid()); } } else if(request.property == DatabaseFile) { std::string fname = request.value->toString(); databaseName = fname; DatabaseFileType temp(databaseName); routingEngine->updateProperty(DatabaseFile,&temp,uuid()); reply->success = true; } else if( request.property == DatabasePlayback) { if(request.value->value<bool>()) { setLogging(false); startPlayback(); DatabasePlaybackType temp(playback); routingEngine->updateProperty(DatabasePlayback,&temp,uuid()); } else { if(playbackShared) playbackShared->stop = true; playback = false; DatabasePlaybackType temp(playback); routingEngine->updateProperty(DatabasePlayback, &temp, uuid()); } reply->success = true; } return reply; }