##// END OF EJS Templates
Display catalogues and events with CatalogueAPI
Display catalogues and events with CatalogueAPI

File last commit:

r730:2d96f9af06b9
r1162:9abcd350a712
Show More
QCustomPlotSynchronizer.cpp
30 lines | 1016 B | text/x-c | CppLexer
/ gui / src / Visualization / QCustomPlotSynchronizer.cpp
Alexandre Leroux
Sets sames margin sides for graphs in a same zone
r730 #include "Visualization/QCustomPlotSynchronizer.h"
#include "Visualization/VisualizationGraphWidget.h"
#include "Visualization/qcustomplot.h"
struct QCustomPlotSynchronizer::QCustomPlotSynchronizerPrivate {
explicit QCustomPlotSynchronizerPrivate()
: m_MarginGroup{std::make_unique<QCPMarginGroup>(nullptr)}
{
}
/// Sets the same margin sides for all added plot elements
std::unique_ptr<QCPMarginGroup> m_MarginGroup;
};
QCustomPlotSynchronizer::QCustomPlotSynchronizer()
: impl{spimpl::make_unique_impl<QCustomPlotSynchronizerPrivate>()}
{
}
void QCustomPlotSynchronizer::addGraph(VisualizationGraphWidget &graph) const
{
// Adds all plot elements of the graph to the margin group: all these elements will then have
// the same margin sides
auto &plot = graph.plot();
for (auto axisRect : plot.axisRects()) {
// Sames margin sides at left and right
axisRect->setMarginGroup(QCP::msLeft | QCP::msRight, impl->m_MarginGroup.get());
}
}