diff --git a/apps/graph/values/values_controller.cpp b/apps/graph/values/values_controller.cpp index 955467353..0e4b829fb 100644 --- a/apps/graph/values/values_controller.cpp +++ b/apps/graph/values/values_controller.cpp @@ -25,7 +25,8 @@ ValuesController::ValuesController(Responder * parentResponder, FunctionStore * valuesController->hasChangedTableData(); StackViewController * stack = ((StackViewController *)valuesController->stackController()); stack->push(valuesController->intervalParameterController()); - }, this), KDText::FontSize::Small)) + }, this), KDText::FontSize::Small)), + m_displayModeVersion(Expression::DisplayMode::Auto) { m_interval.setStart(0); m_interval.setEnd(10); @@ -36,6 +37,16 @@ const char * ValuesController::title() const { return "Valeurs"; } +View * ValuesController::view() { + AppsContainer * myContainer = (AppsContainer *)app()->container(); + Expression::DisplayMode displayMode = myContainer->preferences()->displayMode(); + if (displayMode != m_displayModeVersion) { + m_selectableTableView.reloadData(); + m_displayModeVersion = displayMode; + } + return EditableCellTableViewController::view(); +} + Interval * ValuesController::interval() { return &m_interval; } diff --git a/apps/graph/values/values_controller.h b/apps/graph/values/values_controller.h index f734fcfd5..9464ce166 100644 --- a/apps/graph/values/values_controller.h +++ b/apps/graph/values/values_controller.h @@ -17,6 +17,7 @@ class ValuesController : public EditableCellTableViewController, public HeaderVi public: ValuesController(Responder * parentResponder, FunctionStore * functionStore, HeaderViewController * header); const char * title() const override; + View * view() override; Interval * interval(); bool handleEvent(Ion::Events::Event event) override; void didBecomeFirstResponder() override; @@ -72,6 +73,7 @@ private: FunctionParameterController m_functionParameterController; DerivativeParameterController m_derivativeParameterController; Button m_setIntervalButton; + Expression::DisplayMode m_displayModeVersion; }; } diff --git a/apps/interactive_curve_view_controller.cpp b/apps/interactive_curve_view_controller.cpp index be9941f89..8939ef260 100644 --- a/apps/interactive_curve_view_controller.cpp +++ b/apps/interactive_curve_view_controller.cpp @@ -1,4 +1,5 @@ #include "interactive_curve_view_controller.h" +#include "apps_container.h" #include #include @@ -23,7 +24,8 @@ InteractiveCurveViewController::InteractiveCurveViewController(Responder * paren InteractiveCurveViewController * graphController = (InteractiveCurveViewController *) context; StackViewController * stack = graphController->stackController(); stack->push(graphController->initialisationParameterController()); - }, this), KDText::FontSize::Small) + }, this), KDText::FontSize::Small), + m_displayModeVersion(Expression::DisplayMode::Auto) { } @@ -32,6 +34,13 @@ const char * InteractiveCurveViewController::title() const { } View * InteractiveCurveViewController::view() { + AppsContainer * myContainer = (AppsContainer *)app()->container(); + Expression::DisplayMode displayMode = myContainer->preferences()->displayMode(); + if (displayMode != m_displayModeVersion) { + reloadBannerView(); + curveView()->reload(); + m_displayModeVersion = displayMode; + } return curveView(); } diff --git a/apps/interactive_curve_view_controller.h b/apps/interactive_curve_view_controller.h index f01db42bd..57d003ec4 100644 --- a/apps/interactive_curve_view_controller.h +++ b/apps/interactive_curve_view_controller.h @@ -53,6 +53,7 @@ private: Button m_rangeButton; Button m_zoomButton; Button m_defaultInitialisationButton; + Expression::DisplayMode m_displayModeVersion; }; #endif diff --git a/apps/statistics/box_controller.cpp b/apps/statistics/box_controller.cpp index 0d835d968..07285686b 100644 --- a/apps/statistics/box_controller.cpp +++ b/apps/statistics/box_controller.cpp @@ -9,7 +9,8 @@ BoxController::BoxController(Responder * parentResponder, HeaderViewController * HeaderViewDelegate(headerViewController), m_boxBannerView(BoxBannerView()), m_view(BoxView(store, &m_boxBannerView)), - m_store(store) + m_store(store), + m_displayModeVersion(Expression::DisplayMode::Auto) { } @@ -18,6 +19,13 @@ const char * BoxController::title() const { } View * BoxController::view() { + AppsContainer * myContainer = (AppsContainer *)app()->container(); + Expression::DisplayMode displayMode = myContainer->preferences()->displayMode(); + if (displayMode != m_displayModeVersion) { + reloadBannerView(); + m_view.reload(); + m_displayModeVersion = displayMode; + } return &m_view; } diff --git a/apps/statistics/box_controller.h b/apps/statistics/box_controller.h index 892dd2ce9..f5929a033 100644 --- a/apps/statistics/box_controller.h +++ b/apps/statistics/box_controller.h @@ -24,6 +24,7 @@ private: BoxBannerView m_boxBannerView; BoxView m_view; Store * m_store; + Expression::DisplayMode m_displayModeVersion; }; } diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index 7d463073d..b6405a1c0 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -18,7 +18,8 @@ HistogramController::HistogramController(Responder * parentResponder, HeaderView }, this))), m_store(store), m_cursor(CurveViewCursor()), - m_histogramParameterController(nullptr, store) + m_histogramParameterController(nullptr, store), + m_displayModeVersion(Expression::DisplayMode::Auto) { } @@ -27,6 +28,13 @@ const char * HistogramController::title() const { } View * HistogramController::view() { + AppsContainer * myContainer = (AppsContainer *)app()->container(); + Expression::DisplayMode displayMode = myContainer->preferences()->displayMode(); + if (displayMode != m_displayModeVersion) { + reloadBannerView(); + m_view.reload(); + m_displayModeVersion = displayMode; + } return &m_view; } diff --git a/apps/statistics/histogram_controller.h b/apps/statistics/histogram_controller.h index 8aefff779..b4aa730a7 100644 --- a/apps/statistics/histogram_controller.h +++ b/apps/statistics/histogram_controller.h @@ -47,6 +47,7 @@ private: uint32_t m_rangeVersion; int m_selectedBarIndex; HistogramParameterController m_histogramParameterController; + Expression::DisplayMode m_displayModeVersion; }; }