VisualizationController.h
53 lines
| 1.6 KiB
| text/x-c
|
CLexer
r0 | #ifndef SCIQLOP_VISUALIZATIONCONTROLLER_H | |||
#define SCIQLOP_VISUALIZATIONCONTROLLER_H | ||||
#include "CoreGlobal.h" | ||||
r70 | #include <Common/spimpl.h> | |||
r0 | #include <Data/DateTimeRange.h> | |||
#include <QLoggingCategory> | ||||
#include <QObject> | ||||
#include <QUuid> | ||||
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationController) | ||||
class DataSourceItem; | ||||
r70 | class Variable2; | |||
r0 | ||||
/** | ||||
r70 | * @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 | ||||
r0 | * driver plugin then create a data source. | |||
*/ | ||||
r70 | class SCIQLOP_CORE_EXPORT VisualizationController : public QObject | |||
{ | ||||
Q_OBJECT | ||||
r0 | public: | |||
r70 | explicit VisualizationController(QObject* parent = 0); | |||
virtual ~VisualizationController(); | ||||
r0 | ||||
signals: | ||||
r70 | /// Signal emitted when a variable is about to be deleted from SciQlop | |||
void variableAboutToBeDeleted(std::shared_ptr<Variable2> variable); | ||||
r0 | ||||
r70 | /// Signal emitted when a data acquisition is requested on a range for a | |||
/// variable | ||||
void rangeChanged(std::shared_ptr<Variable2> variable, | ||||
const DateTimeRange& range); | ||||
r0 | ||||
public slots: | ||||
r70 | /// Manage init/end of the controller | |||
void initialize(); | ||||
void finalize(); | ||||
r0 | ||||
private: | ||||
r70 | void waitForFinish(); | |||
r0 | ||||
r70 | class VisualizationControllerPrivate; | |||
spimpl::unique_impl_ptr<VisualizationControllerPrivate> impl; | ||||
r0 | }; | |||
#endif // SCIQLOP_VISUALIZATIONCONTROLLER_H | ||||