##// END OF EJS Templates
Add catalogue handling
Add catalogue handling

File last commit:

r1306:cd191f594800
r1330:4af886ed9de4
Show More
AxisRenderingUtils.h
44 lines | 1.4 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;
class Variable;
/// 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;
/// 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
virtual void setUnits(QCustomPlot &plot, SqpColorScale &colorScale) = 0;
};
struct IAxisHelperFactory {
/// Creates IPlottablesHelper according to the type of data series a variable holds
static std::unique_ptr<IAxisHelper> create(const Variable &variable) noexcept;
};
#endif // SCIQLOP_AXISRENDERINGUTILS_H