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

Function buildExportSchema

app/src/DataModel/ExportSchema.h:58–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56};
57
58[[nodiscard]] inline ExportSchema buildExportSchema(const Frame& frame)
59{
60 ExportSchema schema;
61 schema.frameTitle = frame.title;
62
63 QMap<int, QString> sourceTitles;
64 for (const auto& s : frame.sources)
65 sourceTitles.insert(s.sourceId, s.title);
66
67 for (const auto& group : frame.groups) {
68 if (group.groupType == GroupType::Output)
69 continue;
70
71 for (const auto& dataset : group.datasets) {
72 ExportColumn col;
73 col.uniqueId = dataset.uniqueId;
74 col.groupId = group.groupId;
75 col.sourceId = dataset.sourceId;
76 col.sourceTitle = sourceTitles.value(dataset.sourceId, QStringLiteral(""));
77 col.groupTitle = group.title;
78 col.title = dataset.title;
79 col.units = dataset.units;
80 col.widget = dataset.widget;
81 col.isNumeric = dataset.isNumeric;
82 col.isVirtual = dataset.virtual_;
83 schema.columns.push_back(col);
84 }
85 }
86
87 std::sort(schema.columns.begin(),
88 schema.columns.end(),
89 [](const ExportColumn& a, const ExportColumn& b) { return a.uniqueId < b.uniqueId; });
90
91 for (int i = 0; i < static_cast<int>(schema.columns.size()); ++i)
92 schema.uniqueIdToColumnIndex.insert(schema.columns[static_cast<size_t>(i)].uniqueId, i);
93
94 return schema;
95}
96
97} // namespace DataModel

Callers 4

writeColumnDefsMethod · 0.85
createCsvFileMethod · 0.85
buildReplayLayoutMethod · 0.85
rebuildCsvSchemaMethod · 0.85

Calls 4

sortFunction · 0.85
beginMethod · 0.80
valueMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected