##// 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:

r735:4f6deb054427
r756:a7f60f6512e6
Show More
FindVariableOperation.h
42 lines | 1.4 KiB | text/x-c | CLexer
#ifndef SCIQLOP_FINDVARIABLEOPERATION_H
#define SCIQLOP_FINDVARIABLEOPERATION_H
#include "Visualization/IVisualizationWidgetVisitor.h"
#include <Common/spimpl.h>
#include <set>
class IVisualizationWidget;
class Variable;
/**
* @brief The FindVariableOperation class defines an operation that traverses all of visualization
* widgets to determine which ones contain the variable passed as parameter. The result of the
* operation is the list of widgets that contain the variable.
*/
class FindVariableOperation : public IVisualizationWidgetVisitor {
public:
/**
* Ctor
* @param variable the variable to find
*/
explicit FindVariableOperation(std::shared_ptr<Variable> variable);
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;
/// @return the widgets that contain the variable
std::set<IVisualizationWidget *> result() const noexcept;
private:
class FindVariableOperationPrivate;
spimpl::unique_impl_ptr<FindVariableOperationPrivate> impl;
};
#endif // SCIQLOP_FINDVARIABLEOPERATION_H