##// END OF EJS Templates
It's now possible to create the variable and ask data to be retreived...
It's now possible to create the variable and ask data to be retreived asynchronously

File last commit:

r308:d6942e8f24d6
r319:c71a61da7f3d
Show More
SqpApplication.cpp
118 lines | 4.4 KiB | text/x-c | CppLexer
/ gui / src / SqpApplication.cpp
Initialisation de l'application multithread avec le spimpl....
r21 #include "SqpApplication.h"
Alexandre Leroux
Makes the connection between Data source controller and Variable controller...
r169 #include <Data/IDataProvider.h>
Initialisation de l'application multithread avec le spimpl....
r21 #include <DataSource/DataSourceController.h>
#include <QThread>
Time widget is now used with the variable createion request
r193 #include <Time/TimeController.h>
Alexandre Leroux
Makes the connection between Variable controller and Visualization controller...
r170 #include <Variable/Variable.h>
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 #include <Variable/VariableController.h>
Add the visualization controller
r53 #include <Visualization/VisualizationController.h>
Initialisation de l'application multithread avec le spimpl....
r21
Q_LOGGING_CATEGORY(LOG_SqpApplication, "SqpApplication")
class SqpApplication::SqpApplicationPrivate {
public:
add missing visualization thread call
r55 SqpApplicationPrivate()
: m_DataSourceController{std::make_unique<DataSourceController>()},
Time widget is now used with the variable createion request
r193 m_TimeController{std::make_unique<TimeController>()},
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 m_VariableController{std::make_unique<VariableController>()},
add missing visualization thread call
r55 m_VisualizationController{std::make_unique<VisualizationController>()}
Alexandre Leroux
Minor fixes...
r32 {
Alexandre Leroux
Makes the connection between Data source controller and Variable controller...
r169 // /////////////////////////////// //
// Connections between controllers //
// /////////////////////////////// //
// VariableController <-> DataSourceController
connect(m_DataSourceController.get(),
SIGNAL(variableCreationRequested(const QString &, std::shared_ptr<IDataProvider>)),
m_VariableController.get(),
SLOT(createVariable(const QString &, std::shared_ptr<IDataProvider>)));
Alexandre Leroux
Makes the connection between Variable controller and Visualization controller...
r170 // VariableController <-> VisualizationController
connect(m_VariableController.get(), SIGNAL(variableCreated(std::shared_ptr<Variable>)),
m_VisualizationController.get(),
Alexandre Leroux
Removes VisualizationController::onVariableCreated() slot...
r174 SIGNAL(variableCreated(std::shared_ptr<Variable>)));
Alexandre Leroux
Makes the connection between Variable controller and Visualization controller...
r170
Alexandre Leroux
Minor fixes...
r32 m_DataSourceController->moveToThread(&m_DataSourceControllerThread);
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 m_VariableController->moveToThread(&m_VariableControllerThread);
add missing visualization thread call
r55 m_VisualizationController->moveToThread(&m_VisualizationControllerThread);
Time widget is now used with the variable createion request
r193
// Additionnal init
m_VariableController->setTimeController(m_TimeController.get());
Alexandre Leroux
Minor fixes...
r32 }
Ajout des règles vera++
r24 virtual ~SqpApplicationPrivate()
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 {
Alexandre Leroux
Minor fixes...
r32 qCInfo(LOG_SqpApplication()) << tr("SqpApplicationPrivate destruction");
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 m_DataSourceControllerThread.quit();
m_DataSourceControllerThread.wait();
Add the visualization controller
r53
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 m_VariableControllerThread.quit();
m_VariableControllerThread.wait();
add missing visualization thread call
r55 m_VisualizationControllerThread.quit();
m_VisualizationControllerThread.wait();
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 }
Initialisation de l'application multithread avec le spimpl....
r21
std::unique_ptr<DataSourceController> m_DataSourceController;
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 std::unique_ptr<VariableController> m_VariableController;
Time widget is now used with the variable createion request
r193 std::unique_ptr<TimeController> m_TimeController;
Add the visualization controller
r53 std::unique_ptr<VisualizationController> m_VisualizationController;
Initialisation de l'application multithread avec le spimpl....
r21 QThread m_DataSourceControllerThread;
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 QThread m_VariableControllerThread;
add missing visualization thread call
r55 QThread m_VisualizationControllerThread;
Initialisation de l'application multithread avec le spimpl....
r21 };
SqpApplication::SqpApplication(int &argc, char **argv)
Alexandre Leroux
Minor fixes...
r32 : QApplication{argc, argv}, impl{spimpl::make_unique_impl<SqpApplicationPrivate>()}
Initialisation de l'application multithread avec le spimpl....
r21 {
Alexandre Leroux
Minor fixes...
r32 qCInfo(LOG_SqpApplication()) << tr("SqpApplication construction");
Initialisation de l'application multithread avec le spimpl....
r21
connect(&impl->m_DataSourceControllerThread, &QThread::started,
impl->m_DataSourceController.get(), &DataSourceController::initialize);
connect(&impl->m_DataSourceControllerThread, &QThread::finished,
impl->m_DataSourceController.get(), &DataSourceController::finalize);
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 connect(&impl->m_VariableControllerThread, &QThread::started, impl->m_VariableController.get(),
&VariableController::initialize);
connect(&impl->m_VariableControllerThread, &QThread::finished, impl->m_VariableController.get(),
&VariableController::finalize);
add missing visualization thread call
r55 connect(&impl->m_VisualizationControllerThread, &QThread::started,
impl->m_VisualizationController.get(), &VisualizationController::initialize);
connect(&impl->m_VisualizationControllerThread, &QThread::finished,
impl->m_VisualizationController.get(), &VisualizationController::finalize);
Add the visualization controller
r53
Initialisation de l'application multithread avec le spimpl....
r21 impl->m_DataSourceControllerThread.start();
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 impl->m_VariableControllerThread.start();
add missing visualization thread call
r55 impl->m_VisualizationControllerThread.start();
Initialisation de l'application multithread avec le spimpl....
r21 }
SqpApplication::~SqpApplication()
{
}
void SqpApplication::initialize()
{
}
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33
Alexandre Leroux
Make access to controllers non-const (maybe the controller will be modified)
r116 DataSourceController &SqpApplication::dataSourceController() noexcept
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33 {
return *impl->m_DataSourceController;
}
Add the visualization controller
r53
Time widget is now used with the variable createion request
r193 TimeController &SqpApplication::timeController() noexcept
{
return *impl->m_TimeController;
}
Alexandre Leroux
Make access to controllers non-const (maybe the controller will be modified)
r116 VariableController &SqpApplication::variableController() noexcept
Alexandre Leroux
Inits variable controller and adds it to the SciQlop app
r111 {
return *impl->m_VariableController;
}
Alexandre Leroux
Make access to controllers non-const (maybe the controller will be modified)
r116 VisualizationController &SqpApplication::visualizationController() noexcept
Add the visualization controller
r53 {
return *impl->m_VisualizationController;
}