##// END OF EJS Templates
Parser refactoring (3)...
Parser refactoring (3) Implements properties reading and properties checking Implementation takes some of the basic parser, which will be deleted at the end

File last commit:

r735:4f6deb054427
r946:49134789d5f3
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