##// END OF EJS Templates
Prohibits the plot of a variable in several graphs (2)...
Prohibits the plot of a variable in several graphs (2) Uses previous operation to not generate 'plot' menu if the variable is already displayed

File last commit:

r471:d00d6fd96c10
r675:bca343a0ae6b
Show More
RescaleAxeOperation.cpp
69 lines | 2.1 KiB | text/x-c | CppLexer
#include "Visualization/operations/RescaleAxeOperation.h"
#include "Visualization/VisualizationGraphWidget.h"
Q_LOGGING_CATEGORY(LOG_RescaleAxeOperation, "RescaleAxeOperation")
struct RescaleAxeOperation::RescaleAxeOperationPrivate {
explicit RescaleAxeOperationPrivate(std::shared_ptr<Variable> variable, const SqpRange &range)
: m_Variable{variable}, m_Range{range}
{
}
std::shared_ptr<Variable> m_Variable;
SqpRange m_Range;
};
RescaleAxeOperation::RescaleAxeOperation(std::shared_ptr<Variable> variable, const SqpRange &range)
: impl{spimpl::make_unique_impl<RescaleAxeOperationPrivate>(variable, range)}
{
}
void RescaleAxeOperation::visitEnter(VisualizationWidget *widget)
{
// VisualizationWidget is not intended to contain a variable
Q_UNUSED(widget)
}
void RescaleAxeOperation::visitLeave(VisualizationWidget *widget)
{
// VisualizationWidget is not intended to contain a variable
Q_UNUSED(widget)
}
void RescaleAxeOperation::visitEnter(VisualizationTabWidget *tabWidget)
{
// VisualizationTabWidget is not intended to contain a variable
Q_UNUSED(tabWidget)
}
void RescaleAxeOperation::visitLeave(VisualizationTabWidget *tabWidget)
{
// VisualizationTabWidget is not intended to contain a variable
Q_UNUSED(tabWidget)
}
void RescaleAxeOperation::visitEnter(VisualizationZoneWidget *zoneWidget)
{
// VisualizationZoneWidget is not intended to contain a variable
Q_UNUSED(zoneWidget)
}
void RescaleAxeOperation::visitLeave(VisualizationZoneWidget *zoneWidget)
{
// VisualizationZoneWidget is not intended to contain a variable
Q_UNUSED(zoneWidget)
}
void RescaleAxeOperation::visit(VisualizationGraphWidget *graphWidget)
{
if (graphWidget) {
// If the widget contains the variable, rescale it
if (impl->m_Variable && graphWidget->contains(*impl->m_Variable)) {
graphWidget->setRange(impl->m_Variable, impl->m_Range);
}
}
else {
qCCritical(LOG_RescaleAxeOperation(),
"Can't visit VisualizationGraphWidget : the widget is null");
}
}