From 822f723e09c178cdbe5a118d975eb90ce998c619 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 26 Jun 2017 14:41:22 +0200 Subject: [PATCH] Provide access to our Pendulum window from our Simulation Experiment view. --- .../src/simulationexperimentviewplugin.cpp | 18 ++++++++++++++++++ .../src/simulationexperimentviewplugin.h | 13 +++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.cpp b/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.cpp index cede902778..848914a367 100644 --- a/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.cpp +++ b/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.cpp @@ -26,11 +26,13 @@ along with this program. If not, see . #include "combinefilemanager.h" #include "combinesupportplugin.h" #include "coreguiutils.h" +#include "pendulumwindowwindow.h" #include "sedmlfilemanager.h" #include "sedmlsupportplugin.h" #include "simulationexperimentviewplugin.h" #include "simulationexperimentviewsimulationwidget.h" #include "simulationexperimentviewwidget.h" +#include "windowinterface.h" //============================================================================== @@ -251,6 +253,13 @@ void SimulationExperimentViewPlugin::pluginsInitialized(const Plugins &pLoadedPl else if (!plugin->name().compare("COMBINESupport")) mCombineFileTypeInterface = fileTypeInterface; } + + // Look for our pendulum window + + WindowInterface *windowInterface = qobject_cast(plugin->instance()); + + if (windowInterface && !plugin->name().compare("PendulumWindow")) + mPendulumWindowWindow = static_cast(windowInterface->windowWidget()); } } @@ -435,6 +444,15 @@ FileTypeInterface * SimulationExperimentViewPlugin::combineFileTypeInterface() c //============================================================================== +PendulumWindow::PendulumWindowWindow * SimulationExperimentViewPlugin::pendulumWindowWindow() const +{ + // Return our pendulum window + + return mPendulumWindowWindow; +} + +//============================================================================== + } // namespace SimulationExperimentView } // namespace OpenCOR diff --git a/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.h b/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.h index 8efca6be8f..1a56a9f559 100644 --- a/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.h +++ b/src/plugins/simulation/SimulationExperimentView/src/simulationexperimentviewplugin.h @@ -37,6 +37,15 @@ along with this program. If not, see . //============================================================================== namespace OpenCOR { + +//============================================================================== + +namespace PendulumWindow { + class PendulumWindowWindow; +} // namespace PendulumWindow + +//============================================================================== + namespace SimulationExperimentView { //============================================================================== @@ -83,6 +92,8 @@ class SimulationExperimentViewPlugin : public QObject, FileTypeInterface * sedmlFileTypeInterface() const; FileTypeInterface * combineFileTypeInterface() const; + PendulumWindow::PendulumWindowWindow * pendulumWindowWindow() const; + private: SimulationExperimentViewWidget *mViewWidget; @@ -93,6 +104,8 @@ class SimulationExperimentViewPlugin : public QObject, FileTypeInterface *mSedmlFileTypeInterface; FileTypeInterface *mCombineFileTypeInterface; + + PendulumWindow::PendulumWindowWindow *mPendulumWindowWindow; }; //==============================================================================