##// END OF EJS Templates
Completes visit of tab and zone...
Completes visit of tab and zone For a tab or a zone that can drops the variable, we add an action to its menu, of type "Open in new..." For example, for a tab, the new action action will be "Open in new zone". The action is separated to other actions in the menu

File last commit:

r193:3a849a66be09
r214:aa91a995c6e9
Show More
VariableController.h
51 lines | 1.3 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VARIABLECONTROLLER_H
#define SCIQLOP_VARIABLECONTROLLER_H
#include <QLoggingCategory>
#include <QObject>
#include <Common/spimpl.h>
class IDataProvider;
class TimeController;
class Variable;
class VariableModel;
Q_DECLARE_LOGGING_CATEGORY(LOG_VariableController)
/**
* @brief The VariableController class aims to handle the variables in SciQlop.
*/
class VariableController : public QObject {
Q_OBJECT
public:
explicit VariableController(QObject *parent = 0);
virtual ~VariableController();
VariableModel *variableModel() noexcept;
void setTimeController(TimeController *timeController) noexcept;
signals:
/// Signal emitted when a variable has been created
void variableCreated(std::shared_ptr<Variable> variable);
public slots:
/**
* Creates a new variable and adds it to the model
* @param name the name of the new variable
* @param provider the data provider for the new variable
*/
void createVariable(const QString &name, std::shared_ptr<IDataProvider> provider) noexcept;
void initialize();
void finalize();
private:
void waitForFinish();
class VariableControllerPrivate;
spimpl::unique_impl_ptr<VariableControllerPrivate> impl;
};
#endif // SCIQLOP_VARIABLECONTROLLER_H