diff --git a/apps/calculation/edit_expression_controller.cpp b/apps/calculation/edit_expression_controller.cpp index 45d9c2474..68667378e 100644 --- a/apps/calculation/edit_expression_controller.cpp +++ b/apps/calculation/edit_expression_controller.cpp @@ -84,9 +84,9 @@ bool EditExpressionController::textFieldDidFinishEditing(::TextField * textField return inputViewDidFinishEditing(text, event); } -bool EditExpressionController::textFieldDidAbortEditing(::TextField * textField, const char * text) { +bool EditExpressionController::textFieldDidAbortEditing(::TextField * textField) { assert(textField == ((ContentView *)view())->editableExpressionView()->textField()); - return inputViewDidAbortEditing(text); + return inputViewDidAbortEditing(textField->text()); } bool EditExpressionController::scrollableExpressionViewWithCursorDidReceiveEvent(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) { @@ -102,9 +102,9 @@ bool EditExpressionController::scrollableExpressionViewWithCursorDidFinishEditin return inputViewDidFinishEditing(text, event); } -bool EditExpressionController::scrollableExpressionViewWithCursorDidAbortEditing(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) { +bool EditExpressionController::scrollableExpressionViewWithCursorDidAbortEditing(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { assert(scrollableExpressionViewWithCursor == ((ContentView *)view())->editableExpressionView()->scrollableExpressionViewWithCursor()); - return inputViewDidAbortEditing(text); + return inputViewDidAbortEditing(nullptr); } void EditExpressionController::scrollableExpressionViewWithCursorDidChangeSize(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { @@ -157,8 +157,10 @@ bool EditExpressionController::inputViewDidFinishEditing(const char * text, Ion: } bool EditExpressionController::inputViewDidAbortEditing(const char * text) { - ((ContentView *)view())->editableExpressionView()->setEditing(true, true); - ((ContentView *)view())->editableExpressionView()->setText(text); + if (text != nullptr) { + ((ContentView *)view())->editableExpressionView()->setEditing(true, true); + ((ContentView *)view())->editableExpressionView()->setText(text); + } return false; } diff --git a/apps/calculation/edit_expression_controller.h b/apps/calculation/edit_expression_controller.h index a2b64b951..864b53aba 100644 --- a/apps/calculation/edit_expression_controller.h +++ b/apps/calculation/edit_expression_controller.h @@ -24,12 +24,12 @@ public: /* TextFieldDelegate */ bool textFieldDidReceiveEvent(::TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(::TextField * textField, const char * text, Ion::Events::Event event) override; - bool textFieldDidAbortEditing(::TextField * textField, const char * text) override; + bool textFieldDidAbortEditing(::TextField * textField) override; /* ScrollableExpressionViewWithCursorDelegate */ bool scrollableExpressionViewWithCursorDidReceiveEvent(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) override; bool scrollableExpressionViewWithCursorDidFinishEditing(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text, Ion::Events::Event event) override; - bool scrollableExpressionViewWithCursorDidAbortEditing(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) override; + bool scrollableExpressionViewWithCursorDidAbortEditing(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; void scrollableExpressionViewWithCursorDidChangeSize(::ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; private: diff --git a/apps/code/console_controller.cpp b/apps/code/console_controller.cpp index eba0b1396..8d12b0e0c 100644 --- a/apps/code/console_controller.cpp +++ b/apps/code/console_controller.cpp @@ -252,7 +252,7 @@ bool ConsoleController::textFieldDidFinishEditing(TextField * textField, const c return true; } -bool ConsoleController::textFieldDidAbortEditing(TextField * textField, const char * text) { +bool ConsoleController::textFieldDidAbortEditing(TextField * textField) { stackViewController()->pop(); return true; } diff --git a/apps/code/console_controller.h b/apps/code/console_controller.h index 1037ca76e..78d3a4705 100644 --- a/apps/code/console_controller.h +++ b/apps/code/console_controller.h @@ -56,7 +56,7 @@ public: bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; - bool textFieldDidAbortEditing(TextField * textField, const char * text) override; + bool textFieldDidAbortEditing(TextField * textField) override; Toolbox * toolboxForTextField(TextField * textField) override; // MicroPython::ExecutionEnvironment diff --git a/apps/code/menu_controller.cpp b/apps/code/menu_controller.cpp index 5c3444d19..c65fd7657 100644 --- a/apps/code/menu_controller.cpp +++ b/apps/code/menu_controller.cpp @@ -307,8 +307,8 @@ bool MenuController::textFieldDidFinishEditing(TextField * textField, const char return false; } -bool MenuController::textFieldDidAbortEditing(TextField * textField, const char * text) { - if (strlen(text) <= strlen(ScriptStore::k_scriptExtension)) { +bool MenuController::textFieldDidAbortEditing(TextField * textField) { + if (strlen(textField->text()) <= strlen(ScriptStore::k_scriptExtension)) { // The previous text was an empty name. Use a numbered default script name. char numberedDefaultName[k_defaultScriptNameMaxSize]; numberedDefaultScriptName(numberedDefaultName); diff --git a/apps/code/menu_controller.h b/apps/code/menu_controller.h index af4441f80..89c5c6f4f 100644 --- a/apps/code/menu_controller.h +++ b/apps/code/menu_controller.h @@ -52,7 +52,7 @@ public: bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; - bool textFieldDidAbortEditing(TextField * textField, const char * text) override; + bool textFieldDidAbortEditing(TextField * textField) override; bool textFieldDidHandleEvent(TextField * textField, Ion::Events::Event event, bool returnValue, bool textHasChanged) override; Toolbox * toolboxForTextField(TextField * textField) override { return nullptr; } diff --git a/apps/shared/scrollable_expression_view_with_cursor_delegate.cpp b/apps/shared/scrollable_expression_view_with_cursor_delegate.cpp index 5174721ff..84a29933c 100644 --- a/apps/shared/scrollable_expression_view_with_cursor_delegate.cpp +++ b/apps/shared/scrollable_expression_view_with_cursor_delegate.cpp @@ -16,8 +16,8 @@ bool ScrollableExpressionViewWithCursorDelegate::scrollableExpressionViewWithCur return editableExpressionViewDelegateApp()->scrollableExpressionViewWithCursorDidFinishEditing(scrollableExpressionViewWithCursor, text, event); } -bool ScrollableExpressionViewWithCursorDelegate::scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) { - return editableExpressionViewDelegateApp()->scrollableExpressionViewWithCursorDidAbortEditing(scrollableExpressionViewWithCursor, text); +bool ScrollableExpressionViewWithCursorDelegate::scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { + return editableExpressionViewDelegateApp()->scrollableExpressionViewWithCursorDidAbortEditing(scrollableExpressionViewWithCursor); } void ScrollableExpressionViewWithCursorDelegate::scrollableExpressionViewWithCursorDidChangeSize(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { diff --git a/apps/shared/scrollable_expression_view_with_cursor_delegate.h b/apps/shared/scrollable_expression_view_with_cursor_delegate.h index 589f6a8db..093cecf71 100644 --- a/apps/shared/scrollable_expression_view_with_cursor_delegate.h +++ b/apps/shared/scrollable_expression_view_with_cursor_delegate.h @@ -11,7 +11,7 @@ public: bool scrollableExpressionViewWithCursorShouldFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) override; bool scrollableExpressionViewWithCursorDidReceiveEvent(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) override; bool scrollableExpressionViewWithCursorDidFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text, Ion::Events::Event event) override; - bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) override; + bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; void scrollableExpressionViewWithCursorDidChangeSize(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; Toolbox * toolboxForScrollableExpressionViewWithCursor(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; private: diff --git a/escher/include/escher/input_view_controller.h b/escher/include/escher/input_view_controller.h index a2f037758..090b6bce1 100644 --- a/escher/include/escher/input_view_controller.h +++ b/escher/include/escher/input_view_controller.h @@ -19,14 +19,14 @@ public: bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override; bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override; - bool textFieldDidAbortEditing(TextField * textField, const char * text) override; + bool textFieldDidAbortEditing(TextField * textField) override; Toolbox * toolboxForTextField(TextField * textFied) override; /* ScrollableExpressionViewWithCursorDelegate */ bool scrollableExpressionViewWithCursorShouldFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) override; bool scrollableExpressionViewWithCursorDidReceiveEvent(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) override; bool scrollableExpressionViewWithCursorDidFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text, Ion::Events::Event event) override; - bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) override; + bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; void scrollableExpressionViewWithCursorDidChangeSize(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; Toolbox * toolboxForScrollableExpressionViewWithCursor(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) override; diff --git a/escher/include/escher/scrollable_expression_view_with_cursor_delegate.h b/escher/include/escher/scrollable_expression_view_with_cursor_delegate.h index 56b22b337..c2bf5fe96 100644 --- a/escher/include/escher/scrollable_expression_view_with_cursor_delegate.h +++ b/escher/include/escher/scrollable_expression_view_with_cursor_delegate.h @@ -11,7 +11,7 @@ public: virtual bool scrollableExpressionViewWithCursorShouldFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) = 0; virtual bool scrollableExpressionViewWithCursorDidReceiveEvent(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, Ion::Events::Event event) = 0; virtual bool scrollableExpressionViewWithCursorDidFinishEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text, Ion::Events::Event event) { return false; } - virtual bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) { return false; } + virtual bool scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { return false; } virtual void scrollableExpressionViewWithCursorDidChangeSize(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) {} virtual Toolbox * toolboxForScrollableExpressionViewWithCursor(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) = 0; }; diff --git a/escher/include/escher/text_field_delegate.h b/escher/include/escher/text_field_delegate.h index ad2300e93..349555402 100644 --- a/escher/include/escher/text_field_delegate.h +++ b/escher/include/escher/text_field_delegate.h @@ -8,7 +8,7 @@ public: virtual bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) = 0; virtual bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) = 0; virtual bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) { return false; }; - virtual bool textFieldDidAbortEditing(TextField * textField, const char * text) {return false;}; + virtual bool textFieldDidAbortEditing(TextField * textField) {return false;}; virtual bool textFieldDidHandleEvent(TextField * textField, Ion::Events::Event event, bool returnValue, bool textHasChanged) { return returnValue; }; virtual Toolbox * toolboxForTextField(TextField * textField) = 0; }; diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index fb89c3d62..ac5fa9956 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -53,7 +53,7 @@ bool InputViewController::textFieldDidFinishEditing(TextField * textField, const return inputViewDidFinishEditing(); } -bool InputViewController::textFieldDidAbortEditing(TextField * textField, const char * text) { +bool InputViewController::textFieldDidAbortEditing(TextField * textField) { return inputViewDidAbortEditing(); } @@ -76,7 +76,7 @@ bool InputViewController::scrollableExpressionViewWithCursorDidFinishEditing(Scr return inputViewDidFinishEditing(); } -bool InputViewController::scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor, const char * text) { +bool InputViewController::scrollableExpressionViewWithCursorDidAbortEditing(ScrollableExpressionViewWithCursor * scrollableExpressionViewWithCursor) { return inputViewDidAbortEditing(); } diff --git a/escher/src/text_field.cpp b/escher/src/text_field.cpp index f448fbf11..62abe0330 100644 --- a/escher/src/text_field.cpp +++ b/escher/src/text_field.cpp @@ -361,7 +361,7 @@ bool TextField::privateHandleEvent(Ion::Events::Event event) { if (event == Ion::Events::Back && isEditing()) { setEditing(false); reloadScroll(); - m_delegate->textFieldDidAbortEditing(this, text()); + m_delegate->textFieldDidAbortEditing(this); return true; } if (event == Ion::Events::Clear && isEditing()) {