diff --git a/gui/include/Visualization/IVisualizationWidget.h b/gui/include/Visualization/IVisualizationWidget.h index 18a4fd8..bad143c 100644 --- a/gui/include/Visualization/IVisualizationWidget.h +++ b/gui/include/Visualization/IVisualizationWidget.h @@ -1,11 +1,12 @@ #ifndef SCIQLOP_IVISUALIZATIONWIDGET_H #define SCIQLOP_IVISUALIZATIONWIDGET_H -#include "Visualization/IVisualizationWidgetVisitor.h" #include #include +class IVisualizationWidgetVisitor; + /** * @brief The IVisualizationWidget handles the visualization widget. */ @@ -15,7 +16,7 @@ public: virtual ~IVisualizationWidget() = default; /// Initializes the plugin - virtual void accept(IVisualizationWidget *visitor) = 0; + virtual void accept(IVisualizationWidgetVisitor *visitor) = 0; virtual void close() = 0; virtual QString name() const = 0; }; diff --git a/gui/include/Visualization/IVisualizationWidgetVisitor.h b/gui/include/Visualization/IVisualizationWidgetVisitor.h index 33ce5b9..67f86df 100644 --- a/gui/include/Visualization/IVisualizationWidgetVisitor.h +++ b/gui/include/Visualization/IVisualizationWidgetVisitor.h @@ -15,9 +15,12 @@ class IVisualizationWidgetVisitor { public: virtual ~IVisualizationWidgetVisitor() = default; - virtual void visit(VisualizationWidget *widget) = 0; - virtual void visit(VisualizationTabWidget *tabWidget) = 0; - virtual void visit(VisualizationZoneWidget *zoneWidget) = 0; + virtual void visitEnter(VisualizationWidget *widget) = 0; + virtual void visitLeave(VisualizationWidget *widget) = 0; + virtual void visitEnter(VisualizationTabWidget *tabWidget) = 0; + virtual void visitLeave(VisualizationTabWidget *tabWidget) = 0; + virtual void visitEnter(VisualizationZoneWidget *zoneWidget) = 0; + virtual void visitLeave(VisualizationZoneWidget *zoneWidget) = 0; virtual void visit(VisualizationGraphWidget *graphWidget) = 0; }; diff --git a/gui/include/Visualization/VisualizationGraphWidget.h b/gui/include/Visualization/VisualizationGraphWidget.h index cd68182..8d978af 100644 --- a/gui/include/Visualization/VisualizationGraphWidget.h +++ b/gui/include/Visualization/VisualizationGraphWidget.h @@ -25,7 +25,7 @@ public: void addVariable(std::shared_ptr variable); // IVisualizationWidget interface - void accept(IVisualizationWidget *visitor) override; + void accept(IVisualizationWidgetVisitor *visitor) override; void close() override; QString name() const; diff --git a/gui/include/Visualization/VisualizationTabWidget.h b/gui/include/Visualization/VisualizationTabWidget.h index e955860..36b0545 100644 --- a/gui/include/Visualization/VisualizationTabWidget.h +++ b/gui/include/Visualization/VisualizationTabWidget.h @@ -36,7 +36,7 @@ public: void removeZone(VisualizationZoneWidget *zone); // IVisualizationWidget interface - void accept(IVisualizationWidget *visitor) override; + void accept(IVisualizationWidgetVisitor *visitor) override; void close() override; QString name() const override; diff --git a/gui/include/Visualization/VisualizationWidget.h b/gui/include/Visualization/VisualizationWidget.h index 4d12b0e..bb7d13b 100644 --- a/gui/include/Visualization/VisualizationWidget.h +++ b/gui/include/Visualization/VisualizationWidget.h @@ -32,7 +32,7 @@ public: void removeTab(VisualizationTabWidget *tab); // IVisualizationWidget interface - void accept(IVisualizationWidget *visitor) override; + void accept(IVisualizationWidgetVisitor *visitor) override; void close() override; QString name() const; diff --git a/gui/include/Visualization/VisualizationZoneWidget.h b/gui/include/Visualization/VisualizationZoneWidget.h index 82f5418..4d016fb 100644 --- a/gui/include/Visualization/VisualizationZoneWidget.h +++ b/gui/include/Visualization/VisualizationZoneWidget.h @@ -33,7 +33,7 @@ public: void removeGraph(VisualizationGraphWidget *graph); // IVisualizationWidget interface - void accept(IVisualizationWidget *visitor) override; + void accept(IVisualizationWidgetVisitor *visitor) override; void close() override; QString name() const override; diff --git a/gui/src/Visualization/VisualizationGraphWidget.cpp b/gui/src/Visualization/VisualizationGraphWidget.cpp index f8133c1..d754b59 100644 --- a/gui/src/Visualization/VisualizationGraphWidget.cpp +++ b/gui/src/Visualization/VisualizationGraphWidget.cpp @@ -1,5 +1,6 @@ #include "Visualization/VisualizationGraphWidget.h" #include "Visualization/GraphPlottablesFactory.h" +#include "Visualization/IVisualizationWidgetVisitor.h" #include "ui_VisualizationGraphWidget.h" #include @@ -56,7 +57,7 @@ void VisualizationGraphWidget::addVariable(std::shared_ptr variable) } } -void VisualizationGraphWidget::accept(IVisualizationWidget *visitor) +void VisualizationGraphWidget::accept(IVisualizationWidgetVisitor *visitor) { // TODO: manage the visitor } diff --git a/gui/src/Visualization/VisualizationTabWidget.cpp b/gui/src/Visualization/VisualizationTabWidget.cpp index ddc297d..ca8e38c 100644 --- a/gui/src/Visualization/VisualizationTabWidget.cpp +++ b/gui/src/Visualization/VisualizationTabWidget.cpp @@ -1,4 +1,5 @@ #include "Visualization/VisualizationTabWidget.h" +#include "Visualization/IVisualizationWidgetVisitor.h" #include "ui_VisualizationTabWidget.h" #include "Visualization/VisualizationZoneWidget.h" @@ -60,7 +61,7 @@ void VisualizationTabWidget::removeZone(VisualizationZoneWidget *zone) { } -void VisualizationTabWidget::accept(IVisualizationWidget *visitor) +void VisualizationTabWidget::accept(IVisualizationWidgetVisitor *visitor) { // TODO: manage the visitor } diff --git a/gui/src/Visualization/VisualizationWidget.cpp b/gui/src/Visualization/VisualizationWidget.cpp index ecf4e06..d80b982 100644 --- a/gui/src/Visualization/VisualizationWidget.cpp +++ b/gui/src/Visualization/VisualizationWidget.cpp @@ -1,4 +1,5 @@ #include "Visualization/VisualizationWidget.h" +#include "Visualization/IVisualizationWidgetVisitor.h" #include "Visualization/VisualizationGraphWidget.h" #include "Visualization/VisualizationTabWidget.h" #include "Visualization/VisualizationZoneWidget.h" @@ -81,7 +82,7 @@ void VisualizationWidget::removeTab(VisualizationTabWidget *tab) // lambda function (in the constructor) } -void VisualizationWidget::accept(IVisualizationWidget *visitor) +void VisualizationWidget::accept(IVisualizationWidgetVisitor *visitor) { // TODO: manage the visitor } diff --git a/gui/src/Visualization/VisualizationZoneWidget.cpp b/gui/src/Visualization/VisualizationZoneWidget.cpp index a57c84e..0bafc25 100644 --- a/gui/src/Visualization/VisualizationZoneWidget.cpp +++ b/gui/src/Visualization/VisualizationZoneWidget.cpp @@ -1,4 +1,5 @@ #include "Visualization/VisualizationZoneWidget.h" +#include "Visualization/IVisualizationWidgetVisitor.h" #include "ui_VisualizationZoneWidget.h" #include "Visualization/VisualizationGraphWidget.h" @@ -54,7 +55,7 @@ void VisualizationZoneWidget::removeGraph(VisualizationGraphWidget *graph) { } -void VisualizationZoneWidget::accept(IVisualizationWidget *visitor) +void VisualizationZoneWidget::accept(IVisualizationWidgetVisitor *visitor) { // TODO: manage the visitor }