##// END OF EJS Templates
Add current progression for thread fix
Add current progression for thread fix

File last commit:

r338:858bcca39f5d
r338:858bcca39f5d
Show More
SqpApplication.cpp
127 lines | 5.0 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 {
Add current progression for thread fix
r338 QThread::currentThread()->setObjectName("MainThread");
m_DataSourceController->moveToThread(&m_DataSourceControllerThread);
m_DataSourceControllerThread.setObjectName("DataSourceControllerThread");
m_VariableController->moveToThread(&m_VariableControllerThread);
m_VariableControllerThread.setObjectName("VariableControllerThread");
m_VisualizationController->moveToThread(&m_VisualizationControllerThread);
m_VisualizationControllerThread.setObjectName("VisualizationControllerThread");
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
Variable deletion (7)...
r336 connect(m_VariableController.get(),
SIGNAL(variableAboutToBeDeleted(std::shared_ptr<Variable>)),
m_VisualizationController.get(),
SIGNAL(variableAboutToBeDeleted(std::shared_ptr<Variable>)), Qt::DirectConnection);
Alexandre Leroux
Makes the connection between Variable controller and Visualization controller...
r170
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;
}