From eb3da7f395d8885e4f855c36bc8f7f2812fbb768 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Tue, 14 May 2019 15:06:23 +0200 Subject: [PATCH] [apps] Substitute "app()->container()" by "AppsContainer::sharedAppsContainer()" --- apps/code/console_controller.cpp | 6 +++--- apps/code/menu_controller.cpp | 6 +++--- apps/code/sandbox_controller.cpp | 2 +- apps/exam_pop_up_controller.cpp | 5 ++--- apps/graph/list/list_controller.cpp | 6 +++--- apps/hardware_test/pop_up_controller.cpp | 3 +-- apps/on_boarding/language_controller.cpp | 2 +- apps/on_boarding/pop_up_controller.cpp | 2 +- apps/regression/calculation_controller.cpp | 2 +- apps/regression/go_to_parameter_controller.cpp | 2 +- apps/regression/graph_controller.cpp | 2 +- apps/regression/graph_view.cpp | 2 +- apps/regression/store_controller.cpp | 2 +- apps/settings/sub_menu/exam_mode_controller.cpp | 3 +-- apps/settings/sub_menu/preferences_controller.cpp | 3 +-- apps/shared/language_controller.cpp | 3 +-- apps/shared/store_controller.cpp | 2 +- apps/statistics/store_controller.cpp | 2 +- 18 files changed, 25 insertions(+), 30 deletions(-) diff --git a/apps/code/console_controller.cpp b/apps/code/console_controller.cpp index bc6fdf4bc..ebcb7a24a 100644 --- a/apps/code/console_controller.cpp +++ b/apps/code/console_controller.cpp @@ -90,7 +90,7 @@ void ConsoleController::terminateInputLoop() { } const char * ConsoleController::inputText(const char * prompt) { - AppsContainer * a = (AppsContainer *)(app()->container()); + AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); m_inputRunLoopActive = true; const char * promptText = prompt; @@ -119,10 +119,10 @@ const char * ConsoleController::inputText(const char * prompt) { // Reload the history m_selectableTableView.reloadData(); m_selectableTableView.selectCellAtLocation(0, m_consoleStore.numberOfLines()); - a->redrawWindow(); + appsContainer->redrawWindow(); // Launch a new input loop - a->runWhile([](void * a){ + appsContainer->runWhile([](void * a){ ConsoleController * c = static_cast(a); return c->inputRunLoopActive(); }, this); diff --git a/apps/code/menu_controller.cpp b/apps/code/menu_controller.cpp index 80e8fd4af..c9378bcbe 100644 --- a/apps/code/menu_controller.cpp +++ b/apps/code/menu_controller.cpp @@ -121,7 +121,7 @@ bool MenuController::handleEvent(Ion::Events::Event event) { void MenuController::renameSelectedScript() { assert(m_selectableTableView.selectedRow() >= 0); assert(m_selectableTableView.selectedRow() < m_scriptStore->numberOfScripts()); - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); m_selectableTableView.selectCellAtLocation(0, (m_selectableTableView.selectedRow())); ScriptNameCell * myCell = static_cast(m_selectableTableView.selectedCell()); app()->setFirstResponder(myCell); @@ -338,7 +338,7 @@ bool MenuController::textFieldDidFinishEditing(TextField * textField, const char m_selectableTableView.selectedCell()->setHighlighted(true); reloadConsole(); app()->setFirstResponder(&m_selectableTableView); - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } else if (error == Script::ErrorStatus::NameTaken) { app()->displayWarning(I18n::Message::NameTaken); @@ -422,7 +422,7 @@ bool MenuController::privateTextFieldDidAbortEditing(TextField * textField, bool m_selectableTableView.selectCellAtLocation(m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow()); app()->setFirstResponder(&m_selectableTableView); } - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } diff --git a/apps/code/sandbox_controller.cpp b/apps/code/sandbox_controller.cpp index 12b5f0332..5b056c53b 100644 --- a/apps/code/sandbox_controller.cpp +++ b/apps/code/sandbox_controller.cpp @@ -48,7 +48,7 @@ bool SandboxController::handleEvent(Ion::Events::Event event) { } void SandboxController::redrawWindow() { - static_cast(const_cast(app()->container()))->redrawWindow(); + AppsContainer::sharedAppsContainer()->redrawWindow(); } } diff --git a/apps/exam_pop_up_controller.cpp b/apps/exam_pop_up_controller.cpp index b72bca2b5..a4568833b 100644 --- a/apps/exam_pop_up_controller.cpp +++ b/apps/exam_pop_up_controller.cpp @@ -47,8 +47,7 @@ bool ExamPopUpController::handleEvent(Ion::Events::Event event) { ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : m_cancelButton(parentResponder, I18n::Message::Cancel, Invocation([](void * context, void * sender) { - ExamPopUpController * controller = (ExamPopUpController *)context; - Container * container = (Container *)controller->app()->container(); + AppsContainer * container = AppsContainer::sharedAppsContainer(); container->activeApp()->dismissModalViewController(); return true; }, parentResponder), KDFont::SmallFont), @@ -56,7 +55,7 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : ExamPopUpController * controller = (ExamPopUpController *)context; GlobalPreferences::ExamMode nextExamMode = controller->isActivatingExamMode() ? GlobalPreferences::ExamMode::Activate : GlobalPreferences::ExamMode::Deactivate; GlobalPreferences::sharedGlobalPreferences()->setExamMode(nextExamMode); - AppsContainer * container = (AppsContainer *)controller->app()->container(); + AppsContainer * container = AppsContainer::sharedAppsContainer(); if (controller->isActivatingExamMode()) { container->reset(); Ion::LED::setColor(KDColorRed); diff --git a/apps/graph/list/list_controller.cpp b/apps/graph/list/list_controller.cpp index df1bfa9c1..5d7a26a02 100644 --- a/apps/graph/list/list_controller.cpp +++ b/apps/graph/list/list_controller.cpp @@ -38,7 +38,7 @@ void ListController::renameSelectedFunction() { computeTitlesColumnWidth(true); selectableTableView()->reloadData(); - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); TextFieldFunctionTitleCell * selectedTitleCell = (TextFieldFunctionTitleCell *)(selectableTableView()->selectedCell()); selectedTitleCell->setHorizontalAlignment(1.0f); app()->setFirstResponder(selectedTitleCell); @@ -91,7 +91,7 @@ bool ListController::textFieldDidFinishEditing(TextField * textField, const char if (selectTab) { m_selectableTableView.parentResponder()->handleEvent(event); } - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } else if (error == Ion::Storage::Record::ErrorStatus::NameTaken) { app()->displayWarning(I18n::Message::NameTaken); @@ -122,7 +122,7 @@ bool ListController::textFieldDidAbortEditing(TextField * textField) { setFunctionNameInTextField(function, textField); m_selectableTableView.selectedCell()->setHighlighted(true); app()->setFirstResponder(&m_selectableTableView); - static_cast(const_cast(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); + AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } diff --git a/apps/hardware_test/pop_up_controller.cpp b/apps/hardware_test/pop_up_controller.cpp index 791846dcf..c51b3dbe0 100644 --- a/apps/hardware_test/pop_up_controller.cpp +++ b/apps/hardware_test/pop_up_controller.cpp @@ -39,8 +39,7 @@ PopUpController::ContentView::ContentView(Responder * parentResponder) : return true; }, this), KDFont::SmallFont), m_okButton(this, I18n::Message::Ok, Invocation([](void * context, void * sender) { - PopUpController::ContentView * view = (PopUpController::ContentView *)context; - AppsContainer * appsContainer = (AppsContainer *)view->app()->container(); + AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); bool switched = appsContainer->switchTo(appsContainer->hardwareTestAppSnapshot()); assert(switched); (void) switched; // Silence compilation warning about unused variable. diff --git a/apps/on_boarding/language_controller.cpp b/apps/on_boarding/language_controller.cpp index c0c7032ba..b9326cbf1 100644 --- a/apps/on_boarding/language_controller.cpp +++ b/apps/on_boarding/language_controller.cpp @@ -17,7 +17,7 @@ void LanguageController::reinitOnBoarding() { bool LanguageController::handleEvent(Ion::Events::Event event) { if (Shared::LanguageController::handleEvent(event)) { - AppsContainer * appsContainer = (AppsContainer *)app()->container(); + AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); #ifdef EPSILON_BOOT_PROMPT app()->displayModalViewController(appsContainer->promptController(), 0.5f, 0.5f); #else diff --git a/apps/on_boarding/pop_up_controller.cpp b/apps/on_boarding/pop_up_controller.cpp index d9596863b..af60e384d 100644 --- a/apps/on_boarding/pop_up_controller.cpp +++ b/apps/on_boarding/pop_up_controller.cpp @@ -53,7 +53,7 @@ PopUpController::PopUpController(I18n::Message * messages, KDColor * colors, uin bool PopUpController::handleEvent(Ion::Events::Event event) { if (event != Ion::Events::Back && event != Ion::Events::OnOff && event != Ion::Events::USBPlug && event != Ion::Events::USBEnumeration) { app()->dismissModalViewController(); - AppsContainer * appsContainer = (AppsContainer *)app()->container(); + AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); if (appsContainer->activeApp()->snapshot() == appsContainer->onBoardingAppSnapshot()) { bool switched = appsContainer->switchTo(appsContainer->appSnapshotAtIndex(0)); assert(switched); diff --git a/apps/regression/calculation_controller.cpp b/apps/regression/calculation_controller.cpp index 145950d19..cb1e4ea40 100644 --- a/apps/regression/calculation_controller.cpp +++ b/apps/regression/calculation_controller.cpp @@ -203,7 +203,7 @@ void CalculationController::willDisplayCellAtLocation(HighlightCell * cell, int Model::Type modelType = m_store->seriesRegressionType(seriesNumber); // Put dashes if regression is not defined - Poincare::Context * globContext = const_cast(static_cast(app()->container()))->globalContext(); + Poincare::Context * globContext = AppsContainer::sharedAppsContainer()->globalContext(); double * coefficients = m_store->coefficientsForSeries(seriesNumber, globContext); bool coefficientsAreDefined = true; int numberOfCoefs = m_store->modelForSeries(seriesNumber)->numberOfCoefficients(); diff --git a/apps/regression/go_to_parameter_controller.cpp b/apps/regression/go_to_parameter_controller.cpp index a2a71a7bc..5074050ad 100644 --- a/apps/regression/go_to_parameter_controller.cpp +++ b/apps/regression/go_to_parameter_controller.cpp @@ -40,7 +40,7 @@ double GoToParameterController::parameterAtIndex(int index) { bool GoToParameterController::setParameterAtIndex(int parameterIndex, double f) { assert(parameterIndex == 0); int series = m_graphController->selectedSeriesIndex(); - Poincare::Context * globContext = const_cast(static_cast(app()->container()))->globalContext(); + Poincare::Context * globContext = AppsContainer::sharedAppsContainer()->globalContext(); double unknown = m_xPrediction ? m_store->yValueForXValue(series, f, globContext) : m_store->xValueForYValue(series, f, globContext); diff --git a/apps/regression/graph_controller.cpp b/apps/regression/graph_controller.cpp index dc6fad3c9..daeeaafae 100644 --- a/apps/regression/graph_controller.cpp +++ b/apps/regression/graph_controller.cpp @@ -97,7 +97,7 @@ void GraphController::selectRegressionCurve() { // Private Poincare::Context * GraphController::globalContext() { - return const_cast(static_cast(app()->container()))->globalContext(); + return AppsContainer::sharedAppsContainer()->globalContext(); } // SimpleInteractiveCurveViewController diff --git a/apps/regression/graph_view.cpp b/apps/regression/graph_view.cpp index b08575c6c..605c61cf8 100644 --- a/apps/regression/graph_view.cpp +++ b/apps/regression/graph_view.cpp @@ -22,11 +22,11 @@ void GraphView::drawRect(KDContext * ctx, KDRect rect) const { drawGrid(ctx, rect); drawAxes(ctx, rect); simpleDrawBothAxesLabels(ctx, rect); + Poincare::Context * globContext = AppsContainer::sharedAppsContainer()->globalContext(); for (int series = 0; series < Store::k_numberOfSeries; series++) { if (!m_store->seriesIsEmpty(series)) { KDColor color = Palette::DataColor[series]; Model * seriesModel = m_store->modelForSeries(series); - Poincare::Context * globContext = const_cast(static_cast(m_controller->app()->container()))->globalContext(); drawCurve(ctx, rect, [](float abscissa, void * model, void * context) { Model * regressionModel = static_cast(model); double * regressionCoefficients = static_cast(context); diff --git a/apps/regression/store_controller.cpp b/apps/regression/store_controller.cpp index a7201efb7..5d237dee0 100644 --- a/apps/regression/store_controller.cpp +++ b/apps/regression/store_controller.cpp @@ -19,7 +19,7 @@ StoreController::StoreController(Responder * parentResponder, InputEventHandlerD } StoreContext * StoreController::storeContext() { - m_regressionContext.setParentContext(const_cast(static_cast(app()->container()))->globalContext()); + m_regressionContext.setParentContext(AppsContainer::sharedAppsContainer()->globalContext()); return &m_regressionContext; } diff --git a/apps/settings/sub_menu/exam_mode_controller.cpp b/apps/settings/sub_menu/exam_mode_controller.cpp index d3cc2890b..6f24abcd7 100644 --- a/apps/settings/sub_menu/exam_mode_controller.cpp +++ b/apps/settings/sub_menu/exam_mode_controller.cpp @@ -24,8 +24,7 @@ bool ExamModeController::handleEvent(Ion::Events::Event event) { if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate) { return false; } - AppsContainer * container = (AppsContainer *)(app()->container()); - container->displayExamModePopUp(true); + AppsContainer::sharedAppsContainer()->displayExamModePopUp(true); return true; } return GenericSubController::handleEvent(event); diff --git a/apps/settings/sub_menu/preferences_controller.cpp b/apps/settings/sub_menu/preferences_controller.cpp index 527a4a530..45b684776 100644 --- a/apps/settings/sub_menu/preferences_controller.cpp +++ b/apps/settings/sub_menu/preferences_controller.cpp @@ -30,8 +30,7 @@ bool PreferencesController::handleEvent(Ion::Events::Event event) { /* Generic behaviour of preference menu*/ assert(m_messageTreeModel->label() != I18n::Message::DisplayMode || selectedRow() != numberOfRows()-1); // In that case, events OK and EXE are handled by the cell setPreferenceWithValueIndex(m_messageTreeModel->label(), selectedRow()); - AppsContainer * myContainer = (AppsContainer * )app()->container(); - myContainer->refreshPreferences(); + AppsContainer::sharedAppsContainer()->refreshPreferences(); StackViewController * stack = stackController(); stack->pop(); return true; diff --git a/apps/shared/language_controller.cpp b/apps/shared/language_controller.cpp index 9dadb13a1..ee0e04084 100644 --- a/apps/shared/language_controller.cpp +++ b/apps/shared/language_controller.cpp @@ -43,8 +43,7 @@ bool LanguageController::handleEvent(Ion::Events::Event event) { GlobalPreferences::sharedGlobalPreferences()->setLanguage((I18n::Language)(selectedRow()+1)); /* We need to reload the whole title bar in order to translate both the * "Settings" title and the degree preference. */ - AppsContainer * myContainer = (AppsContainer * )app()->container(); - myContainer->reloadTitleBarView(); + AppsContainer::sharedAppsContainer()->reloadTitleBarView(); return true; } return false; diff --git a/apps/shared/store_controller.cpp b/apps/shared/store_controller.cpp index 484c61f2c..168d0805e 100644 --- a/apps/shared/store_controller.cpp +++ b/apps/shared/store_controller.cpp @@ -258,7 +258,7 @@ bool StoreController::privateFillColumnWithFormula(Expression formula, Expressio constexpr static int k_maxSizeOfStoreSymbols = 3; // "V1", "N1", "X1", "Y1" char variables[Expression::k_maxNumberOfVariables][k_maxSizeOfStoreSymbols]; variables[0][0] = 0; - AppsContainer * appsContainer = (AppsContainer *)app()->container(); + AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); int nbOfVariables = formula.getVariables(*(appsContainer->globalContext()), isVariable, (char *)variables, k_maxSizeOfStoreSymbols); (void) nbOfVariables; // Remove compilation warning of nused variable assert(nbOfVariables >= 0); diff --git a/apps/statistics/store_controller.cpp b/apps/statistics/store_controller.cpp index db86f0ade..9dac9c3fe 100644 --- a/apps/statistics/store_controller.cpp +++ b/apps/statistics/store_controller.cpp @@ -22,7 +22,7 @@ StoreController::StoreController(Responder * parentResponder, InputEventHandlerD } StoreContext * StoreController::storeContext() { - m_statisticsContext.setParentContext(const_cast(static_cast(app()->container()))->globalContext()); + m_statisticsContext.setParentContext(AppsContainer::sharedAppsContainer()->globalContext()); return &m_statisticsContext; }