##// END OF EJS Templates
Fix bug when creating two variables crash the app. ...
Fix bug when creating two variables crash the app. Variable as now invalid range and cache range at creation

File last commit:

r512:d00d6fd96c10
r756:a7f60f6512e6
Show More
RescaleAxeOperation.h
42 lines | 1.3 KiB | text/x-c | CLexer
#ifndef SCIQLOP_RESCALEAXEOPERATION_H
#define SCIQLOP_RESCALEAXEOPERATION_H
#include "Visualization/IVisualizationWidgetVisitor.h"
#include <Data/SqpRange.h>
#include <Common/spimpl.h>
#include <QLoggingCategory>
#include <memory>
class Variable;
Q_DECLARE_LOGGING_CATEGORY(LOG_RescaleAxeOperation)
/**
* @brief The RescaleAxeOperation class defines an operation that traverses all of visualization
* widgets to remove a variable if they contain it
*/
class RescaleAxeOperation : public IVisualizationWidgetVisitor {
public:
/**
* Ctor
* @param variable the variable to remove from widgets
*/
explicit RescaleAxeOperation(std::shared_ptr<Variable> variable, const SqpRange &range);
void visitEnter(VisualizationWidget *widget) override final;
void visitLeave(VisualizationWidget *widget) override final;
void visitEnter(VisualizationTabWidget *tabWidget) override final;
void visitLeave(VisualizationTabWidget *tabWidget) override final;
void visitEnter(VisualizationZoneWidget *zoneWidget) override final;
void visitLeave(VisualizationZoneWidget *zoneWidget) override final;
void visit(VisualizationGraphWidget *graphWidget) override final;
private:
class RescaleAxeOperationPrivate;
spimpl::unique_impl_ptr<RescaleAxeOperationPrivate> impl;
};
#endif // SCIQLOP_RESCALEAXEOPERATION_H