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

Method configureLineSeries

app/src/UI/Dashboard.cpp:2543–2610  ·  view source on GitHub ↗

* @brief Configures the line series data structures for all dashboard plots. */

Source from the content-addressed store, hash-verified

2541 * @brief Configures the line series data structures for all dashboard plots.
2542 */
2543void UI::Dashboard::configureLineSeries()
2544{
2545 Q_ASSERT(m_points > 0);
2546
2547 m_xAxisData.clear();
2548 m_yAxisData.clear();
2549 m_plotTimeRings.clear();
2550 m_plotSweep.clear();
2551 m_pltValues.clear();
2552 m_pltValues.squeeze();
2553 m_activePlots.clear();
2554 m_yLinePushes.clear();
2555 m_xLinePushes.clear();
2556 m_timePushes.clear();
2557
2558 m_pltXAxis = DSP::AxisData(points() + 1);
2559 m_pltXAxis.fillRange(0, 1);
2560
2561 for (auto i = m_widgetDatasets.begin(); i != m_widgetDatasets.end(); ++i) {
2562 const auto& datasets = i.value();
2563
2564 for (auto d = datasets.begin(); d != datasets.end(); ++d) {
2565 if (!d->plt)
2566 continue;
2567
2568 DSP::AxisData yAxis(points() + 1);
2569 m_yAxisData.insert(d->uniqueId, yAxis);
2570
2571 registerXAxisIfNeeded(*d);
2572 }
2573 }
2574
2575 for (int i = 0; i < widgetCount(SerialStudio::DashboardPlot); ++i) {
2576 const auto& yDataset = getDatasetWidget(SerialStudio::DashboardPlot, i);
2577
2578 if (useTimeXAxis(yDataset)) {
2579 const int cap = timeRingCapacity(m_plotTimeRange);
2580 m_plotTimeRings.insert(i, makeHistoryRing(m_plotTimeRange));
2581
2582 DSP::SweepEngine sweep;
2583 sweep.configure(1, cap, m_plotTimeRange);
2584 m_plotSweep.insert(i, std::move(sweep));
2585
2586 DSP::LineSeries series;
2587 series.x = &m_pltXAxis;
2588 series.y = &m_yAxisData[yDataset.uniqueId];
2589 m_pltValues.append(series);
2590 }
2591#ifdef BUILD_COMMERCIAL
2592 else if (const auto& tk2 = Licensing::CommercialToken::current();
2593 m_datasets.contains(yDataset.xAxisId) && tk2.isValid() && SS_LICENSE_GUARD()
2594 && tk2.featureTier() >= Licensing::FeatureTier::Trial) {
2595 DSP::LineSeries series;
2596 series.x = &m_xAxisData[yDataset.xAxisId];
2597 series.y = &m_yAxisData[yDataset.uniqueId];
2598 m_pltValues.append(series);
2599 }
2600#endif

Callers

nothing calls this directly

Calls 11

timeRingCapacityFunction · 0.85
makeHistoryRingFunction · 0.85
fillRangeMethod · 0.80
beginMethod · 0.80
featureTierMethod · 0.80
clearMethod · 0.45
valueMethod · 0.45
configureMethod · 0.45
appendMethod · 0.45
containsMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected