diff --git a/src/JSON/Frame.cpp b/src/JSON/Frame.cpp index 8d335f10..79f10c01 100644 --- a/src/JSON/Frame.cpp +++ b/src/JSON/Frame.cpp @@ -73,7 +73,7 @@ int Frame::groupCount() const /** * Returns a vector of pointers to the @c Group objects associated to this frame. */ -QVector &Frame::groups() +QVector Frame::groups() const { return m_groups; } diff --git a/src/JSON/Frame.h b/src/JSON/Frame.h index 753db99e..a52ad61e 100644 --- a/src/JSON/Frame.h +++ b/src/JSON/Frame.h @@ -42,7 +42,7 @@ public: void clear(); QString title() const; int groupCount() const; - QVector &groups(); + QVector groups() const; bool read(const QJsonObject &object); Q_INVOKABLE Group *getGroup(const int index); diff --git a/src/UI/Dashboard.cpp b/src/UI/Dashboard.cpp index 0d1d3d7a..a507eb35 100644 --- a/src/UI/Dashboard.cpp +++ b/src/UI/Dashboard.cpp @@ -90,79 +90,57 @@ bool Dashboard::frameValid() const // Widget count functions //-------------------------------------------------------------------------------------------------- -int Dashboard::totalWidgetCount() +int Dashboard::totalWidgetCount() const { - return mapCount() + barCount() + plotCount() + gaugeCount() + groupCount() - + compassCount() + gyroscopeCount() + thermometerCount() + accelerometerCount(); + // clang-format off + const int count = mapCount() + + barCount() + + plotCount() + + gaugeCount() + + groupCount() + + compassCount() + + gyroscopeCount() + + thermometerCount() + + accelerometerCount(); + // clang-format on + + return count; } -int Dashboard::mapCount() -{ - return m_mapWidgets.count(); -} - -int Dashboard::barCount() -{ - return m_barWidgets.count(); -} - -int Dashboard::plotCount() -{ - return m_plotWidgets.count(); -} - -int Dashboard::gaugeCount() -{ - return m_gaugeWidgets.count(); -} - -int Dashboard::groupCount() -{ - return m_latestFrame.groupCount(); -} - -int Dashboard::compassCount() -{ - return m_compassWidgets.count(); -} - -int Dashboard::gyroscopeCount() -{ - return m_gyroscopeWidgets.count(); -} - -int Dashboard::thermometerCount() -{ - return m_thermometerWidgets.count(); -} - -int Dashboard::accelerometerCount() -{ - return m_accelerometerWidgets.count(); -} +// clang-format off +int Dashboard::mapCount() const { return m_mapWidgets.count(); } +int Dashboard::barCount() const { return m_barWidgets.count(); } +int Dashboard::plotCount() const { return m_plotWidgets.count(); } +int Dashboard::gaugeCount() const { return m_gaugeWidgets.count(); } +int Dashboard::groupCount() const { return m_latestFrame.groupCount(); } +int Dashboard::compassCount() const { return m_compassWidgets.count(); } +int Dashboard::gyroscopeCount() const { return m_gyroscopeWidgets.count(); } +int Dashboard::thermometerCount() const { return m_thermometerWidgets.count(); } +int Dashboard::accelerometerCount() const { return m_accelerometerWidgets.count(); } +// clang-format on //-------------------------------------------------------------------------------------------------- // Relative-to-global widget index utility functions //-------------------------------------------------------------------------------------------------- -QStringList Dashboard::widgetTitles() +QStringList Dashboard::widgetTitles() const { // Warning: maintain same order as the view option repeaters in ViewOptions.qml! // clang-format off return groupTitles() + - plotTitles() + - barTitles() + - gaugeTitles() + - thermometerTitles() + - compassTitles() + - gyroscopeTitles() + - accelerometerTitles() + - mapTitles(); + plotTitles() + + barTitles() + + gaugeTitles() + + thermometerTitles() + + compassTitles() + + gyroscopeTitles() + + accelerometerTitles() + + mapTitles(); // clang-format on } -int Dashboard::relativeIndex(const int globalIndex) +int Dashboard::relativeIndex(const int globalIndex) const { // // Warning: relative widget index should be calculated using the same order as defined @@ -218,7 +196,7 @@ int Dashboard::relativeIndex(const int globalIndex) return -1; } -bool Dashboard::widgetVisible(const int globalIndex) +bool Dashboard::widgetVisible(const int globalIndex) const { bool visible = false; auto index = relativeIndex(globalIndex); @@ -260,7 +238,7 @@ bool Dashboard::widgetVisible(const int globalIndex) return visible; } -QString Dashboard::widgetIcon(const int globalIndex) +QString Dashboard::widgetIcon(const int globalIndex) const { switch (widgetType(globalIndex)) { @@ -297,7 +275,7 @@ QString Dashboard::widgetIcon(const int globalIndex) } } -Dashboard::WidgetType Dashboard::widgetType(const int globalIndex) +Dashboard::WidgetType Dashboard::widgetType(const int globalIndex) const { // // Warning: relative widget index should be calculated using the same order as defined @@ -361,148 +339,49 @@ Dashboard::WidgetType Dashboard::widgetType(const int globalIndex) // Widget visibility access functions //-------------------------------------------------------------------------------------------------- -bool Dashboard::barVisible(const int index) -{ - return getVisibility(m_barVisibility, index); -} - -bool Dashboard::mapVisible(const int index) -{ - return getVisibility(m_mapVisibility, index); -} - -bool Dashboard::plotVisible(const int index) -{ - return getVisibility(m_plotVisibility, index); -} - -bool Dashboard::groupVisible(const int index) -{ - return getVisibility(m_groupVisibility, index); -} - -bool Dashboard::gaugeVisible(const int index) -{ - return getVisibility(m_gaugeVisibility, index); -} - -bool Dashboard::compassVisible(const int index) -{ - return getVisibility(m_compassVisibility, index); -} - -bool Dashboard::gyroscopeVisible(const int index) -{ - return getVisibility(m_gyroscopeVisibility, index); -} - -bool Dashboard::thermometerVisible(const int index) -{ - return getVisibility(m_thermometerVisibility, index); -} - -bool Dashboard::accelerometerVisible(const int index) -{ - return getVisibility(m_accelerometerVisibility, index); -} +// clang-format off +bool Dashboard::barVisible(const int index) const { return getVisibility(m_barVisibility, index); } +bool Dashboard::mapVisible(const int index) const { return getVisibility(m_mapVisibility, index); } +bool Dashboard::plotVisible(const int index) const { return getVisibility(m_plotVisibility, index); } +bool Dashboard::groupVisible(const int index) const { return getVisibility(m_groupVisibility, index); } +bool Dashboard::gaugeVisible(const int index) const { return getVisibility(m_gaugeVisibility, index); } +bool Dashboard::compassVisible(const int index) const { return getVisibility(m_compassVisibility, index); } +bool Dashboard::gyroscopeVisible(const int index) const { return getVisibility(m_gyroscopeVisibility, index); } +bool Dashboard::thermometerVisible(const int index) const { return getVisibility(m_thermometerVisibility, index); } +bool Dashboard::accelerometerVisible(const int index) const { return getVisibility(m_accelerometerVisibility, index); } +// clang-format on //-------------------------------------------------------------------------------------------------- // Widget title functions //-------------------------------------------------------------------------------------------------- -QStringList Dashboard::barTitles() -{ - return getDatasetTitles(m_barWidgets); -} - -QStringList Dashboard::mapTitles() -{ - return getGroupTitles(m_mapWidgets); -} - -QStringList Dashboard::plotTitles() -{ - return getDatasetTitles(m_plotWidgets); -} - -QStringList Dashboard::groupTitles() -{ - return getGroupTitles(m_latestFrame.groups()); -} - -QStringList Dashboard::gaugeTitles() -{ - return getDatasetTitles(m_gaugeWidgets); -} - -QStringList Dashboard::compassTitles() -{ - return getDatasetTitles(m_compassWidgets); -} - -QStringList Dashboard::gyroscopeTitles() -{ - return getGroupTitles(m_gyroscopeWidgets); -} - -QStringList Dashboard::thermometerTitles() -{ - return getDatasetTitles(m_thermometerWidgets); -} - -QStringList Dashboard::accelerometerTitles() -{ - return getGroupTitles(m_accelerometerWidgets); -} +// clang-format off +QStringList Dashboard::barTitles() const { return datasetTitles(m_barWidgets); } +QStringList Dashboard::mapTitles() const { return groupTitles(m_mapWidgets); } +QStringList Dashboard::plotTitles() const { return datasetTitles(m_plotWidgets); } +QStringList Dashboard::groupTitles() const { return groupTitles(m_latestFrame.groups()); } +QStringList Dashboard::gaugeTitles() const { return datasetTitles(m_gaugeWidgets); } +QStringList Dashboard::compassTitles() const { return datasetTitles(m_compassWidgets); } +QStringList Dashboard::gyroscopeTitles() const { return groupTitles(m_gyroscopeWidgets); } +QStringList Dashboard::thermometerTitles() const { return datasetTitles(m_thermometerWidgets); } +QStringList Dashboard::accelerometerTitles() const { return groupTitles(m_accelerometerWidgets); } +// clang-format on //-------------------------------------------------------------------------------------------------- // Visibility-related slots //-------------------------------------------------------------------------------------------------- -void Dashboard::setBarVisible(const int index, const bool visible) -{ - setVisibility(m_barVisibility, index, visible); -} - -void Dashboard::setMapVisible(const int index, const bool visible) -{ - setVisibility(m_mapVisibility, index, visible); -} - -void Dashboard::setPlotVisible(const int index, const bool visible) -{ - setVisibility(m_plotVisibility, index, visible); -} - -void Dashboard::setGroupVisible(const int index, const bool visible) -{ - setVisibility(m_groupVisibility, index, visible); -} - -void Dashboard::setGaugeVisible(const int index, const bool visible) -{ - setVisibility(m_gaugeVisibility, index, visible); -} - -void Dashboard::setCompassVisible(const int index, const bool visible) -{ - setVisibility(m_compassVisibility, index, visible); -} - -void Dashboard::setGyroscopeVisible(const int index, const bool visible) -{ - setVisibility(m_gyroscopeVisibility, index, visible); -} - -void Dashboard::setThermometerVisible(const int index, const bool visible) -{ - setVisibility(m_thermometerVisibility, index, visible); -} - -void Dashboard::setAccelerometerVisible(const int index, const bool visible) -{ - setVisibility(m_accelerometerVisibility, index, visible); -} +// clang-format off +void Dashboard::setBarVisible(const int i, const bool v) { setVisibility(m_barVisibility, i, v); } +void Dashboard::setMapVisible(const int i, const bool v) { setVisibility(m_mapVisibility, i, v); } +void Dashboard::setPlotVisible(const int i, const bool v) { setVisibility(m_plotVisibility, i, v); } +void Dashboard::setGroupVisible(const int i, const bool v) { setVisibility(m_groupVisibility, i, v); } +void Dashboard::setGaugeVisible(const int i, const bool v) { setVisibility(m_gaugeVisibility, i, v); } +void Dashboard::setCompassVisible(const int i, const bool v) { setVisibility(m_compassVisibility, i, v); } +void Dashboard::setGyroscopeVisible(const int i, const bool v) { setVisibility(m_gyroscopeVisibility, i, v); } +void Dashboard::setThermometerVisible(const int i, const bool v) { setVisibility(m_thermometerVisibility, i, v); } +void Dashboard::setAccelerometerVisible(const int i, const bool v) { setVisibility(m_accelerometerVisibility, i, v); } +// clang-format on //-------------------------------------------------------------------------------------------------- // Frame data handling slots @@ -661,10 +540,10 @@ void Dashboard::selectLatestJSON(const JFI_Object &frameInfo) } //-------------------------------------------------------------------------------------------------- -// Widget discovery functions +// Widget utility functions //-------------------------------------------------------------------------------------------------- -QVector Dashboard::getPlotWidgets() +QVector Dashboard::getPlotWidgets() const { QVector widgets; foreach (auto group, m_latestFrame.groups()) @@ -679,7 +558,7 @@ QVector Dashboard::getPlotWidgets() return widgets; } -QVector Dashboard::getWidgetGroups(const QString &handle) +QVector Dashboard::getWidgetGroups(const QString &handle) const { QVector widgets; foreach (auto group, m_latestFrame.groups()) @@ -691,7 +570,7 @@ QVector Dashboard::getWidgetGroups(const QString &handle) return widgets; } -QVector Dashboard::getWidgetDatasets(const QString &handle) +QVector Dashboard::getWidgetDatasets(const QString &handle) const { QVector widgets; foreach (auto group, m_latestFrame.groups()) @@ -706,7 +585,7 @@ QVector Dashboard::getWidgetDatasets(const QString &handle) return widgets; } -QStringList Dashboard::getDatasetTitles(QVector &vector) +QStringList Dashboard::datasetTitles(const QVector &vector) const { QStringList list; foreach (auto set, vector) @@ -715,7 +594,7 @@ QStringList Dashboard::getDatasetTitles(QVector &vector) return list; } -QStringList Dashboard::getGroupTitles(QVector &vector) +QStringList Dashboard::groupTitles(const QVector &vector) const { QStringList list; foreach (auto group, vector) @@ -724,10 +603,10 @@ QStringList Dashboard::getGroupTitles(QVector &vector) return list; } -bool Dashboard::getVisibility(QVector &vector, const int index) +bool Dashboard::getVisibility(const QVector &vector, const int index) const { if (index < vector.count()) - return vector.at(index); + return vector[index]; return false; } @@ -736,7 +615,7 @@ void Dashboard::setVisibility(QVector &vector, const int index, const bool { if (index < vector.count()) { - vector.replace(index, visible); + vector[index] = visible; emit widgetVisibilityChanged(); } } diff --git a/src/UI/Dashboard.h b/src/UI/Dashboard.h index c01ebf7f..eb0779a4 100644 --- a/src/UI/Dashboard.h +++ b/src/UI/Dashboard.h @@ -99,45 +99,43 @@ public: QString title(); bool available(); - int totalWidgetCount(); - - int mapCount(); - int barCount(); - int plotCount(); - int groupCount(); - int gaugeCount(); - int compassCount(); - int gyroscopeCount(); - int thermometerCount(); - int accelerometerCount(); - - QStringList widgetTitles(); - int relativeIndex(const int globalIndex); - bool widgetVisible(const int globalIndex); - QString widgetIcon(const int globalIndex); - WidgetType widgetType(const int globalIndex); - - bool barVisible(const int index); - bool mapVisible(const int index); - bool plotVisible(const int index); - bool groupVisible(const int index); - bool gaugeVisible(const int index); - bool compassVisible(const int index); - bool gyroscopeVisible(const int index); - bool thermometerVisible(const int index); - bool accelerometerVisible(const int index); - - Q_INVOKABLE QStringList barTitles(); - Q_INVOKABLE QStringList mapTitles(); - Q_INVOKABLE QStringList plotTitles(); - Q_INVOKABLE QStringList groupTitles(); - Q_INVOKABLE QStringList gaugeTitles(); - Q_INVOKABLE QStringList compassTitles(); - Q_INVOKABLE QStringList gyroscopeTitles(); - Q_INVOKABLE QStringList thermometerTitles(); - Q_INVOKABLE QStringList accelerometerTitles(); + int totalWidgetCount() const; + int mapCount() const; + int barCount() const; + int plotCount() const; + int groupCount() const; + int gaugeCount() const; + int compassCount() const; + int gyroscopeCount() const; + int thermometerCount() const; + int accelerometerCount() const; Q_INVOKABLE bool frameValid() const; + Q_INVOKABLE QStringList widgetTitles() const; + Q_INVOKABLE int relativeIndex(const int globalIndex) const; + Q_INVOKABLE bool widgetVisible(const int globalIndex) const; + Q_INVOKABLE QString widgetIcon(const int globalIndex) const; + Q_INVOKABLE WidgetType widgetType(const int globalIndex) const; + + Q_INVOKABLE bool barVisible(const int index) const; + Q_INVOKABLE bool mapVisible(const int index) const; + Q_INVOKABLE bool plotVisible(const int index) const; + Q_INVOKABLE bool groupVisible(const int index) const; + Q_INVOKABLE bool gaugeVisible(const int index) const; + Q_INVOKABLE bool compassVisible(const int index) const; + Q_INVOKABLE bool gyroscopeVisible(const int index) const; + Q_INVOKABLE bool thermometerVisible(const int index) const; + Q_INVOKABLE bool accelerometerVisible(const int index) const; + + Q_INVOKABLE QStringList barTitles() const; + Q_INVOKABLE QStringList mapTitles() const; + Q_INVOKABLE QStringList plotTitles() const; + Q_INVOKABLE QStringList groupTitles() const; + Q_INVOKABLE QStringList gaugeTitles() const; + Q_INVOKABLE QStringList compassTitles() const; + Q_INVOKABLE QStringList gyroscopeTitles() const; + Q_INVOKABLE QStringList thermometerTitles() const; + Q_INVOKABLE QStringList accelerometerTitles() const; public slots: void setBarVisible(const int index, const bool visible); @@ -158,14 +156,14 @@ private slots: private: Dashboard(); - QVector getPlotWidgets(); - QVector getWidgetGroups(const QString &handle); - QVector getWidgetDatasets(const QString &handle); + QVector getPlotWidgets() const; + QVector getWidgetGroups(const QString &handle) const; + QVector getWidgetDatasets(const QString &handle) const; - QStringList getGroupTitles(QVector &vector); - QStringList getDatasetTitles(QVector &vector); + QStringList groupTitles(const QVector &vector) const; + QStringList datasetTitles(const QVector &vector) const; - bool getVisibility(QVector &vector, const int index); + bool getVisibility(const QVector &vector, const int index) const; void setVisibility(QVector &vector, const int index, const bool visible); private: