diff --git a/apps/apps_container.h b/apps/apps_container.h index 31b9f5abd..302618e47 100644 --- a/apps/apps_container.h +++ b/apps/apps_container.h @@ -14,6 +14,7 @@ #include "battery_timer.h" #include "suspend_timer.h" #include "backlight_dimming_timer.h" +#include "shared/global_context.h" #define USE_PIC_VIEW_APP 0 #if USE_PIC_VIEW_APP @@ -69,7 +70,7 @@ private: #if USE_PIC_VIEW_APP PicViewApp m_picViewApp; #endif - Poincare::GlobalContext m_globalContext; + Shared::GlobalContext m_globalContext; MathToolbox m_mathToolbox; VariableBoxController m_variableBoxController; ExamPopUpController m_examPopUpController; diff --git a/apps/graph/storage_cartesian_function.h b/apps/graph/storage_cartesian_function.h index 26d3a5cb7..8f2abb916 100644 --- a/apps/graph/storage_cartesian_function.h +++ b/apps/graph/storage_cartesian_function.h @@ -1,15 +1,15 @@ #ifndef GRAPH_STORAGE_CARTESIAN_FUNCTION_H #define GRAPH_STORAGE_CARTESIAN_FUNCTION_H +#include "../shared/global_context.h" #include "../shared/storage_function.h" -#include #include namespace Graph { class StorageCartesianFunction : public Shared::StorageFunction { public: - static const char * Extension() { return Poincare::GlobalContext::funcExtension; } + static const char * Extension() { return Shared::GlobalContext::funcExtension; } static void DefaultName(char buffer[], size_t bufferSize); static StorageCartesianFunction NewModel(Ion::Storage::Record record); StorageCartesianFunction(const char * text = nullptr) : diff --git a/apps/shared/Makefile b/apps/shared/Makefile index 47a09ad64..291658b00 100644 --- a/apps/shared/Makefile +++ b/apps/shared/Makefile @@ -25,6 +25,7 @@ app_objs += $(addprefix apps/shared/,\ function_list_controller.o\ function_store.o\ function_title_cell.o\ + global_context.o\ go_to_parameter_controller.o\ hideable_even_odd_cell.o\ hideable_even_odd_editable_text_cell.o\ diff --git a/poincare/src/global_context.cpp b/apps/shared/global_context.cpp similarity index 97% rename from poincare/src/global_context.cpp rename to apps/shared/global_context.cpp index c09bb6915..9b372fca9 100644 --- a/poincare/src/global_context.cpp +++ b/apps/shared/global_context.cpp @@ -1,4 +1,4 @@ -#include +#include "global_context.h" #include #include #include @@ -6,7 +6,9 @@ #include #include -namespace Poincare { +using namespace Poincare; + +namespace Shared { constexpr char GlobalContext::expExtension[]; constexpr char GlobalContext::funcExtension[]; diff --git a/poincare/include/poincare/global_context.h b/apps/shared/global_context.h similarity index 60% rename from poincare/include/poincare/global_context.h rename to apps/shared/global_context.h index 9a802fe62..a72077b7c 100644 --- a/poincare/include/poincare/global_context.h +++ b/apps/shared/global_context.h @@ -1,5 +1,5 @@ -#ifndef POINCARE_GLOBAL_CONTEXT_H -#define POINCARE_GLOBAL_CONTEXT_H +#ifndef APPS_SHARED_GLOBAL_CONTEXT_H +#define APPS_SHARED_GLOBAL_CONTEXT_H #include #include @@ -8,25 +8,25 @@ #include #include -namespace Poincare { +namespace Shared { class Integer; -class GlobalContext final : public Context { +class GlobalContext final : public Poincare::Context { public: // TODO: should this be store elsewhere? static constexpr char funcExtension[] = "func"; static constexpr char expExtension[] = "exp"; /* The expression recorded in global context is already a expression. * Otherwise, we would need the context and the angle unit to evaluate it */ - const Expression expressionForSymbol(const SymbolAbstract & symbol) override; - void setExpressionForSymbol(const Expression & expression, const SymbolAbstract & symbol, Context & context) override; + const Poincare::Expression expressionForSymbol(const Poincare::SymbolAbstract & symbol) override; + void setExpressionForSymbol(const Poincare::Expression & expression, const Poincare::SymbolAbstract & symbol, Poincare::Context & context) override; static Ion::Storage::Record RecordWithName(const char * name); static bool storageMemoryFull(); //TODO static constexpr uint16_t k_maxNumberOfSequences = 10; private: //static constexpr char seqExtension[] = "seq"; - static const char * ExtensionForExpression(const Expression & exp); + static const char * ExtensionForExpression(const Poincare::Expression & exp); }; } diff --git a/apps/shared/storage_expression_model.cpp b/apps/shared/storage_expression_model.cpp index 45a6a2dd4..6af9a2468 100644 --- a/apps/shared/storage_expression_model.cpp +++ b/apps/shared/storage_expression_model.cpp @@ -1,4 +1,5 @@ #include "storage_expression_model.h" +#include "global_context.h" #include "poincare_helpers.h" #include #include @@ -76,7 +77,7 @@ void StorageExpressionModel::tidy() { m_expression = Expression(); } -Expression expressionToStoreFromString(const char * c) { +Expression StorageExpressionModel::expressionToStoreFromString(const char * c) { Expression expressionToStore = Expression::parse(c); if (!expressionToStore.isUninitialized()) { GlobalContext context; diff --git a/apps/shared/storage_expression_model.h b/apps/shared/storage_expression_model.h index 329b899d1..e7b6eb0eb 100644 --- a/apps/shared/storage_expression_model.h +++ b/apps/shared/storage_expression_model.h @@ -30,7 +30,7 @@ public: virtual void setContent(const char * c); virtual void tidy(); protected: - Poincare::Expression contentFromString(const char * c); + Poincare::Expression expressionToStoreFromString(const char * c); void setContentExpression(Poincare::Expression expressionToStore); Ion::Storage::Record record() const; const char * m_name; diff --git a/apps/variable_box_controller.cpp b/apps/variable_box_controller.cpp index 2d812725c..03e4e0be7 100644 --- a/apps/variable_box_controller.cpp +++ b/apps/variable_box_controller.cpp @@ -1,4 +1,5 @@ #include "variable_box_controller.h" +#include "shared/global_context.h" #include "shared/poincare_helpers.h" #include "constant.h" #include diff --git a/apps/variable_box_controller.h b/apps/variable_box_controller.h index 266d42595..54515d2aa 100644 --- a/apps/variable_box_controller.h +++ b/apps/variable_box_controller.h @@ -4,7 +4,7 @@ #define MATRIX_VARIABLES 1 #include -#include +#include "shared/global_context.h" #include "i18n.h" class VariableBoxController : public NestedMenuController { diff --git a/poincare/Makefile b/poincare/Makefile index cea4501fe..71c3c3986 100644 --- a/poincare/Makefile +++ b/poincare/Makefile @@ -71,7 +71,6 @@ objs += $(addprefix poincare/src/,\ floor.o\ frac_part.o\ function.o\ - global_context.o\ great_common_divisor.o\ hyperbolic_arc_cosine.o\ hyperbolic_arc_sine.o\ diff --git a/poincare/include/poincare_nodes.h b/poincare/include/poincare_nodes.h index c52c4fa7e..7b1f9aee8 100644 --- a/poincare/include/poincare_nodes.h +++ b/poincare/include/poincare_nodes.h @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include diff --git a/poincare/src/power.cpp b/poincare/src/power.cpp index 0c31ac74c..8480e7ace 100644 --- a/poincare/src/power.cpp +++ b/poincare/src/power.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include diff --git a/poincare/test/arithmetic.cpp b/poincare/test/arithmetic.cpp index f26257d42..39cd532e1 100644 --- a/poincare/test/arithmetic.cpp +++ b/poincare/test/arithmetic.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include