AxisRenderingUtils.h
37 lines
| 1.1 KiB
| text/x-c
|
CLexer
Alexandre Leroux
|
r915 | #ifndef SCIQLOP_AXISRENDERINGUTILS_H | ||
#define SCIQLOP_AXISRENDERINGUTILS_H | ||||
#include <memory> | ||||
Alexandre Leroux
|
r928 | #include <QtCore/QLoggingCategory> | ||
Alexandre Leroux
|
r915 | #include <QtCore/QString> | ||
Alexandre Leroux
|
r928 | Q_DECLARE_LOGGING_CATEGORY(LOG_AxisRenderingUtils) | ||
Alexandre Leroux
|
r915 | class IDataSeries; | ||
class QCPAxis; | ||||
class QCustomPlot; | ||||
Alexandre Leroux
|
r1009 | class SqpColorScale; | ||
Alexandre Leroux
|
r915 | |||
Alexandre Leroux
|
r916 | /// Formats a data value according to the axis on which it is present | ||
QString formatValue(double value, const QCPAxis &axis); | ||||
Alexandre Leroux
|
r915 | /** | ||
* Helper used to handle axes rendering | ||||
*/ | ||||
struct IAxisHelper { | ||||
virtual ~IAxisHelper() noexcept = default; | ||||
/// Set properties of the plot's axes and the color scale associated to plot passed as | ||||
/// parameters | ||||
/// @param plot the plot for which to set axe properties | ||||
/// @param colorScale the color scale for which to set properties | ||||
Alexandre Leroux
|
r1009 | virtual void setProperties(QCustomPlot &plot, SqpColorScale &colorScale) = 0; | ||
Alexandre Leroux
|
r915 | }; | ||
struct IAxisHelperFactory { | ||||
/// Creates IAxisHelper according to a data series | ||||
static std::unique_ptr<IAxisHelper> create(std::shared_ptr<IDataSeries> dataSeries) noexcept; | ||||
}; | ||||
#endif // SCIQLOP_AXISRENDERINGUTILS_H | ||||