From a33df991d7dca64e93b6690dd3663fa80527187a 2017-06-19 10:17:22 From: Alexandre Leroux Date: 2017-06-19 10:17:22 Subject: [PATCH] Implements VisualizationWidget::displayVariable() slot --- diff --git a/gui/src/Visualization/VisualizationWidget.cpp b/gui/src/Visualization/VisualizationWidget.cpp index 611bbfa..3ca7b00 100644 --- a/gui/src/Visualization/VisualizationWidget.cpp +++ b/gui/src/Visualization/VisualizationWidget.cpp @@ -1,5 +1,7 @@ #include "Visualization/VisualizationWidget.h" +#include "Visualization/VisualizationGraphWidget.h" #include "Visualization/VisualizationTabWidget.h" +#include "Visualization/VisualizationZoneWidget.h" #include "Visualization/qcustomplot.h" #include "ui_VisualizationWidget.h" @@ -81,5 +83,23 @@ QString VisualizationWidget::name() const void VisualizationWidget::displayVariable(std::shared_ptr variable) noexcept { - /// @todo ALX : add variable in a new graph + if (auto currentTab = dynamic_cast(ui->tabWidget->currentWidget())) { + if (auto newZone = currentTab->createZone()) { + if (auto newGraph = newZone->createGraph()) { + newGraph->addVariable(variable); + } + else { + qCDebug(LOG_VisualizationWidget()) + << tr("Can't display the variable : can't create the graph"); + } + } + else { + qCDebug(LOG_VisualizationWidget()) + << tr("Can't display the variable : can't create a new zone in the current tab"); + } + } + else { + qCDebug(LOG_VisualizationWidget()) + << tr("Can't display the variable : there is no current tab"); + } }