##// END OF EJS Templates
Removed interaction handling in QCP since they are implemented in...
Removed interaction handling in QCP since they are implemented in SciQLop Before the wheel interaction was done multiple times on QCP side first then on SciQLop side. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1348:ea7d1a66f4ab
r1358:48660d9880a2
Show More
SqpApplication.h
76 lines | 2.6 KiB | text/x-c | CLexer
#ifndef SCIQLOP_SQPAPPLICATION_H
#define SCIQLOP_SQPAPPLICATION_H
#include "SqpApplication.h"
#include <QApplication>
#include <QLoggingCategory>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_SqpApplication)
#if defined(sqpApp)
#undef sqpApp
#endif
#define sqpApp (static_cast<SqpApplication *>(QCoreApplication::instance()))
class DataSourceController;
class NetworkController;
class TimeController;
class VariableController;
class VariableController2;
class VariableModel2;
class VisualizationController;
class DragDropGuiController;
class ActionsGuiController;
class CatalogueController;
/**
* @brief The SqpApplication 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 load 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 SqpApplication : public QApplication {
Q_OBJECT
public:
explicit SqpApplication(int &argc, char **argv);
~SqpApplication() override;
void initialize();
/// Accessors for the differents sciqlop controllers
DataSourceController &dataSourceController() noexcept;
NetworkController &networkController() noexcept;
TimeController &timeController() noexcept;
VariableController2 &variableController() noexcept;
std::shared_ptr<VariableController2> variableControllerOwner() noexcept;
//@TODO there should not be any global model it's just GUI impl detail
// VariableModel2 &variableModel() noexcept;
VisualizationController &visualizationController() noexcept;
CatalogueController &catalogueController() noexcept;
/// Accessors for the differents sciqlop helpers, these helpers classes are like controllers but
/// doesn't live in a thread and access gui
DragDropGuiController &dragDropGuiController() noexcept;
ActionsGuiController &actionsGuiController() noexcept;
enum class PlotsInteractionMode { None, ZoomBox, DragAndDrop, SelectionZones };
enum class PlotsCursorMode { NoCursor, Vertical, Temporal, Horizontal, Cross };
PlotsInteractionMode plotsInteractionMode() const;
void setPlotsInteractionMode(PlotsInteractionMode mode);
PlotsCursorMode plotsCursorMode() const;
void setPlotsCursorMode(PlotsCursorMode mode);
private:
class SqpApplicationPrivate;
spimpl::unique_impl_ptr<SqpApplicationPrivate> impl;
};
#endif // SCIQLOP_SQPAPPLICATION_H