From 0551b4f91f1029f003eb97aa7858b8bf8914207a Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 15 Mar 2025 12:35:51 -0400 Subject: [PATCH] Move MainWindow->Scene connection out of QtkWidget. --- src/app/main.cpp | 2 +- src/app/qtkmainwindow.cpp | 9 +++++++++ src/app/qtkmainwindow.h | 5 +++++ src/designer-plugins/qtkwidget.cpp | 4 ---- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index 5371f85..4cbc710 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -24,7 +24,7 @@ int main(int argc, char * argv[]) // NOTE: We set the scene here and not in QtkMainWindow to detach the scene // from the QtkWidget plugin (qtk_plugin_library build target). // Once we can save / load scenes, this call, and QtkScene, can be removed. - window->getQtkWidget()->setScene(new QtkScene); + window->setScene(new QtkScene); window->show(); diff --git a/src/app/qtkmainwindow.cpp b/src/app/qtkmainwindow.cpp index d8bf0af..5a48331 100644 --- a/src/app/qtkmainwindow.cpp +++ b/src/app/qtkmainwindow.cpp @@ -102,3 +102,12 @@ void MainWindow::refreshScene(const QString & sceneName) // TODO: Select TreeView using sceneName ui_->qtk__TreeView->updateView(getQtkWidget()->getScene()); } + +void MainWindow::setScene(Qtk::Scene * scene) +{ + connect(scene, + &Qtk::Scene::sceneUpdated, + MainWindow::getMainWindow(), + &MainWindow::refreshScene); + ui_->qtk__QtkWidget->setScene(scene); +} diff --git a/src/app/qtkmainwindow.h b/src/app/qtkmainwindow.h index 4d3d413..726f005 100644 --- a/src/app/qtkmainwindow.h +++ b/src/app/qtkmainwindow.h @@ -96,6 +96,11 @@ class MainWindow : public QMainWindow */ Qtk::QtkWidget * getQtkWidget(const QString & name); + /** + * @param scene The new scene to view. + */ + void setScene(Qtk::Scene * scene); + public slots: /** * Trigger a refresh for widgets related to a scene that has been updated. diff --git a/src/designer-plugins/qtkwidget.cpp b/src/designer-plugins/qtkwidget.cpp index 89e2dc5..e9e7ad7 100644 --- a/src/designer-plugins/qtkwidget.cpp +++ b/src/designer-plugins/qtkwidget.cpp @@ -133,10 +133,6 @@ void QtkWidget::setScene(Scene * scene) { if (mScene != Q_NULLPTR) { delete mScene; - connect(scene, - &Scene::sceneUpdated, - MainWindow::getMainWindow(), - &MainWindow::refreshScene); } mScene = scene;