##// END OF EJS Templates
Started PySide2 migration, builds with CMake and produces a working binary...
Started PySide2 migration, builds with CMake and produces a working binary Need to port all previous stuff from Pybind11 to PySide2/shboken Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1477:70de8bd3d575
r1477:70de8bd3d575
Show More
SqpApplication.h
120 lines | 3.5 KiB | text/x-c | CLexer
Initialisation de l'application multithread avec le spimpl....
r21 #ifndef SCIQLOP_SQPAPPLICATION_H
#define SCIQLOP_SQPAPPLICATION_H
#include "SqpApplication.h"
Refactored main toolbar to make it suck less :)...
r1462 #include <QAction>
Initialisation de l'application multithread avec le spimpl....
r21 #include <QApplication>
#include <QLoggingCategory>
Refactored main toolbar to make it suck less :)...
r1462 #include <QMenuBar>
#include <QProxyStyle>
#include <QStyleOption>
#include <QWidget>
#include <QWidgetAction>
Initialisation de l'application multithread avec le spimpl....
r21
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_SqpApplication)
Alexandre Leroux
Define macro for accessing to QcpApplication instance
r34 #if defined(sqpApp)
#undef sqpApp
#endif
Refactored main toolbar to make it suck less :)...
r1462 #define sqpApp (static_cast<SqpApplication*>(QCoreApplication::instance()))
Alexandre Leroux
Define macro for accessing to QcpApplication instance
r34
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33 class DataSourceController;
Intialization of network controller
r339 class NetworkController;
Time widget is now used with the variable createion request
r193 class TimeController;
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 class VariableController;
All the codebase is modified to build with new Variable Controller...
r1348 class VariableController2;
class VariableModel2;
Rename "DragDropHelper" in "DragDropGuiController"
r1075 class DragDropGuiController;
Adds a a gui controller class to manage global actions across the application.
r1076 class ActionsGuiController;
Add catalogue controller to SqpApplication
r1144 class CatalogueController;
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33
Refactored main toolbar to make it suck less :)...
r1462 /* stolen from here https://forum.qt.io/topic/90403/show-tooltip-immediatly/6 */
class MyProxyStyle : public QProxyStyle
{
public:
using QProxyStyle::QProxyStyle;
int styleHint(StyleHint hint, const QStyleOption* option = nullptr,
const QWidget* widget = nullptr, QStyleHintReturn* returnData = nullptr) const override
{
if (widget)
auto cname = widget->metaObject()->className();
if (hint == QStyle::SH_ToolButton_PopupDelay && widget
/*&& widget->inherits(QWidgetAction::staticMetaObject.className())*/)
{
return 0;
}
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
};
Initialisation de l'application multithread avec le spimpl....
r21 /**
* @brief The SqpApplication class aims to make the link between SciQlop
Alexandre Leroux
Minor fixes...
r32 * 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
Initialisation de l'application multithread avec le spimpl....
r21 * a plugin specified by its metadata name (JSON plugin source) then others specifics
Alexandre Leroux
Minor fixes...
r32 * method will be able to access it.
Initialisation de l'application multithread avec le spimpl....
r21 * You can load a data source driver plugin then create a data source.
*/
Ajout des règles vera++
r24
Refactored main toolbar to make it suck less :)...
r1462 class SqpApplication : public QApplication
{
Initialisation de l'application multithread avec le spimpl....
r21 Q_OBJECT
public:
Refactored main toolbar to make it suck less :)...
r1462 explicit SqpApplication(int& argc, char** argv);
~SqpApplication() override;
Initialisation de l'application multithread avec le spimpl....
r21 void initialize();
Add the visualization controller
r53 /// Accessors for the differents sciqlop controllers
Refactored main toolbar to make it suck less :)...
r1462 DataSourceController& dataSourceController() noexcept;
NetworkController& networkController() noexcept;
TimeController& timeController() noexcept;
VariableController2& variableController() noexcept;
All the codebase is modified to build with new Variable Controller...
r1348 std::shared_ptr<VariableController2> variableControllerOwner() noexcept;
Refactored main toolbar to make it suck less :)...
r1462 CatalogueController& catalogueController() noexcept;
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33
drop of variables in the visualization
r850 /// Accessors for the differents sciqlop helpers, these helpers classes are like controllers but
/// doesn't live in a thread and access gui
Refactored main toolbar to make it suck less :)...
r1462 DragDropGuiController& dragDropGuiController() noexcept;
ActionsGuiController& actionsGuiController() noexcept;
enum class PlotsInteractionMode
{
None,
ZoomBox,
DragAndDrop,
SelectionZones
};
enum class PlotsCursorMode
{
NoCursor,
Vertical,
Temporal,
Horizontal,
Cross
};
Toolbar for interactions modes
r957
PlotsInteractionMode plotsInteractionMode() const;
void setPlotsInteractionMode(PlotsInteractionMode mode);
PlotsCursorMode plotsCursorMode() const;
void setPlotsCursorMode(PlotsCursorMode mode);
Initialisation de l'application multithread avec le spimpl....
r21 private:
class SqpApplicationPrivate;
spimpl::unique_impl_ptr<SqpApplicationPrivate> impl;
};
Started PySide2 migration, builds with CMake and produces a working binary...
r1477 inline SqpApplication* SqpApplication_ctor()
{
static int argc;
static char** argv;
return new SqpApplication(argc, argv);
}
Initialisation de l'application multithread avec le spimpl....
r21 #endif // SCIQLOP_SQPAPPLICATION_H