[escher/apps] Factorization of Toolbox.

MathToolbox methods moved to its parent, Toolbox (in escher).
Node and ToolboxNode classes renamed MessageTree and ToolboxMessageTree.
They are now in escher/, not in apps/.

Change-Id: Ibb26b0e9016094cef79506a1e9fc6dfb492d7103
This commit is contained in:
Léa Saviot
2017-10-31 15:18:09 +01:00
committed by Romain Goyet
parent fc603df886
commit 68e237702b
24 changed files with 510 additions and 485 deletions

View File

@@ -10,27 +10,27 @@ using namespace Poincare;
namespace Settings {
const SettingsNode angleChildren[2] = {SettingsNode(I18n::Message::Degres), SettingsNode(I18n::Message::Radian)};
const SettingsNode FloatDisplayModeChildren[2] = {SettingsNode(I18n::Message::Auto), SettingsNode(I18n::Message::Scientific)};
const SettingsNode complexFormatChildren[2] = {SettingsNode(I18n::Message::Default), SettingsNode(I18n::Message::Default)};
const SettingsNode examChildren[1] = {SettingsNode(I18n::Message::ActivateExamMode)};
const SettingsNode aboutChildren[3] = {SettingsNode(I18n::Message::SoftwareVersion), SettingsNode(I18n::Message::SerialNumber), SettingsNode(I18n::Message::FccId)};
const SettingsMessageTree angleChildren[2] = {SettingsMessageTree(I18n::Message::Degres), SettingsMessageTree(I18n::Message::Radian)};
const SettingsMessageTree FloatDisplayModeChildren[2] = {SettingsMessageTree(I18n::Message::Auto), SettingsMessageTree(I18n::Message::Scientific)};
const SettingsMessageTree complexFormatChildren[2] = {SettingsMessageTree(I18n::Message::Default), SettingsMessageTree(I18n::Message::Default)};
const SettingsMessageTree examChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)};
const SettingsMessageTree aboutChildren[3] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)};
#if OS_WITH_SOFTWARE_UPDATE_PROMPT
const SettingsNode menu[8] =
const SettingsMessageTree menu[8] =
#else
const SettingsNode menu[7] =
const SettingsMessageTree menu[7] =
#endif
{SettingsNode(I18n::Message::AngleUnit, angleChildren, 2), SettingsNode(I18n::Message::DisplayMode, FloatDisplayModeChildren, 2), SettingsNode(I18n::Message::ComplexFormat, complexFormatChildren, 2),
SettingsNode(I18n::Message::Brightness), SettingsNode(I18n::Message::Language), SettingsNode(I18n::Message::ExamMode, examChildren, 1),
{SettingsMessageTree(I18n::Message::AngleUnit, angleChildren, 2), SettingsMessageTree(I18n::Message::DisplayMode, FloatDisplayModeChildren, 2), SettingsMessageTree(I18n::Message::ComplexFormat, complexFormatChildren, 2),
SettingsMessageTree(I18n::Message::Brightness), SettingsMessageTree(I18n::Message::Language), SettingsMessageTree(I18n::Message::ExamMode, examChildren, 1),
#if OS_WITH_SOFTWARE_UPDATE_PROMPT
SettingsNode(I18n::Message::UpdatePopUp),
SettingsMessageTree(I18n::Message::UpdatePopUp),
#endif
SettingsNode(I18n::Message::About, aboutChildren, 3)};
SettingsMessageTree(I18n::Message::About, aboutChildren, 3)};
#if OS_WITH_SOFTWARE_UPDATE_PROMPT
const SettingsNode model = SettingsNode(I18n::Message::SettingsApp, menu, 8);
const SettingsMessageTree model = SettingsMessageTree(I18n::Message::SettingsApp, menu, 8);
#else
const SettingsNode model = SettingsNode(I18n::Message::SettingsApp, menu, 7);
const SettingsMessageTree model = SettingsMessageTree(I18n::Message::SettingsApp, menu, 7);
#endif
MainController::MainController(Responder * parentResponder) :
@@ -43,7 +43,7 @@ MainController::MainController(Responder * parentResponder) :
m_complexFormatLayout(nullptr),
m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin,
Metric::CommonBottomMargin, Metric::CommonLeftMargin, this),
m_nodeModel((Node *)&model),
m_messageTreeModel((MessageTree *)&model),
m_subController(this),
m_languageController(this, 13)
{
@@ -59,7 +59,7 @@ MainController::~MainController() {
}
}
const char * MainController::title() {
return I18n::translate(m_nodeModel->label());
return I18n::translate(m_messageTreeModel->label());
}
View * MainController::view() {
@@ -74,9 +74,9 @@ void MainController::didBecomeFirstResponder() {
}
bool MainController::handleEvent(Ion::Events::Event event) {
if (m_nodeModel->children(selectedRow())->numberOfChildren() == 0) {
if (m_messageTreeModel->children(selectedRow())->numberOfChildren() == 0) {
#if OS_WITH_SOFTWARE_UPDATE_PROMPT
if (m_nodeModel->children(selectedRow())->label() == I18n::Message::UpdatePopUp) {
if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::UpdatePopUp) {
if (event == Ion::Events::OK || event == Ion::Events::EXE) {
GlobalPreferences::sharedGlobalPreferences()->setShowUpdatePopUp(!GlobalPreferences::sharedGlobalPreferences()->showUpdatePopUp());
m_selectableTableView.reloadCellAtLocation(m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow());
@@ -85,7 +85,7 @@ bool MainController::handleEvent(Ion::Events::Event event) {
return false;
}
#endif
if (m_nodeModel->children(selectedRow())->label() == I18n::Message::Brightness) {
if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::Brightness) {
if (event == Ion::Events::Right || event == Ion::Events::Left || event == Ion::Events::Plus || event == Ion::Events::Minus) {
int delta = Ion::Backlight::MaxBrightness/GlobalPreferences::NumberOfBrightnessStates;
int direction = (event == Ion::Events::Right || event == Ion::Events::Plus) ? delta : -delta;
@@ -95,7 +95,7 @@ bool MainController::handleEvent(Ion::Events::Event event) {
}
return false;
}
if (m_nodeModel->children(selectedRow())->label() == I18n::Message::Language) {
if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::Language) {
if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) {
stackController()->push(&m_languageController);
return true;
@@ -104,7 +104,7 @@ bool MainController::handleEvent(Ion::Events::Event event) {
}
}
if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) {
m_subController.setNodeModel(m_nodeModel->children(selectedRow()));
m_subController.setMessageTreeModel(m_messageTreeModel->children(selectedRow()));
StackViewController * stack = stackController();
stack->push(&m_subController);
return true;
@@ -113,7 +113,7 @@ bool MainController::handleEvent(Ion::Events::Event event) {
}
int MainController::numberOfRows() {
return m_nodeModel->numberOfChildren();
return m_messageTreeModel->numberOfChildren();
};
KDCoordinate MainController::rowHeight(int j) {
@@ -170,7 +170,7 @@ int MainController::typeAtLocation(int i, int j) {
void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) {
MessageTableCell * myCell = (MessageTableCell *)cell;
myCell->setMessage(m_nodeModel->children(index)->label());
myCell->setMessage(m_messageTreeModel->children(index)->label());
if (index == 2) {
if (m_complexFormatLayout) {
@@ -211,13 +211,13 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) {
MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell;
switch (index) {
case 0:
myTextCell->setSubtitle(m_nodeModel->children(index)->children((int)Preferences::sharedPreferences()->angleUnit())->label());
myTextCell->setSubtitle(m_messageTreeModel->children(index)->children((int)Preferences::sharedPreferences()->angleUnit())->label());
break;
case 1:
myTextCell->setSubtitle(m_nodeModel->children(index)->children((int)Preferences::sharedPreferences()->displayMode())->label());
myTextCell->setSubtitle(m_messageTreeModel->children(index)->children((int)Preferences::sharedPreferences()->displayMode())->label());
break;
case 4:
myTextCell->setSubtitle(m_nodeModel->children(index)->children((int)GlobalPreferences::sharedGlobalPreferences()->language()-1)->label());
myTextCell->setSubtitle(m_messageTreeModel->children(index)->children((int)GlobalPreferences::sharedGlobalPreferences()->language()-1)->label());
break;
default:
myTextCell->setSubtitle(I18n::Message::Default);