From 024e55abebe9eb17be17b6a0e0d3901ee58aec90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Fri, 14 Apr 2017 18:30:58 +0200 Subject: [PATCH] [apps][escher] Delete magic numbers Change-Id: If7a589d9f02895fc1b2e8b496133ab11381e733c --- apps/calculation/calculation.h | 6 +++--- apps/calculation/edit_expression_controller.cpp | 2 +- apps/calculation/edit_expression_controller.h | 2 +- apps/graph/list/list_controller.cpp | 2 +- apps/probability/calculation_controller.h | 2 +- apps/sequence/list/list_controller.cpp | 2 +- apps/sequence/sequence.h | 4 ++-- apps/shared/function.h | 4 ++-- apps/shared/store_controller.h | 2 +- apps/shared/values_controller.h | 2 +- escher/include/escher/editable_text_cell.h | 3 +-- escher/include/escher/input_view_controller.h | 2 +- .../include/escher/message_table_cell_with_editable_text.h | 2 +- escher/include/escher/text_field.h | 3 +++ escher/src/editable_text_cell.cpp | 2 +- escher/src/input_view_controller.cpp | 2 +- escher/src/message_table_cell_with_editable_text.cpp | 2 +- 17 files changed, 23 insertions(+), 21 deletions(-) diff --git a/apps/calculation/calculation.h b/apps/calculation/calculation.h index 212ec24ef..13b292d41 100644 --- a/apps/calculation/calculation.h +++ b/apps/calculation/calculation.h @@ -2,6 +2,7 @@ #define CALCULATION_CALCULATION_H #include +#include namespace Calculation { @@ -24,10 +25,9 @@ public: Poincare::ExpressionLayout * outputLayout(); void setContent(const char * c, Poincare::Context * context); bool isEmpty(); - constexpr static int k_maximalExpressionTextLength = 255; private: - char m_inputText[k_maximalExpressionTextLength]; - char m_outputText[k_maximalExpressionTextLength]; + char m_inputText[::TextField::maxBufferSize()]; + char m_outputText[::TextField::maxBufferSize()]; Poincare::Expression * m_input; Poincare::ExpressionLayout * m_inputLayout; Poincare::Expression * m_output; diff --git a/apps/calculation/edit_expression_controller.cpp b/apps/calculation/edit_expression_controller.cpp index 6ccb75372..7c84a5535 100644 --- a/apps/calculation/edit_expression_controller.cpp +++ b/apps/calculation/edit_expression_controller.cpp @@ -10,7 +10,7 @@ namespace Calculation { EditExpressionController::ContentView::ContentView(Responder * parentResponder, TableView * subview, TextFieldDelegate * textFieldDelegate) : View(), m_mainView(subview), - m_textField(parentResponder, m_textBody, 255, textFieldDelegate) + m_textField(parentResponder, m_textBody, 100, textFieldDelegate) { m_textBody[0] = 0; } diff --git a/apps/calculation/edit_expression_controller.h b/apps/calculation/edit_expression_controller.h index aa4135288..e652dc79d 100644 --- a/apps/calculation/edit_expression_controller.h +++ b/apps/calculation/edit_expression_controller.h @@ -35,7 +35,7 @@ private: constexpr static int k_separatorThickness = 1; TableView * m_mainView; TextField m_textField; - char m_textBody[255]; + char m_textBody[TextField::maxBufferSize()]; }; Shared::TextFieldDelegateApp * textFieldDelegateApp() override; ContentView m_contentView; diff --git a/apps/graph/list/list_controller.cpp b/apps/graph/list/list_controller.cpp index 2d6728767..397ab863d 100644 --- a/apps/graph/list/list_controller.cpp +++ b/apps/graph/list/list_controller.cpp @@ -40,7 +40,7 @@ KDCoordinate ListController::rowHeight(int j) { void ListController::editExpression(Function * function, Ion::Events::Event event) { char * initialText = nullptr; - char initialTextContent[255]; + char initialTextContent[TextField::maxBufferSize()]; if (event == Ion::Events::OK) { strlcpy(initialTextContent, function->text(), sizeof(initialTextContent)); initialText = initialTextContent; diff --git a/apps/probability/calculation_controller.h b/apps/probability/calculation_controller.h index 6a4c569a5..c768fb433 100644 --- a/apps/probability/calculation_controller.h +++ b/apps/probability/calculation_controller.h @@ -48,7 +48,7 @@ private: LawCurveView m_lawCurveView; ImageTableView m_imageTableView; MessageTextView m_text[k_maxNumberOfEditableFields]; - char m_draftTextBuffer[EditableTextCell::k_bufferLength]; + char m_draftTextBuffer[TextField::maxBufferSize()]; EditableTextCell m_calculationCell[k_maxNumberOfEditableFields]; Calculation * m_calculation; }; diff --git a/apps/sequence/list/list_controller.cpp b/apps/sequence/list/list_controller.cpp index 3e20e222d..6b64ad982 100644 --- a/apps/sequence/list/list_controller.cpp +++ b/apps/sequence/list/list_controller.cpp @@ -85,7 +85,7 @@ void ListController::selectPreviousNewSequenceCell() { void ListController::editExpression(Sequence * sequence, int sequenceDefinition, Ion::Events::Event event) { char * initialText = nullptr; - char initialTextContent[255]; + char initialTextContent[TextField::maxBufferSize()]; if (event == Ion::Events::OK) { switch (sequenceDefinition) { case 0: diff --git a/apps/sequence/sequence.h b/apps/sequence/sequence.h index b6665d330..b8811487e 100644 --- a/apps/sequence/sequence.h +++ b/apps/sequence/sequence.h @@ -37,8 +37,8 @@ private: constexpr static int k_maxRecurrentRank = 10000; char symbol() const override; Type m_type; - char m_firstInitialConditionText[Shared::Function::k_bodyLength]; - char m_secondInitialConditionText[Shared::Function::k_bodyLength]; + char m_firstInitialConditionText[TextField::maxBufferSize()]; + char m_secondInitialConditionText[TextField::maxBufferSize()]; Poincare::Expression * m_firstInitialConditionExpression; Poincare::Expression * m_secondInitialConditionExpression; Poincare::ExpressionLayout * m_firstInitialConditionLayout; diff --git a/apps/shared/function.h b/apps/shared/function.h index 51a60ba38..c9a8d82a8 100644 --- a/apps/shared/function.h +++ b/apps/shared/function.h @@ -3,6 +3,7 @@ #include #include +#include namespace Shared { @@ -22,11 +23,10 @@ public: void setColor(KDColor m_color); virtual float evaluateAtAbscissa(float x, Poincare::Context * context) const; protected: - constexpr static int k_bodyLength = 255; Poincare::Expression * m_expression; private: virtual char symbol() const = 0; - char m_text[k_bodyLength]; + char m_text[TextField::maxBufferSize()]; const char * m_name; KDColor m_color; Poincare::ExpressionLayout * m_layout; diff --git a/apps/shared/store_controller.h b/apps/shared/store_controller.h index 6ed900e7c..57849ec67 100644 --- a/apps/shared/store_controller.h +++ b/apps/shared/store_controller.h @@ -33,7 +33,7 @@ protected: int numberOfElements() override; int maxNumberOfElements() const override; virtual HighlightCell * titleCells(int index) = 0; - char m_draftTextBuffer[EditableTextCell::k_bufferLength]; + char m_draftTextBuffer[TextField::maxBufferSize()]; EvenOddEditableTextCell m_editableCells[k_maxNumberOfEditableCells]; FloatPairStore * m_store; StoreParameterController m_storeParameterController; diff --git a/apps/shared/values_controller.h b/apps/shared/values_controller.h index 5578a44e3..380dabfab 100644 --- a/apps/shared/values_controller.h +++ b/apps/shared/values_controller.h @@ -60,7 +60,7 @@ private: EvenOddMessageTextCell m_abscissaTitleCell; virtual FunctionTitleCell * functionTitleCells(int j) = 0; virtual EvenOddBufferTextCell * floatCells(int j) = 0; - char m_draftTextBuffer[EditableTextCell::k_bufferLength]; + char m_draftTextBuffer[TextField::maxBufferSize()]; EvenOddEditableTextCell m_abscissaCells[k_maxNumberOfAbscissaCells]; virtual FunctionStore * functionStore() const = 0; virtual ValuesFunctionParameterController * functionParameterController() = 0; diff --git a/escher/include/escher/editable_text_cell.h b/escher/include/escher/editable_text_cell.h index 635ce9ec5..4912105a3 100644 --- a/escher/include/escher/editable_text_cell.h +++ b/escher/include/escher/editable_text_cell.h @@ -21,11 +21,10 @@ public: bool isEditing(); void setEditing(bool isEditing); KDSize minimalSizeForOptimalDisplay() const override; - constexpr static int k_bufferLength = 255; private: constexpr static KDCoordinate k_separatorThickness = 1; TextField m_textField; - char m_textBody[k_bufferLength]; + char m_textBody[TextField::maxBufferSize()]; }; #endif diff --git a/escher/include/escher/input_view_controller.h b/escher/include/escher/input_view_controller.h index 25e88254b..effd51238 100644 --- a/escher/include/escher/input_view_controller.h +++ b/escher/include/escher/input_view_controller.h @@ -37,7 +37,7 @@ private: constexpr static int k_inputHeight = 37; constexpr static int k_separatorThickness = 1; TextField m_textField; - char m_textBody[255]; + char m_textBody[TextField::maxBufferSize()]; }; ContentView m_view; }; diff --git a/escher/include/escher/message_table_cell_with_editable_text.h b/escher/include/escher/message_table_cell_with_editable_text.h index 86ab2fb9d..67d6a8c8f 100644 --- a/escher/include/escher/message_table_cell_with_editable_text.h +++ b/escher/include/escher/message_table_cell_with_editable_text.h @@ -16,7 +16,7 @@ public: void setHighlighted(bool highlight) override; void setAccessoryText(const char * text); void setTextColor(KDColor color) override; - constexpr static int k_bufferLength = 255; + constexpr static int k_bufferLength = TextField::maxBufferSize(); private: constexpr static int k_maxNumberOfEditableCharacters = 14; TextField m_textField; diff --git a/escher/include/escher/text_field.h b/escher/include/escher/text_field.h index 123cb1f32..f4631f386 100644 --- a/escher/include/escher/text_field.h +++ b/escher/include/escher/text_field.h @@ -29,6 +29,9 @@ public: KDSize minimalSizeForOptimalDisplay() const override; void setTextFieldDelegate(TextFieldDelegate * delegate); bool handleEvent(Ion::Events::Event event) override; + constexpr static int maxBufferSize() { + return ContentView::k_maxBufferSize; + } protected: class ContentView : public View { public: diff --git a/escher/src/editable_text_cell.cpp b/escher/src/editable_text_cell.cpp index 729f5e11b..89dc2ad60 100644 --- a/escher/src/editable_text_cell.cpp +++ b/escher/src/editable_text_cell.cpp @@ -7,7 +7,7 @@ EditableTextCell::EditableTextCell(Responder * parentResponder, TextFieldDelegat KDText::FontSize size, float horizontalAlignment, float verticalAlignment, KDColor textColor, KDColor backgroundColor) : HighlightCell(), Responder(parentResponder), - m_textField(TextField(this, m_textBody, draftTextBuffer, 255, delegate, true, size, horizontalAlignment, verticalAlignment, textColor, backgroundColor)) + m_textField(TextField(this, m_textBody, draftTextBuffer, TextField::maxBufferSize(), delegate, true, size, horizontalAlignment, verticalAlignment, textColor, backgroundColor)) { } diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index 70ab4305f..d30606b51 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -6,7 +6,7 @@ InputViewController::TextFieldController::ContentView::ContentView(Responder * parentResponder, TextFieldDelegate * textFieldDelegate) : Responder(parentResponder), View(), - m_textField(this, m_textBody, m_textBody, 255, textFieldDelegate, false) + m_textField(this, m_textBody, m_textBody, TextField::maxBufferSize(), textFieldDelegate, false) { m_textBody[0] = 0; } diff --git a/escher/src/message_table_cell_with_editable_text.cpp b/escher/src/message_table_cell_with_editable_text.cpp index b76d2fbf6..bd08deb17 100644 --- a/escher/src/message_table_cell_with_editable_text.cpp +++ b/escher/src/message_table_cell_with_editable_text.cpp @@ -5,7 +5,7 @@ MessageTableCellWithEditableText::MessageTableCellWithEditableText(Responder * parentResponder, TextFieldDelegate * textFieldDelegate, char * draftTextBuffer, I18n::Message message) : Responder(parentResponder), MessageTableCell(message), - m_textField(TextField(this, m_textBody, draftTextBuffer, 255, textFieldDelegate, true, KDText::FontSize::Large, 1.0f, 0.5f)) + m_textField(TextField(this, m_textBody, draftTextBuffer, TextField::maxBufferSize(), textFieldDelegate, true, KDText::FontSize::Large, 1.0f, 0.5f)) { }