##// END OF EJS Templates
Change SqpRange for SqpDateTime
Change SqpRange for SqpDateTime

File last commit:

r471:d00d6fd96c10
r471:d00d6fd96c10
Show More
VisualizationController.h
51 lines | 1.5 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VISUALIZATIONCONTROLLER_H
#define SCIQLOP_VISUALIZATIONCONTROLLER_H
#include "CoreGlobal.h"
#include <Data/SqpRange.h>
#include <QLoggingCategory>
#include <QObject>
#include <QUuid>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationController)
class DataSourceItem;
class Variable;
/**
* @brief The VisualizationController class aims to make the link between SciQlop and its plugins.
* This is the intermediate class that SciQlop has to use in the way to connect a data source.
* Please first use register method to initialize a plugin specified by its metadata name (JSON
* plugin source) then others specifics method will be able to access it. You can load a data source
* driver plugin then create a data source.
*/
class SCIQLOP_CORE_EXPORT VisualizationController : public QObject {
Q_OBJECT
public:
explicit VisualizationController(QObject *parent = 0);
virtual ~VisualizationController();
signals:
/// Signal emitted when a variable is about to be deleted from SciQlop
void variableAboutToBeDeleted(std::shared_ptr<Variable> variable);
/// Signal emitted when a data acquisition is requested on a range for a variable
void rangeChanged(std::shared_ptr<Variable> variable, const SqpRange &range);
public slots:
/// Manage init/end of the controller
void initialize();
void finalize();
private:
void waitForFinish();
class VisualizationControllerPrivate;
spimpl::unique_impl_ptr<VisualizationControllerPrivate> impl;
};
#endif // SCIQLOP_VISUALIZATIONCONTROLLER_H