MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / addDataset

Method addDataset

app/src/DataModel/ProjectModel.cpp:4357–4444  ·  view source on GitHub ↗

* @brief Adds a new dataset of the given type to the selected group. */

Source from the content-addressed store, hash-verified

4355 * @brief Adds a new dataset of the given type to the selected group.
4356 */
4357void DataModel::ProjectModel::addDataset(const SerialStudio::DatasetOption option, int sourceId)
4358{
4359 ensureValidGroup(sourceId);
4360
4361 const auto groupId = m_selectedGroup.groupId;
4362 DataModel::Dataset dataset;
4363 dataset.groupId = groupId;
4364
4365 QString title;
4366 switch (option) {
4367 case SerialStudio::DatasetGeneric:
4368 title = tr("New Dataset");
4369 break;
4370 case SerialStudio::DatasetPlot:
4371 title = tr("New Plot");
4372 dataset.plt = true;
4373 break;
4374 case SerialStudio::DatasetFFT:
4375 title = tr("New FFT Plot");
4376 dataset.fft = true;
4377 break;
4378 case SerialStudio::DatasetBar:
4379 title = tr("New Level Indicator");
4380 dataset.widget = QStringLiteral("bar");
4381 break;
4382 case SerialStudio::DatasetGauge:
4383 title = tr("New Gauge");
4384 dataset.widget = QStringLiteral("gauge");
4385 break;
4386 case SerialStudio::DatasetCompass:
4387 title = tr("New Compass");
4388 dataset.wgtMin = 0;
4389 dataset.wgtMax = 360;
4390 dataset.widget = QStringLiteral("compass");
4391 break;
4392 case SerialStudio::DatasetMeter:
4393 title = tr("New Meter");
4394 dataset.widget = QStringLiteral("meter");
4395 break;
4396 case SerialStudio::DatasetLED:
4397 title = tr("New LED Indicator");
4398 dataset.led = true;
4399 break;
4400 case SerialStudio::DatasetWaterfall:
4401 title = tr("New Waterfall");
4402 dataset.waterfall = true;
4403 break;
4404 default:
4405 break;
4406 }
4407
4408 int count = 1;
4409 QString newTitle = title;
4410 for (const auto& d : std::as_const(m_groups[groupId].datasets)) {
4411 if (d.title == newTitle) {
4412 count++;
4413 newTitle = QString("%1 (%2)").arg(title, QString::number(count));
4414 }

Callers 2

datasetAddMethod · 0.80
datasetAddManyMethod · 0.80

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected