##// END OF EJS Templates
Refactoring of catalogue: use a custom item class
Refactoring of catalogue: use a custom item class

File last commit:

r1050:761051f0c06c
r1284:6059a4da3f90
Show More
AxisRenderingUtils.h
37 lines | 1.1 KiB | text/x-c | CLexer
#ifndef SCIQLOP_AXISRENDERINGUTILS_H
#define SCIQLOP_AXISRENDERINGUTILS_H
#include <memory>
#include <QtCore/QLoggingCategory>
#include <QtCore/QString>
Q_DECLARE_LOGGING_CATEGORY(LOG_AxisRenderingUtils)
class IDataSeries;
class QCPAxis;
class QCustomPlot;
class SqpColorScale;
/// Formats a data value according to the axis on which it is present
QString formatValue(double value, const QCPAxis &axis);
/**
* 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
virtual void setProperties(QCustomPlot &plot, SqpColorScale &colorScale) = 0;
};
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