FindVariableOperation.h
42 lines
| 1.4 KiB
| text/x-c
|
CLexer
Alexandre Leroux
|
r735 | #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 | ||||