##// END OF EJS Templates
Separate the initialization of the properties of the graph of the update of the units of the graph....
Separate the initialization of the properties of the graph of the update of the units of the graph. The initialization of the properties is carried out when adding a variable in the graph, the update of the units is carried out when loading the data of this variable

File last commit:

r1335:89a3f92d2fbb
r1337:3acf26407503
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