diff --git a/gui/include/Visualization/AxisRenderingUtils.h b/gui/include/Visualization/AxisRenderingUtils.h index 211c0c0..29fc11e 100644 --- a/gui/include/Visualization/AxisRenderingUtils.h +++ b/gui/include/Visualization/AxisRenderingUtils.h @@ -10,8 +10,8 @@ Q_DECLARE_LOGGING_CATEGORY(LOG_AxisRenderingUtils) class IDataSeries; class QCPAxis; -class QCPColorScale; class QCustomPlot; +class SqpColorScale; /// Formats a data value according to the axis on which it is present QString formatValue(double value, const QCPAxis &axis); @@ -26,7 +26,7 @@ struct IAxisHelper { /// parameters /// @param plot the plot for which to set axe properties /// @param colorScale the color scale for which to set properties - virtual void setProperties(QCustomPlot &plot, QCPColorScale &colorScale) = 0; + virtual void setProperties(QCustomPlot &plot, SqpColorScale &colorScale) = 0; }; struct IAxisHelperFactory { diff --git a/gui/src/Visualization/AxisRenderingUtils.cpp b/gui/src/Visualization/AxisRenderingUtils.cpp index 9c9d6ea..03b9811 100644 --- a/gui/src/Visualization/AxisRenderingUtils.cpp +++ b/gui/src/Visualization/AxisRenderingUtils.cpp @@ -4,6 +4,7 @@ #include #include +#include #include Q_LOGGING_CATEGORY(LOG_AxisRenderingUtils, "AxisRenderingUtils") @@ -64,7 +65,7 @@ void setAxisProperties(QCPAxis &axis, const Unit &unit, */ template struct AxisSetter { - static void setProperties(T &, QCustomPlot &, QCPColorScale &) + static void setProperties(T &, QCustomPlot &, SqpColorScale &) { // Default implementation does nothing qCCritical(LOG_AxisRenderingUtils()) << "Can't set axis properties: unmanaged type of data"; @@ -79,7 +80,7 @@ struct AxisSetter { template struct AxisSetter::value or std::is_base_of::value> > { - static void setProperties(T &dataSeries, QCustomPlot &plot, QCPColorScale &) + static void setProperties(T &dataSeries, QCustomPlot &plot, SqpColorScale &) { dataSeries.lockRead(); auto xAxisUnit = dataSeries.xAxisUnit(); @@ -97,7 +98,7 @@ struct AxisSetter: */ template struct AxisSetter::value> > { - static void setProperties(T &dataSeries, QCustomPlot &plot, QCPColorScale &colorScale) + static void setProperties(T &dataSeries, QCustomPlot &plot, SqpColorScale &colorScale) { dataSeries.lockRead(); auto xAxisUnit = dataSeries.xAxisUnit(); @@ -110,20 +111,18 @@ struct AxisSetterinsertRow(0); - plot.plotLayout()->addElement(0, 0, &colorScale); - colorScale.setType(QCPAxis::atTop); - colorScale.setMinimumMargins(QMargins{0, 0, 0, 0}); + plot.plotLayout()->addElement(0, 0, colorScale.m_Scale); + colorScale.m_Scale->setType(QCPAxis::atTop); + colorScale.m_Scale->setMinimumMargins(QMargins{0, 0, 0, 0}); // Aligns color scale with axes auto marginGroups = plot.axisRect()->marginGroups(); for (auto it = marginGroups.begin(), end = marginGroups.end(); it != end; ++it) { - colorScale.setMarginGroup(it.key(), it.value()); + colorScale.m_Scale->setMarginGroup(it.key(), it.value()); } // Set color scale properties - setAxisProperties(*colorScale.axis(), valuesUnit, QCPAxis::stLogarithmic); - /// @todo ALX: temp data range, remove it when widget to set data range is implemented - colorScale.setDataRange(QCPRange{8.32e2, 1.77e7}); + setAxisProperties(*colorScale.m_Scale->axis(), valuesUnit, QCPAxis::stLogarithmic); } }; @@ -135,7 +134,7 @@ template struct AxisHelper : public IAxisHelper { explicit AxisHelper(T &dataSeries) : m_DataSeries{dataSeries} {} - void setProperties(QCustomPlot &plot, QCPColorScale &colorScale) override + void setProperties(QCustomPlot &plot, SqpColorScale &colorScale) override { AxisSetter::setProperties(m_DataSeries, plot, colorScale); } diff --git a/gui/src/Visualization/PlottablesRenderingUtils.cpp b/gui/src/Visualization/PlottablesRenderingUtils.cpp index 0962b80..e326eb1 100644 --- a/gui/src/Visualization/PlottablesRenderingUtils.cpp +++ b/gui/src/Visualization/PlottablesRenderingUtils.cpp @@ -12,9 +12,6 @@ Q_LOGGING_CATEGORY(LOG_PlottablesRenderingUtils, "PlottablesRenderingUtils") namespace { -/// Default gradient used for colormap -const auto DEFAULT_COLORMAP_GRADIENT = QCPColorGradient::gpJet; - /** * Delegate used to set plottables properties */ @@ -81,8 +78,6 @@ struct PlottablesSettersetGradient(DEFAULT_COLORMAP_GRADIENT); colormap->rescaleDataRange(); } else { diff --git a/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp b/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp index 6bf0c1e..abb5f53 100644 --- a/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp +++ b/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp @@ -2,6 +2,7 @@ #include "Visualization/AxisRenderingUtils.h" #include "Visualization/ColorScaleEditor.h" #include "Visualization/PlottablesRenderingUtils.h" +#include "Visualization/SqpColorScale.h" #include "Visualization/VisualizationGraphWidget.h" #include "Visualization/qcustomplot.h" @@ -103,7 +104,7 @@ struct VisualizationGraphRenderingDelegate::VisualizationGraphRenderingDelegateP m_XAxisPixmap{new QCPItemPixmap{&m_Plot}}, m_ShowXAxis{true}, m_XAxisLabel{}, - m_ColorScale{new QCPColorScale{&m_Plot}} + m_ColorScale{SqpColorScale{m_Plot}} { initPointTracerStyle(*m_PointTracer); @@ -164,7 +165,7 @@ struct VisualizationGraphRenderingDelegate::VisualizationGraphRenderingDelegateP QCPItemPixmap *m_XAxisPixmap; bool m_ShowXAxis; /// X-axis properties are shown or hidden QString m_XAxisLabel; - QCPColorScale *m_ColorScale; /// Color scale used for some types of graphs (as spectrograms) + SqpColorScale m_ColorScale; /// Color scale used for some types of graphs (as spectrograms) }; VisualizationGraphRenderingDelegate::VisualizationGraphRenderingDelegate( @@ -232,7 +233,7 @@ void VisualizationGraphRenderingDelegate::setAxesProperties( impl->m_XAxisLabel = dataSeries->xAxisUnit().m_Name; auto axisHelper = IAxisHelperFactory::create(dataSeries); - axisHelper->setProperties(impl->m_Plot, *impl->m_ColorScale); + axisHelper->setProperties(impl->m_Plot, impl->m_ColorScale); // Updates x-axis state impl->updateXAxisState();