diff --git a/apps/code/Makefile b/apps/code/Makefile index 92646ed61..23b6a3207 100644 --- a/apps/code/Makefile +++ b/apps/code/Makefile @@ -30,6 +30,7 @@ app_code_test_src = $(addprefix apps/code/,\ tests_src += $(addprefix apps/code/test/,\ variable_box_controller.cpp\ + toolbox_ion_keys_dummy.cpp \ ) app_code_src += $(app_code_test_src) diff --git a/apps/code/app.cpp b/apps/code/app.cpp index f56559c7c..4db851b22 100644 --- a/apps/code/app.cpp +++ b/apps/code/app.cpp @@ -124,10 +124,6 @@ Toolbox * App::toolboxForInputEventHandler(InputEventHandler * textInput) { return &m_toolbox; } -Code::toolboxIonKeys * App::toolboxIonKeys() { - return &m_toolboxIonKeys; -} - VariableBoxController * App::variableBoxForInputEventHandler(InputEventHandler * textInput) { return &m_variableBoxController; } diff --git a/apps/code/app.h b/apps/code/app.h index 82a0ad0dd..494f5c0f8 100644 --- a/apps/code/app.h +++ b/apps/code/app.h @@ -10,7 +10,6 @@ #include "python_toolbox.h" #include "variable_box_controller.h" #include "../shared/shared_app.h" -#include "toolbox_ion_keys.h" namespace Code { @@ -78,8 +77,6 @@ public: static constexpr int k_pythonHeapSize = 100000; - Code::toolboxIonKeys * toolboxIonKeys(); - private: /* Python delegate: * MicroPython requires a heap. To avoid dynamic allocation, we keep a working @@ -96,7 +93,6 @@ private: StackViewController m_codeStackViewController; PythonToolbox m_toolbox; VariableBoxController m_variableBoxController; - Code::toolboxIonKeys m_toolboxIonKeys; }; } diff --git a/apps/code/python_toolbox.cpp b/apps/code/python_toolbox.cpp index 34aa96bfa..568e1f22c 100644 --- a/apps/code/python_toolbox.cpp +++ b/apps/code/python_toolbox.cpp @@ -495,8 +495,8 @@ bool PythonToolbox::selectLeaf(int selectedRow) { m_selectableTableView.deselectTable(); ToolboxMessageTree * node = (ToolboxMessageTree *)m_messageTreeModel->childAtIndex(selectedRow); if(node->insertedText() == I18n::Message::IonSelector){ - App::app()->toolboxIonKeys()->setSender(sender()); - Container::activeApp()->displayModalViewController(static_cast(App::app()->toolboxIonKeys()), 0.f, 0.f, Metric::PopUpTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); + m_ionKeys.setSender(sender()); + Container::activeApp()->displayModalViewController(static_cast(&m_ionKeys), 0.f, 0.f, Metric::PopUpTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); return true; } const char * editedText = I18n::translate(node->insertedText()); diff --git a/apps/code/python_toolbox.h b/apps/code/python_toolbox.h index bfe682058..7c66af03f 100644 --- a/apps/code/python_toolbox.h +++ b/apps/code/python_toolbox.h @@ -5,6 +5,7 @@ #include #include #include +#include "toolbox_ion_keys.h" namespace Code { @@ -32,6 +33,7 @@ private: void scrollToAndSelectChild(int i); MessageTableCellWithMessage m_leafCells[k_maxNumberOfDisplayedRows]; MessageTableCellWithChevron m_nodeCells[k_maxNumberOfDisplayedRows]; + toolboxIonKeys m_ionKeys; }; } diff --git a/apps/code/test/toolbox_ion_keys_dummy.cpp b/apps/code/test/toolbox_ion_keys_dummy.cpp new file mode 100644 index 000000000..9f38bb541 --- /dev/null +++ b/apps/code/test/toolbox_ion_keys_dummy.cpp @@ -0,0 +1,27 @@ +#include "../toolbox_ion_keys.h" + +namespace Code { + toolboxIonKeys::toolboxIonKeys() : + ViewController(nullptr), + m_view() + { + } + + bool toolboxIonKeys::handleEvent(Ion::Events::Event e) { + return false; + } + + toolboxIonKeys::toolboxIonView::toolboxIonView(): + View() + { + } + + void toolboxIonKeys::toolboxIonView::drawRect(KDContext * ctx, KDRect rect) const { + return; + } + + View * toolboxIonKeys::view(){ + return &m_view; + } + +}