diff --git a/src/plot.cpp b/src/plot.cpp --- a/src/plot.cpp +++ b/src/plot.cpp @@ -98,6 +98,12 @@ void Plot::showMinorGrid(bool show) replot(); } +void Plot::showLegend(bool show) +{ + legend.setVisible(show); + replot(); +} + void Plot::unzoom() { zoomer.zoom(0); diff --git a/src/plot.h b/src/plot.h --- a/src/plot.h +++ b/src/plot.h @@ -56,6 +56,7 @@ private: public slots: void showGrid(bool show = true); void showMinorGrid(bool show = true); + void showLegend(bool show = true); void unzoom(); void darkBackground(bool enabled = true); void setAxis(bool autoScaled, double yMin = 0, double yMax = 1); diff --git a/src/plotmanager.cpp b/src/plotmanager.cpp --- a/src/plotmanager.cpp +++ b/src/plotmanager.cpp @@ -70,9 +70,8 @@ PlotManager::PlotManager(QWidget* plotAr connect(&unzoomAction, &QAction::triggered, this, &PlotManager::unzoom); connect(&darkBackgroundAction, SELECT::OVERLOAD_OF(&QAction::triggered), this, &PlotManager::darkBackground); - // TODO: enable legend - // connect(&showLegendAction, SELECT::OVERLOAD_OF(&QAction::triggered), - // [this](bool enabled){legend.setVisible(enabled); replot();}); + connect(&showLegendAction, SELECT::OVERLOAD_OF(&QAction::triggered), + this, &PlotManager::showLegend); } PlotManager::~PlotManager() @@ -174,7 +173,7 @@ Plot* PlotManager::addPlotWidget() plot->darkBackground(darkBackgroundAction.isChecked()); plot->showGrid(showGridAction.isChecked()); plot->showMinorGrid(showMinorGridAction.isChecked()); - // TODO: show legend + plot->showLegend(showLegendAction.isChecked()); return plot; } @@ -270,6 +269,7 @@ void PlotManager::showGrid(bool show) plot->showGrid(show); } } + void PlotManager::showMinorGrid(bool show) { for (auto plot : plotWidgets) @@ -277,6 +277,15 @@ void PlotManager::showMinorGrid(bool sho plot->showMinorGrid(show); } } + +void PlotManager::showLegend(bool show) +{ + for (auto plot : plotWidgets) + { + plot->showLegend(show); + } +} + void PlotManager::unzoom() { for (auto plot : plotWidgets) @@ -284,6 +293,7 @@ void PlotManager::unzoom() plot->unzoom(); } } + void PlotManager::darkBackground(bool enabled) { for (auto plot : plotWidgets) diff --git a/src/plotmanager.h b/src/plotmanager.h --- a/src/plotmanager.h +++ b/src/plotmanager.h @@ -83,6 +83,7 @@ private: private slots: void showGrid(bool show = true); void showMinorGrid(bool show = true); + void showLegend(bool show = true); void unzoom(); void darkBackground(bool enabled = true); };