AxisRenderingUtils.h
46 lines
| 1.4 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; | ||
r1420 | class Variable2; | |||
Alexandre Leroux
|
r915 | |||
Alexandre Leroux
|
r916 | /// Formats a data value according to the axis on which it is present | ||
r1420 | QString formatValue(double value, const QCPAxis& axis); | |||
Alexandre Leroux
|
r916 | |||
Alexandre Leroux
|
r915 | /** | ||
* Helper used to handle axes rendering | ||||
*/ | ||||
r1420 | struct IAxisHelper | |||
{ | ||||
Alexandre Leroux
|
r915 | 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 | ||||
r1420 | virtual void setProperties(QCustomPlot& plot, SqpColorScale& colorScale) = 0; | |||
Alexandre Leroux
|
r1281 | |||
/// Set the units of the plot's axes and the color scale associated to plot passed as | ||||
/// parameters | ||||
/// @param plot the plot for which to set axe units | ||||
/// @param colorScale the color scale for which to set unit | ||||
r1420 | virtual void setUnits(QCustomPlot& plot, SqpColorScale& colorScale) = 0; | |||
Alexandre Leroux
|
r915 | }; | ||
r1420 | struct IAxisHelperFactory | |||
{ | ||||
Alexandre Leroux
|
r1281 | /// Creates IPlottablesHelper according to the type of data series a variable holds | ||
r1420 | static std::unique_ptr<IAxisHelper> create(Variable2& variable) noexcept; | |||
Alexandre Leroux
|
r915 | }; | ||
#endif // SCIQLOP_AXISRENDERINGUTILS_H | ||||