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

Method updateDataset

app/src/DataModel/ProjectModel.cpp:3261–3295  ·  view source on GitHub ↗

* @brief Replaces the dataset at @p groupId/@p datasetId. */

Source from the content-addressed store, hash-verified

3259 * @brief Replaces the dataset at @p groupId/@p datasetId.
3260 */
3261void DataModel::ProjectModel::updateDataset(const int groupId,
3262 const int datasetId,
3263 const DataModel::Dataset& dataset,
3264 const bool rebuildTree)
3265{
3266 if (groupId < 0 || static_cast<size_t>(groupId) >= m_groups.size())
3267 return;
3268
3269 if (datasetId < 0 || static_cast<size_t>(datasetId) >= m_groups[groupId].datasets.size())
3270 return;
3271
3272 DataModel::Dataset resolved = dataset;
3273 if (resolved.transformLanguage < 0 && !resolved.transformCode.isEmpty()) {
3274 for (const auto& src : m_sources)
3275 if (src.sourceId == resolved.sourceId) {
3276 resolved.transformLanguage = src.frameParserLanguage == SerialStudio::Native
3277 ? static_cast<int>(SerialStudio::Lua)
3278 : src.frameParserLanguage;
3279 break;
3280 }
3281
3282 if (resolved.transformLanguage < 0)
3283 resolved.transformLanguage = 0;
3284 }
3285
3286 m_groups[groupId].datasets[datasetId] = resolved;
3287 m_selectedDataset = resolved;
3288
3289 if (rebuildTree)
3290 Q_EMIT groupsChanged();
3291
3292 m_runtimeDirty = true;
3293 setModified(true);
3294 scheduleAutoSave();
3295}
3296
3297/**
3298 * @brief Enables or disables a group; a disabled group is excluded from frame building while the

Callers 12

datasetAddMethod · 0.80
datasetAddManyMethod · 0.80
datasetSetOptionsMethod · 0.80
datasetSetVirtualMethod · 0.80
datasetSetAlarmBandsMethod · 0.80
datasetUpdateMethod · 0.80
commitAlarmBandsMethod · 0.80
onDatasetItemChangedMethod · 0.80

Calls 2

isEmptyMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected