##// END OF EJS Templates
Adds the ability to force an acquisition pending for an operation (1)...
Adds the ability to force an acquisition pending for an operation (1) Creates struct that contains operation properties: - its weight - the flag to force acquisition waiting

File last commit:

r736:bca343a0ae6b
r1249:b9a47ff1b9cc
Show More
GenerateVariableMenuOperation.h
48 lines | 1.8 KiB | text/x-c | CLexer
/ gui / include / Visualization / operations / GenerateVariableMenuOperation.h
#ifndef SCIQLOP_GENERATEVARIABLEMENUOPERATION_H
#define SCIQLOP_GENERATEVARIABLEMENUOPERATION_H
#include "Visualization/IVisualizationWidgetVisitor.h"
#include <Common/spimpl.h>
#include <QLoggingCategory>
#include <set>
class QMenu;
class IVisualizationWidget;
class Variable;
Q_DECLARE_LOGGING_CATEGORY(LOG_GenerateVariableMenuOperation)
/**
* @brief The GenerateVariableMenuOperation class defines an operation that traverses all of
* visualization widgets to determine which can accommodate a variable. The result of the operation
* is a menu that contains actions to add the variable into the containers.
*/
class GenerateVariableMenuOperation : public IVisualizationWidgetVisitor {
public:
/**
* Ctor
* @param menu the menu to which to attach the generated menu
* @param variable the variable for which to generate the menu
* @param variableContainers the containers that already contain the variable for which to
* generate the menu
*/
explicit GenerateVariableMenuOperation(QMenu *menu, std::shared_ptr<Variable> variable,
std::set<IVisualizationWidget *> variableContainers);
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 GenerateVariableMenuOperationPrivate;
spimpl::unique_impl_ptr<GenerateVariableMenuOperationPrivate> impl;
};
#endif // SCIQLOP_GENERATEVARIABLEMENUOPERATION_H