mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/settings] Factorize SettingsMessageTree model definition between
different targets (none/beta/update)
This commit is contained in:
@@ -7,6 +7,14 @@ using namespace Poincare;
|
||||
|
||||
namespace Settings {
|
||||
|
||||
constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
|
||||
constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)};
|
||||
constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)};
|
||||
constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)};
|
||||
constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)};
|
||||
constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::ActivateExamMode), SettingsMessageTree(I18n::Message::ActivateDutchExamMode)};
|
||||
constexpr SettingsMessageTree s_modelAboutChildren[3] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)};
|
||||
|
||||
MainController::MainController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate) :
|
||||
ViewController(parentResponder),
|
||||
m_brightnessCell(I18n::Message::Default, KDFont::LargeFont),
|
||||
@@ -193,6 +201,10 @@ void MainController::viewWillAppear() {
|
||||
m_selectableTableView.reloadData();
|
||||
}
|
||||
|
||||
const SettingsMessageTree * MainController::model() {
|
||||
return &s_model;
|
||||
}
|
||||
|
||||
StackViewController * MainController::stackController() const {
|
||||
return (StackViewController *)parentResponder();
|
||||
}
|
||||
|
||||
@@ -12,6 +12,15 @@
|
||||
|
||||
namespace Settings {
|
||||
|
||||
extern const SettingsMessageTree s_modelAngleChildren[3];
|
||||
extern const SettingsMessageTree s_modelEditionModeChildren[2];
|
||||
extern const SettingsMessageTree s_modelFloatDisplayModeChildren[4];
|
||||
extern const SettingsMessageTree s_modelComplexFormatChildren[3];
|
||||
extern const SettingsMessageTree s_modelFontChildren[2];
|
||||
extern const SettingsMessageTree s_modelExamChildren[2];
|
||||
extern const SettingsMessageTree s_modelAboutChildren[3];
|
||||
extern const SettingsMessageTree s_model;
|
||||
|
||||
class MainController : public ViewController, public ListViewDataSource, public SelectableTableViewDataSource {
|
||||
public:
|
||||
MainController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate);
|
||||
|
||||
@@ -3,34 +3,22 @@
|
||||
|
||||
namespace Settings {
|
||||
|
||||
constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
|
||||
constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)};
|
||||
constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)};
|
||||
constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)};
|
||||
constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)};
|
||||
constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::ActivateExamMode), SettingsMessageTree(I18n::Message::ActivateDutchExamMode)};
|
||||
constexpr SettingsMessageTree s_modelAboutChildren[3] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)};
|
||||
|
||||
constexpr SettingsMessageTree s_modelMenu[] =
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren, 4),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3),
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren),
|
||||
SettingsMessageTree(I18n::Message::Brightness),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren),
|
||||
SettingsMessageTree(I18n::Message::Language),
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren),
|
||||
SettingsMessageTree(I18n::Message::BetaPopUp),
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 3)};
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren)};
|
||||
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10);
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu);
|
||||
|
||||
I18n::Message MainController::promptMessage() const {
|
||||
return I18n::Message::BetaPopUp;
|
||||
}
|
||||
|
||||
const SettingsMessageTree * MainController::model() {
|
||||
return &s_model;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,34 +3,21 @@
|
||||
|
||||
namespace Settings {
|
||||
|
||||
// TODO: factorize most parts of the final models with main_controller_prompt_beta and main_controller_prompt_update
|
||||
constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
|
||||
constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)};
|
||||
constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)};
|
||||
constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)};
|
||||
constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)};
|
||||
constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::ActivateExamMode), SettingsMessageTree(I18n::Message::ActivateDutchExamMode)};
|
||||
constexpr SettingsMessageTree s_modelAboutChildren[3] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)};
|
||||
|
||||
constexpr SettingsMessageTree s_modelMenu[] =
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren, 4),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3),
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren),
|
||||
SettingsMessageTree(I18n::Message::Brightness),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren),
|
||||
SettingsMessageTree(I18n::Message::Language),
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 3)};
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren),
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren)};
|
||||
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 9);
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu);
|
||||
|
||||
I18n::Message MainController::promptMessage() const {
|
||||
return I18n::Message::Default;
|
||||
}
|
||||
|
||||
const SettingsMessageTree * MainController::model() {
|
||||
return &s_model;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,34 +3,22 @@
|
||||
|
||||
namespace Settings {
|
||||
|
||||
constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)};
|
||||
constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)};
|
||||
constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)};
|
||||
constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)};
|
||||
constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)};
|
||||
constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::ActivateExamMode), SettingsMessageTree(I18n::Message::ActivateDutchExamMode)};
|
||||
constexpr SettingsMessageTree s_modelAboutChildren[3] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)};
|
||||
|
||||
constexpr SettingsMessageTree s_modelMenu[] =
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren, 4),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3),
|
||||
{SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren),
|
||||
SettingsMessageTree(I18n::Message::DisplayMode, s_modelFloatDisplayModeChildren),
|
||||
SettingsMessageTree(I18n::Message::EditionMode, s_modelEditionModeChildren),
|
||||
SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren),
|
||||
SettingsMessageTree(I18n::Message::Brightness),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::FontSizes, s_modelFontChildren),
|
||||
SettingsMessageTree(I18n::Message::Language),
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2),
|
||||
SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren),
|
||||
SettingsMessageTree(I18n::Message::UpdatePopUp),
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 3)};
|
||||
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren)};
|
||||
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10);
|
||||
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu);
|
||||
|
||||
I18n::Message MainController::promptMessage() const {
|
||||
return I18n::Message::UpdatePopUp;
|
||||
}
|
||||
|
||||
const SettingsMessageTree * MainController::model() {
|
||||
return &s_model;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,8 +7,14 @@ namespace Settings {
|
||||
|
||||
class SettingsMessageTree : public MessageTree {
|
||||
public:
|
||||
constexpr SettingsMessageTree(I18n::Message label = I18n::Message::Default, const SettingsMessageTree * children = nullptr, int numberOfChildren = 0) :
|
||||
MessageTree(label, numberOfChildren),
|
||||
constexpr SettingsMessageTree(I18n::Message label = I18n::Message::Default) :
|
||||
MessageTree(label, 0),
|
||||
m_children(nullptr)
|
||||
{
|
||||
};
|
||||
template <int N>
|
||||
constexpr SettingsMessageTree(I18n::Message label, const SettingsMessageTree (&children)[N] = nullptr) :
|
||||
MessageTree(label, N),
|
||||
m_children(children)
|
||||
{
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
class MessageTree {
|
||||
public:
|
||||
constexpr MessageTree(I18n::Message label = (I18n::Message)0, int numberOfChildren = 0) :
|
||||
constexpr MessageTree(I18n::Message label = (I18n::Message)0, const int numberOfChildren = 0) :
|
||||
m_label(label),
|
||||
m_numberOfChildren(numberOfChildren)
|
||||
{
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
bool isNull() const { return (m_label == (I18n::Message)0); }
|
||||
protected:
|
||||
I18n::Message m_label;
|
||||
int m_numberOfChildren;
|
||||
const int m_numberOfChildren;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user