# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2015-07-27 16:19:48 # Node ID f9c0c2336d7bde60b2c9fab3e7d2a891da49b976 # Parent b3c780eb9edecefe94a2532fd17672020c8d6720 fix plot view not updated when number of samples is changed (unless there is incoming data) diff --git a/mainwindow.cpp b/mainwindow.cpp --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -456,19 +456,30 @@ void MainWindow::onNumOfSamplesChanged(i for (unsigned int ci = 0; ci < numOfChannels; ci++) { channelsData[ci].remove(0, oldNum - numOfSamples); + curves[ci]->setSamples(dataX, channelsData[ci]); } + ui->plot->replot(); } else if(numOfSamples > oldNum) { + // update data arrays dataX.resize(numOfSamples); for (unsigned int i = oldNum; i < numOfSamples; i++) { dataX[i] = i; for (unsigned int ci = 0; ci < numOfChannels; ci++) { + // TODO: opportunity of major optimization here + // let's hope nobody sees this channelsData[ci].prepend(0); } } + // update curves + for (unsigned int ci = 0; ci < numOfChannels; ci++) + { + curves[ci]->setSamples(dataX, channelsData[ci]); + } + ui->plot->replot(); } }