diff --git a/gui/include/Visualization/VisualizationTabWidget.h b/gui/include/Visualization/VisualizationTabWidget.h index 8ba996e..b3f2087 100644 --- a/gui/include/Visualization/VisualizationTabWidget.h +++ b/gui/include/Visualization/VisualizationTabWidget.h @@ -3,6 +3,8 @@ #include "Visualization/IVisualizationWidget.h" +#include + #include class VisualizationZoneWidget; @@ -15,7 +17,7 @@ class VisualizationTabWidget : public QWidget, public IVisualizationWidget { Q_OBJECT public: - explicit VisualizationTabWidget(QWidget *parent = 0); + explicit VisualizationTabWidget(const QString &name = {}, QWidget *parent = 0); virtual ~VisualizationTabWidget(); /// Add a zone widget @@ -34,6 +36,9 @@ public: private: Ui::VisualizationTabWidget *ui; + + class VisualizationTabWidgetPrivate; + spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_VISUALIZATIONTABWIDGET_H diff --git a/gui/src/Visualization/VisualizationTabWidget.cpp b/gui/src/Visualization/VisualizationTabWidget.cpp index 4061a08..06acc44 100644 --- a/gui/src/Visualization/VisualizationTabWidget.cpp +++ b/gui/src/Visualization/VisualizationTabWidget.cpp @@ -3,9 +3,16 @@ #include "Visualization/VisualizationZoneWidget.h" +struct VisualizationTabWidget::VisualizationTabWidgetPrivate { + explicit VisualizationTabWidgetPrivate(const QString &name) : m_Name{name} {} -VisualizationTabWidget::VisualizationTabWidget(QWidget *parent) - : QWidget{parent}, ui{new Ui::VisualizationTabWidget} + QString m_Name; +}; + +VisualizationTabWidget::VisualizationTabWidget(const QString &name, QWidget *parent) + : QWidget{parent}, + ui{new Ui::VisualizationTabWidget}, + impl{spimpl::make_unique_impl(name)} { ui->setupUi(this); } @@ -45,5 +52,5 @@ void VisualizationTabWidget::close() QString VisualizationTabWidget::name() const { - return QStringLiteral("MainView"); + return impl->m_Name; } diff --git a/gui/src/Visualization/VisualizationWidget.cpp b/gui/src/Visualization/VisualizationWidget.cpp index 6011c5a..808e362 100644 --- a/gui/src/Visualization/VisualizationWidget.cpp +++ b/gui/src/Visualization/VisualizationWidget.cpp @@ -32,8 +32,9 @@ VisualizationWidget::VisualizationWidget(QWidget *parent) }; auto addTabView = [this, enableMinimumCornerWidgetSize]() { - auto index = ui->tabWidget->addTab(new VisualizationTabWidget(ui->tabWidget), - QString("View %1").arg(ui->tabWidget->count() + 1)); + auto widget = new VisualizationTabWidget{QString{"View %1"}.arg(ui->tabWidget->count() + 1), + ui->tabWidget}; + auto index = ui->tabWidget->addTab(widget, widget->name()); if (ui->tabWidget->count() > 0) { enableMinimumCornerWidgetSize(false); }