diff --git a/apps/calculation/edit_expression_controller.cpp b/apps/calculation/edit_expression_controller.cpp index 6d5a54cc7..de82ba2d7 100644 --- a/apps/calculation/edit_expression_controller.cpp +++ b/apps/calculation/edit_expression_controller.cpp @@ -108,10 +108,6 @@ void EditExpressionController::layoutFieldDidChangeSize(::LayoutField * layoutFi } } -TextFieldDelegateApp * EditExpressionController::textFieldDelegateApp() { - return app(); -} - void EditExpressionController::reloadView() { ((ContentView *)view())->reload(); m_historyController->reload(); diff --git a/apps/calculation/edit_expression_controller.h b/apps/calculation/edit_expression_controller.h index 565828999..bf77b285d 100644 --- a/apps/calculation/edit_expression_controller.h +++ b/apps/calculation/edit_expression_controller.h @@ -53,7 +53,6 @@ private: bool inputViewDidReceiveEvent(Ion::Events::Event event, bool shouldDuplicateLastCalculation); bool inputViewDidFinishEditing(const char * text, Poincare::Layout layoutR); bool inputViewDidAbortEditing(const char * text); - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; static constexpr int k_cacheBufferSize = Constant::MaxSerializedExpressionSize; char m_cacheBuffer[k_cacheBufferSize]; HistoryController * m_historyController; diff --git a/apps/graph/list/list_controller.cpp b/apps/graph/list/list_controller.cpp index 751634b06..5d7a26a02 100644 --- a/apps/graph/list/list_controller.cpp +++ b/apps/graph/list/list_controller.cpp @@ -189,8 +189,4 @@ void ListController::setFunctionNameInTextField(ExpiringPointer functi textField->setText(bufferName); } -Shared::TextFieldDelegateApp * ListController::textFieldDelegateApp() { - return app(); -} - } diff --git a/apps/graph/list/list_controller.h b/apps/graph/list/list_controller.h index a4e439b4b..72497dd1f 100644 --- a/apps/graph/list/list_controller.h +++ b/apps/graph/list/list_controller.h @@ -29,7 +29,6 @@ private: HighlightCell * expressionCells(int index) override; void willDisplayTitleCellAtIndex(HighlightCell * cell, int j) override; void willDisplayExpressionCellAtIndex(HighlightCell * cell, int j) override; - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; void setFunctionNameInTextField(Shared::ExpiringPointer function, TextField * textField); TextFieldFunctionTitleCell m_functionTitleCells[k_maxNumberOfDisplayableRows]; Shared::FunctionExpressionCell m_expressionCells[k_maxNumberOfDisplayableRows]; diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index 0ab3a4e28..91e939d2a 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -266,10 +266,6 @@ void CalculationController::setCalculationAccordingToIndex(int index, bool force m_calculation->setLaw(m_law); } -TextFieldDelegateApp * CalculationController::textFieldDelegateApp() { - return app(); -} - void CalculationController::updateTitle() { int currentChar = 0; for (int index = 0; index < m_law->numberOfParameter(); index++) { diff --git a/apps/probability/calculation_controller.h b/apps/probability/calculation_controller.h index 9aebd0410..9ace18585 100644 --- a/apps/probability/calculation_controller.h +++ b/apps/probability/calculation_controller.h @@ -47,7 +47,6 @@ public: private: constexpr static int k_numberOfCalculationCells = 3; constexpr static KDCoordinate k_tableMargin = 3; - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; void updateTitle(); class ContentView : public View { public: diff --git a/apps/sequence/list/list_controller.cpp b/apps/sequence/list/list_controller.cpp index 8a1dfc7ad..b7cf89ec3 100644 --- a/apps/sequence/list/list_controller.cpp +++ b/apps/sequence/list/list_controller.cpp @@ -158,10 +158,6 @@ bool ListController::editInitialConditionOfSelectedRecordWithText(const char * t return (error == Ion::Storage::Record::ErrorStatus::None); } -TextFieldDelegateApp * ListController::textFieldDelegateApp() { - return app(); -} - ListParameterController * ListController::parameterController() { return &m_parameterController; } diff --git a/apps/sequence/list/list_controller.h b/apps/sequence/list/list_controller.h index 905b9eaef..85f942d20 100644 --- a/apps/sequence/list/list_controller.h +++ b/apps/sequence/list/list_controller.h @@ -28,7 +28,6 @@ public: private: static constexpr KDCoordinate k_expressionCellVerticalMargin = 3; bool editInitialConditionOfSelectedRecordWithText(const char * text, bool firstInitialCondition); - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; ListParameterController * parameterController() override; int maxNumberOfDisplayableRows() override; Shared::FunctionTitleCell * titleCells(int index) override; diff --git a/apps/sequence/list/list_parameter_controller.cpp b/apps/sequence/list/list_parameter_controller.cpp index 722b86041..d17d866f0 100644 --- a/apps/sequence/list/list_parameter_controller.cpp +++ b/apps/sequence/list/list_parameter_controller.cpp @@ -148,10 +148,6 @@ void ListParameterController::willDisplayCellForIndex(HighlightCell * cell, int } } -TextFieldDelegateApp * ListParameterController::textFieldDelegateApp() { - return app(); -} - int ListParameterController::totalNumberOfCells() const { if (hasInitialRankRow()) { return k_totalNumberOfCell; diff --git a/apps/sequence/list/list_parameter_controller.h b/apps/sequence/list/list_parameter_controller.h index e43ee5d43..7a6003133 100644 --- a/apps/sequence/list/list_parameter_controller.h +++ b/apps/sequence/list/list_parameter_controller.h @@ -20,7 +20,6 @@ public: bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; void tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY, bool withinTemporarySelection) override; - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; // ListViewDataSource HighlightCell * reusableCell(int index, int type) override; diff --git a/apps/settings/sub_menu/display_mode_controller.cpp b/apps/settings/sub_menu/display_mode_controller.cpp index 35b6a6fbe..8c22ca22a 100644 --- a/apps/settings/sub_menu/display_mode_controller.cpp +++ b/apps/settings/sub_menu/display_mode_controller.cpp @@ -95,8 +95,4 @@ bool DisplayModeController::textFieldDidFinishEditing(TextField * textField, con return true; } -Shared::TextFieldDelegateApp * DisplayModeController::textFieldDelegateApp() { - return app(); -} - } diff --git a/apps/settings/sub_menu/display_mode_controller.h b/apps/settings/sub_menu/display_mode_controller.h index 86ebc2098..e9bef0c2f 100644 --- a/apps/settings/sub_menu/display_mode_controller.h +++ b/apps/settings/sub_menu/display_mode_controller.h @@ -20,7 +20,6 @@ public: bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; private: - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; MessageTableCellWithEditableTextWithSeparator m_editableCell; char m_draftTextBuffer[MessageTableCellWithEditableText::k_bufferLength]; }; diff --git a/apps/shared/editable_cell_table_view_controller.cpp b/apps/shared/editable_cell_table_view_controller.cpp index abe82f111..2e3ba723d 100644 --- a/apps/shared/editable_cell_table_view_controller.cpp +++ b/apps/shared/editable_cell_table_view_controller.cpp @@ -1,7 +1,6 @@ #include "editable_cell_table_view_controller.h" #include "../shared/poincare_helpers.h" #include "../constant.h" -#include "text_field_delegate_app.h" #include #include @@ -112,8 +111,4 @@ void EditableCellTableViewController::viewWillAppear() { } } -TextFieldDelegateApp * EditableCellTableViewController::textFieldDelegateApp() { - return (TextFieldDelegateApp *)app(); -} - } diff --git a/apps/shared/editable_cell_table_view_controller.h b/apps/shared/editable_cell_table_view_controller.h index c765c61ed..f7b5900ed 100644 --- a/apps/shared/editable_cell_table_view_controller.h +++ b/apps/shared/editable_cell_table_view_controller.h @@ -23,7 +23,6 @@ public: protected: static constexpr KDCoordinate k_cellHeight = 20; private: - TextFieldDelegateApp * textFieldDelegateApp() override; virtual bool cellAtLocationIsEditable(int columnIndex, int rowIndex) = 0; virtual bool setDataAtLocation(double floatBody, int columnIndex, int rowIndex) = 0; virtual double dataAtLocation(int columnIndex, int rowIndex) = 0; diff --git a/apps/shared/float_parameter_controller.cpp b/apps/shared/float_parameter_controller.cpp index 1bdabcc6c..540a5cece 100644 --- a/apps/shared/float_parameter_controller.cpp +++ b/apps/shared/float_parameter_controller.cpp @@ -1,7 +1,6 @@ #include "float_parameter_controller.h" #include "../constant.h" #include "../shared/poincare_helpers.h" -#include "text_field_delegate_app.h" #include #include @@ -138,10 +137,6 @@ bool FloatParameterController::textFieldDidFinishEditing(TextField * textField, return true; } -TextFieldDelegateApp * FloatParameterController::textFieldDelegateApp() { - return (TextFieldDelegateApp *)app(); -} - int FloatParameterController::activeCell() { return selectedRow(); } diff --git a/apps/shared/float_parameter_controller.h b/apps/shared/float_parameter_controller.h index 4a8060ae6..2ed08719f 100644 --- a/apps/shared/float_parameter_controller.h +++ b/apps/shared/float_parameter_controller.h @@ -39,7 +39,6 @@ private: virtual void buttonAction(); virtual int reusableParameterCellCount(int type) = 0; virtual HighlightCell * reusableParameterCell(int index, int type) = 0; - TextFieldDelegateApp * textFieldDelegateApp() override; virtual bool setParameterAtIndex(int parameterIndex, double f) = 0; }; diff --git a/apps/shared/go_to_parameter_controller.cpp b/apps/shared/go_to_parameter_controller.cpp index 732799e70..c72669e8e 100644 --- a/apps/shared/go_to_parameter_controller.cpp +++ b/apps/shared/go_to_parameter_controller.cpp @@ -1,5 +1,4 @@ #include "go_to_parameter_controller.h" -#include "text_field_delegate_app.h" #include namespace Shared { diff --git a/apps/shared/interactive_curve_view_controller.cpp b/apps/shared/interactive_curve_view_controller.cpp index 4d3b98409..c7ba92d93 100644 --- a/apps/shared/interactive_curve_view_controller.cpp +++ b/apps/shared/interactive_curve_view_controller.cpp @@ -1,5 +1,4 @@ #include "interactive_curve_view_controller.h" -#include "text_field_delegate_app.h" #include #include #include diff --git a/apps/shared/parameter_text_field_delegate.cpp b/apps/shared/parameter_text_field_delegate.cpp index 65aaed12e..990a0e692 100644 --- a/apps/shared/parameter_text_field_delegate.cpp +++ b/apps/shared/parameter_text_field_delegate.cpp @@ -1,10 +1,9 @@ #include "parameter_text_field_delegate.h" - -using namespace Poincare; +#include namespace Shared { -bool ParameterTextFieldDelegate::textFieldDidReceiveEvent(::TextField * textField, Ion::Events::Event event) { +bool ParameterTextFieldDelegate::textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) { if (event == Ion::Events::Backspace && !textField->isEditing()) { textField->setEditing(true); return true; diff --git a/apps/shared/parameter_text_field_delegate.h b/apps/shared/parameter_text_field_delegate.h index 80f420ce3..195dc817c 100644 --- a/apps/shared/parameter_text_field_delegate.h +++ b/apps/shared/parameter_text_field_delegate.h @@ -1,9 +1,7 @@ #ifndef SHARED_PARAMETER_TEXT_FIELD_DELEGATE_H #define SHARED_PARAMETER_TEXT_FIELD_DELEGATE_H -#include #include "text_field_delegate.h" -#include "text_field_delegate_app.h" namespace Shared { diff --git a/apps/shared/range_parameter_controller.cpp b/apps/shared/range_parameter_controller.cpp index 4fb1806f1..3c169d7c4 100644 --- a/apps/shared/range_parameter_controller.cpp +++ b/apps/shared/range_parameter_controller.cpp @@ -1,5 +1,4 @@ #include "range_parameter_controller.h" -#include "text_field_delegate_app.h" #include using namespace Poincare; diff --git a/apps/shared/simple_interactive_curve_view_controller.h b/apps/shared/simple_interactive_curve_view_controller.h index 6a1750d82..16eb6d627 100644 --- a/apps/shared/simple_interactive_curve_view_controller.h +++ b/apps/shared/simple_interactive_curve_view_controller.h @@ -2,7 +2,6 @@ #define SHARED_SIMPLE_INTERACTIVE_CURVE_VIEW_CONTROLLER_H #include -#include #include "text_field_delegate.h" #include "interactive_curve_view_range.h" #include "curve_view_cursor.h" @@ -21,9 +20,6 @@ public: bool textFieldDidAbortEditing(TextField * textField) override; bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; protected: - TextFieldDelegateApp * textFieldDelegateApp() override { - return static_cast(app()); - } constexpr static float k_cursorRightMarginRatio = 0.04f; // (cursorWidth/2)/graphViewWidth constexpr static float k_cursorLeftMarginRatio = 0.04f; // (cursorWidth/2)/graphViewWidth virtual float cursorTopMarginRatio() { return 0.07f; } // (cursorHeight/2)/graphViewHeight diff --git a/apps/shared/text_field_delegate.h b/apps/shared/text_field_delegate.h index c23a0ad0e..3d12bca36 100644 --- a/apps/shared/text_field_delegate.h +++ b/apps/shared/text_field_delegate.h @@ -1,7 +1,6 @@ #ifndef SHARED_TEXT_FIELD_DELEGATE_H #define SHARED_TEXT_FIELD_DELEGATE_H -#include #include "text_field_delegate_app.h" namespace Shared { @@ -10,8 +9,10 @@ class TextFieldDelegate : public ::TextFieldDelegate { public: bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; -private: - virtual TextFieldDelegateApp * textFieldDelegateApp() = 0; +protected: + TextFieldDelegateApp * textFieldDelegateApp() { + return static_cast(::app()); + } }; } diff --git a/apps/shared/text_field_delegate_app.h b/apps/shared/text_field_delegate_app.h index c9f96b29c..7b9ba14ab 100644 --- a/apps/shared/text_field_delegate_app.h +++ b/apps/shared/text_field_delegate_app.h @@ -2,10 +2,12 @@ #define SHARED_TEXT_FIELD_DELEGATE_APP_H #include -#include #include "input_event_handler_delegate_app.h" +#include #include +class EditableField; + namespace Shared { class TextFieldDelegateApp : public InputEventHandlerDelegateApp, public TextFieldDelegate { diff --git a/apps/solver/list_controller.cpp b/apps/solver/list_controller.cpp index b741ae9c2..c0ef1956d 100644 --- a/apps/solver/list_controller.cpp +++ b/apps/solver/list_controller.cpp @@ -228,10 +228,6 @@ SelectableTableView * ListController::selectableTableView() { return m_equationListView.selectableTableView(); } -Shared::TextFieldDelegateApp * ListController::textFieldDelegateApp() { - return app(); -} - StackViewController * ListController::stackController() const { return static_cast(parentResponder()->parentResponder()); } diff --git a/apps/solver/list_controller.h b/apps/solver/list_controller.h index 91cea7560..5d54369e0 100644 --- a/apps/solver/list_controller.h +++ b/apps/solver/list_controller.h @@ -38,7 +38,6 @@ public: /* ViewController */ View * view() override { return &m_equationListView; } /* Text/Layout Field Delegate */ - Shared::TextFieldDelegateApp * textFieldDelegateApp() override; bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; bool layoutFieldDidReceiveEvent(LayoutField * layoutField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; diff --git a/escher/include/escher/text_field_delegate.h b/escher/include/escher/text_field_delegate.h index 0fae1bc21..4be1741e6 100644 --- a/escher/include/escher/text_field_delegate.h +++ b/escher/include/escher/text_field_delegate.h @@ -1,6 +1,8 @@ #ifndef ESCHER_TEXT_FIELD_DELEGATE_H #define ESCHER_TEXT_FIELD_DELEGATE_H +#include + class TextField; class TextFieldDelegate {