[apps] Update the view if preference (display mode) has changed

Change-Id: I2393d672d59345b0935b6abf44040c6d9d59db09
This commit is contained in:
Émilie Feral
2017-02-01 14:14:02 +01:00
parent e8d694546f
commit a77db13f8b
8 changed files with 45 additions and 4 deletions

View File

@@ -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;
}

View File

@@ -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;
};
}

View File

@@ -1,4 +1,5 @@
#include "interactive_curve_view_controller.h"
#include "apps_container.h"
#include <assert.h>
#include <math.h>
@@ -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();
}

View File

@@ -53,6 +53,7 @@ private:
Button m_rangeButton;
Button m_zoomButton;
Button m_defaultInitialisationButton;
Expression::DisplayMode m_displayModeVersion;
};
#endif

View File

@@ -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;
}

View File

@@ -24,6 +24,7 @@ private:
BoxBannerView m_boxBannerView;
BoxView m_view;
Store * m_store;
Expression::DisplayMode m_displayModeVersion;
};
}

View File

@@ -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;
}

View File

@@ -47,6 +47,7 @@ private:
uint32_t m_rangeVersion;
int m_selectedBarIndex;
HistogramParameterController m_histogramParameterController;
Expression::DisplayMode m_displayModeVersion;
};
}