# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2015-04-19 06:57:00 # Node ID e65811fa0522a54c9e15691a3a1febaed2f13bb4 # Parent 8932fd91959c5c93683751c03b9cffeb53926882 added number of channels selection diff --git a/mainwindow.cpp b/mainwindow.cpp --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -72,6 +72,11 @@ MainWindow::MainWindow(QWidget *parent) QObject::connect(ui->actionClear, SIGNAL(triggered(bool)), this, SLOT(clearPlot())); + // setup number of channels spinbox + QObject::connect(ui->spNumOfChannels, + SELECT::OVERLOAD_OF(&QSpinBox::valueChanged), + this, &MainWindow::onNumOfChannelsChanged); + // setup number format buttons numberFormatButtons.addButton(ui->rbUint8, NumberFormat_uint8); numberFormatButtons.addButton(ui->rbUint16, NumberFormat_uint16); @@ -499,6 +504,35 @@ void MainWindow::onNumOfSamplesChanged(i } } +void MainWindow::onNumOfChannelsChanged(int value) +{ + unsigned int oldNum = this->numOfChannels; + this->numOfChannels = value; + + if (numOfChannels > oldNum) + { + // add new channels + for (int i = 0; i < numOfChannels - oldNum; i++) + { + channelsData.append(DataArray(numOfSamples, 0.0)); + curves.append(new QwtPlotCurve()); + curves.last()->setSamples(dataX, channelsData.last()); + curves.last()->attach(ui->plot); + } + } + else if(numOfChannels < oldNum) + { + // remove channels + for (int i = 0; i < oldNum - numOfChannels; i++) + { + channelsData.removeLast(); + auto curve = curves.takeLast(); + curve->detach(); + delete curve; + } + } +} + void MainWindow::onAutoScaleChecked(bool checked) { if (checked) diff --git a/mainwindow.h b/mainwindow.h --- a/mainwindow.h +++ b/mainwindow.h @@ -107,6 +107,7 @@ private slots: void onAutoScaleChecked(bool checked); void onYScaleChanged(); + void onNumOfChannelsChanged(int value); void onNumberFormatButtonToggled(int numberFormatId, bool checked); void selectNumberFormat(NumberFormat numberFormatId); diff --git a/mainwindow.ui b/mainwindow.ui --- a/mainwindow.ui +++ b/mainwindow.ui @@ -344,6 +344,40 @@ + + + + + Number Of Channels: + + + + + + + + 60 + 0 + + + + 1 + + + 32 + + + + + + + + + Qt::Vertical + + + + Number Format: @@ -415,9 +449,12 @@ Qt::Horizontal + + QSizePolicy::MinimumExpanding + - 445 + 20 20 @@ -557,7 +594,7 @@ 0 0 653 - 20 + 23