diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,5 +1,5 @@ /* - Copyright © 2017 Hasan Yavuz Özderya + Copyright © 2018 Hasan Yavuz Özderya This file is part of serialplot. @@ -60,17 +60,16 @@ MainWindow::MainWindow(QWidget *parent) ui(new Ui::MainWindow), aboutDialog(this), portControl(&serialPort), - channelMan(1, 1, this), secondaryPlot(NULL), - snapshotMan(this, &channelMan), + snapshotMan(this, &stream), commandPanel(&serialPort), - dataFormatPanel(&serialPort, &channelMan, &recorder), - recordPanel(&recorder, &channelMan), + dataFormatPanel(&serialPort), + recordPanel(&stream), updateCheckDialog(this) { ui->setupUi(this); - plotMan = new PlotManager(ui->plotArea, &plotMenu, channelMan.infoModel()); + plotMan = new PlotManager(ui->plotArea, &plotMenu, &stream); ui->tabWidget->insertTab(0, &portControl, "Port"); ui->tabWidget->insertTab(1, &dataFormatPanel, "Data Format"); @@ -179,18 +178,8 @@ MainWindow::MainWindow(QWidget *parent) QObject::connect(snapshotMan.takeSnapshotAction(), &QAction::triggered, plotMan, &PlotManager::flashSnapshotOverlay); - // init data format and reader - QObject::connect(&channelMan, &ChannelManager::dataAdded, - plotMan, &PlotManager::replot); - QObject::connect(ui->actionPause, &QAction::triggered, - &channelMan, &ChannelManager::pause); - - QObject::connect(&recordPanel, &RecordPanel::recordStarted, - &dataFormatPanel, &DataFormatPanel::startRecording); - - QObject::connect(&recordPanel, &RecordPanel::recordStopped, - &dataFormatPanel, &DataFormatPanel::stopRecording); + &stream, &Stream::pause); QObject::connect(ui->actionPause, &QAction::triggered, [this](bool enabled) @@ -219,24 +208,8 @@ MainWindow::MainWindow(QWidget *parent) // init data arrays and plot numOfSamples = plotControlPanel.numOfSamples(); - unsigned numOfChannels = dataFormatPanel.numOfChannels(); - - channelMan.setNumOfSamples(numOfSamples); - channelMan.setNumOfChannels(dataFormatPanel.numOfChannels()); - - connect(&dataFormatPanel, &DataFormatPanel::numOfChannelsChanged, - &channelMan, &ChannelManager::setNumOfChannels); - - connect(&channelMan, &ChannelManager::numOfChannelsChanged, - this, &MainWindow::onNumOfChannelsChanged); - - plotControlPanel.setChannelInfoModel(channelMan.infoModel()); - - // init curve list - for (unsigned int i = 0; i < numOfChannels; i++) - { - plotMan->addCurve(channelMan.channelName(i), channelMan.channelBuffer(i)); - } + stream.setNumSamples(numOfSamples); + plotControlPanel.setChannelInfoModel(stream.infoModel()); // init scales plotMan->setYAxis(plotControlPanel.autoScale(), @@ -370,38 +343,14 @@ void MainWindow::onPortToggled(bool open void MainWindow::clearPlot() { - for (unsigned ci = 0; ci < channelMan.numOfChannels(); ci++) - { - channelMan.channelBuffer(ci)->clear(); - } + stream.clear(); plotMan->replot(); } void MainWindow::onNumOfSamplesChanged(int value) { numOfSamples = value; - channelMan.setNumOfSamples(value); - plotMan->replot(); -} - -void MainWindow::onNumOfChannelsChanged(unsigned value) -{ - unsigned int oldNum = plotMan->numOfCurves(); - unsigned numOfChannels = value; - - if (numOfChannels > oldNum) - { - // add new channels - for (unsigned int i = oldNum; i < numOfChannels; i++) - { - plotMan->addCurve(channelMan.channelName(i), channelMan.channelBuffer(i)); - } - } - else if(numOfChannels < oldNum) - { - plotMan->removeCurves(oldNum - numOfChannels); - } - + stream.setNumSamples(value); plotMan->replot(); } @@ -463,7 +412,7 @@ void MainWindow::showBarPlot(bool show) { if (show) { - auto plot = new BarPlot(&channelMan, &plotMenu); + auto plot = new BarPlot(&stream, &plotMenu); plot->setYAxis(plotControlPanel.autoScale(), plotControlPanel.yMin(), plotControlPanel.yMax()); @@ -547,7 +496,7 @@ void MainWindow::saveAllSettings(QSettin saveMWSettings(settings); portControl.saveSettings(settings); dataFormatPanel.saveSettings(settings); - channelMan.saveSettings(settings); + stream.saveSettings(settings); plotControlPanel.saveSettings(settings); plotMenu.saveSettings(settings); commandPanel.saveSettings(settings); @@ -560,7 +509,7 @@ void MainWindow::loadAllSettings(QSettin loadMWSettings(settings); portControl.loadSettings(settings); dataFormatPanel.loadSettings(settings); - channelMan.loadSettings(settings); + stream.loadSettings(settings); plotControlPanel.loadSettings(settings); plotMenu.loadSettings(settings); commandPanel.loadSettings(settings);