diff --git a/apps/Makefile b/apps/Makefile index af577d52a..391198b36 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -12,8 +12,8 @@ app_objs += $(addprefix apps/,\ node.o\ node_list_view_controller.o\ node_navigation_controller.o\ - tool_box_controller.o\ - tool_box_node.o\ + toolbox_controller.o\ + toolbox_node.o\ variable_box_controller.o\ variable_box_node.o\ ) diff --git a/apps/apps_container.cpp b/apps/apps_container.cpp index 10b845e3c..5c0c25a43 100644 --- a/apps/apps_container.cpp +++ b/apps/apps_container.cpp @@ -33,8 +33,8 @@ Context * AppsContainer::context() { return &m_context; } -ToolBoxController * AppsContainer::toolBoxController() { - return &m_toolBoxController; +ToolboxController * AppsContainer::toolboxController() { + return &m_toolboxController; } VariableBoxController * AppsContainer::variableBoxController() { diff --git a/apps/apps_container.h b/apps/apps_container.h index 19032eb5b..76e523054 100644 --- a/apps/apps_container.h +++ b/apps/apps_container.h @@ -5,7 +5,7 @@ #include "graph/app.h" #include "probability/app.h" #include "calculation/app.h" -#include "tool_box_controller.h" +#include "toolbox_controller.h" #include "variable_box_controller.h" #define USE_PIC_VIEW_APP 0 @@ -20,7 +20,7 @@ public: int numberOfApps(); App * appAtIndex(int index); Context * context(); - ToolBoxController * toolBoxController(); + ToolboxController * toolboxController(); VariableBoxController * variableBoxController(); bool handleEvent(Ion::Events::Event event) override; private: @@ -33,7 +33,7 @@ private: PicViewApp m_picViewApp; #endif Context m_context; - ToolBoxController m_toolBoxController; + ToolboxController m_toolboxController; VariableBoxController m_variableBoxController; }; diff --git a/apps/expression_text_field_delegate.cpp b/apps/expression_text_field_delegate.cpp index e27eb570c..e9e4db7a4 100644 --- a/apps/expression_text_field_delegate.cpp +++ b/apps/expression_text_field_delegate.cpp @@ -16,12 +16,12 @@ bool ExpressionTextFieldDelegate::textFieldDidReceiveEvent(TextField * textField return true; } // TODO: correct events - //if (event == Ion::Events::Event::TOOL_BOX) { + //if (event == Ion::Events::Event::TOOLBOX) { if (event == Ion::Events::Event::F5) { AppsContainer * appsContainer = (AppsContainer *)textField->app()->container(); - ToolBoxController * toolBoxController = appsContainer->toolBoxController(); - toolBoxController->setTextFieldCaller(textField); - textField->app()->displayModalViewController(toolBoxController, 0.f, 0.f, 50, 50, 0, 50); + ToolboxController * toolboxController = appsContainer->toolboxController(); + toolboxController->setTextFieldCaller(textField); + textField->app()->displayModalViewController(toolboxController, 0.f, 0.f, 50, 50, 0, 50); return true; } //if (event == Ion::Events::Event::VARIABLE_BOX) { diff --git a/apps/node_list_view_controller.cpp b/apps/node_list_view_controller.cpp index 793a6cc1e..6637d89e9 100644 --- a/apps/node_list_view_controller.cpp +++ b/apps/node_list_view_controller.cpp @@ -1,4 +1,5 @@ -#include "tool_box_controller.h" +#include "node_list_view_controller.h" +#include "toolbox_controller.h" #include #include diff --git a/apps/tool_box_controller.cpp b/apps/tool_box_controller.cpp deleted file mode 100644 index a1daee920..000000000 --- a/apps/tool_box_controller.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "tool_box_controller.h" -#include "tool_box_node.h" - -/* TODO: find a shorter way to initiate tree models - * We create one model tree: each node keeps the label of the row it refers to - * and the text which would be edited by clicking on the row. When the node is a - * subtree, the edited text is set at nullptr. */ - -const ToolBoxNode calculChildren[4] = {ToolBoxNode("Nombre derivee", "diff(,)"), ToolBoxNode("Integrale", "Int(,,)"), ToolBoxNode("Somme", "sum(,,)"), ToolBoxNode("Produit", "Product(,,)")}; -const ToolBoxNode complexChildren[5] = {ToolBoxNode("Module", "abs()"), ToolBoxNode("Argument", "arg()"), ToolBoxNode("Partie reelle", "re()"), ToolBoxNode("Partie imaginaire", "im()"), ToolBoxNode("Conjugue", "conj()")}; -const ToolBoxNode probabilityChildren[4] = {ToolBoxNode("Combinaison", "binomial()"), ToolBoxNode("Arrangement", "permute(,)"), ToolBoxNode("Nombre aleatoire", "random(,)"), ToolBoxNode("Fonction gamma", "gamma()")}; -const ToolBoxNode arithmeticChildren[4] = {ToolBoxNode("PGCD", "gcd()"), ToolBoxNode("PPCM","lcm()"), ToolBoxNode("Reste division euclidienne", "rem()"), ToolBoxNode("Quotien division euclidienne", "quo()")}; -const ToolBoxNode matricesChildren[5] = {ToolBoxNode("Inverse", "inverse()"), ToolBoxNode("Determinant", "det()"), ToolBoxNode("Transposee", "transpose()"), ToolBoxNode("Trace", "trace()"), ToolBoxNode("Taille", "dim()")}; -const ToolBoxNode listesChildren[5] = {ToolBoxNode("Tri croissant", "sort<()"), ToolBoxNode("Tri decroissant", "sort>()"), ToolBoxNode("Maximum", "max()"), ToolBoxNode("Minimum", "min()"), ToolBoxNode("Taille", "dim()")}; -const ToolBoxNode approximationChildren[4] = {ToolBoxNode("Partie entiere", "floor()"), ToolBoxNode("Partie fractionnaire", "frac()"), ToolBoxNode("Plafond", "ceil()"), ToolBoxNode("Arrondi", "round(,)")}; -const ToolBoxNode trigonometryChildren[6] = {ToolBoxNode("cosh", "cosh()"), ToolBoxNode("sinh", "sinh()"), ToolBoxNode("tanh", "tanh()"), ToolBoxNode("acosh", "acosh()"), ToolBoxNode("asinh", "asinh()"), ToolBoxNode("atanh", "atanh()")}; - -const ToolBoxNode menu[11] = {ToolBoxNode("|x|", "abs()"), ToolBoxNode("root(x)", "root(,)"), ToolBoxNode("log(x)", "log(,)"), - ToolBoxNode("Calcul", nullptr, calculChildren, 4), ToolBoxNode("Nombre complexe", nullptr, complexChildren, 5), - ToolBoxNode("Probabilite", nullptr, probabilityChildren, 4), ToolBoxNode("Arithmetique", nullptr, arithmeticChildren, 4), - ToolBoxNode("Matrice", nullptr, matricesChildren, 5), ToolBoxNode("Liste", nullptr, listesChildren, 5), - ToolBoxNode("Approximation", nullptr, approximationChildren, 4), ToolBoxNode("Trigonometrie", nullptr, trigonometryChildren, 6)}; -const ToolBoxNode toolBoxModel = ToolBoxNode("TOOLBOX", nullptr, menu, 11); - -const char * ToolBoxController::title() const { - return "ToolBoxController"; -} - -Node * ToolBoxController::nodeModel() { - return (Node *)&toolBoxModel; -} - -bool ToolBoxController::selectLeaf(Node * selectedNode){ - m_listViewController.deselectTable(); - ToolBoxNode * node = (ToolBoxNode *)selectedNode; - const char * editedText = node->text(); - m_textFieldCaller->appendText(editedText); - int cursorPosition = 0; - int editedTextLength = strlen(editedText); - for (int i = 0; i < editedTextLength; i++) { - if (editedText[i] == '(') { - cursorPosition = i + 1 - editedTextLength; - break; - } - } - m_textFieldCaller->moveCursor(cursorPosition); - app()->dismissModalViewController(); - return true; -} diff --git a/apps/tool_box_node.cpp b/apps/tool_box_node.cpp deleted file mode 100644 index 50d433979..000000000 --- a/apps/tool_box_node.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "tool_box_node.h" - -const char * ToolBoxNode::text() const { - return m_text; -} - -const Node * ToolBoxNode::children(int index) const { - return &m_children[index]; -} diff --git a/apps/toolbox_controller.cpp b/apps/toolbox_controller.cpp new file mode 100644 index 000000000..5e18f1c7d --- /dev/null +++ b/apps/toolbox_controller.cpp @@ -0,0 +1,49 @@ +#include "toolbox_controller.h" +#include "toolbox_node.h" + +/* TODO: find a shorter way to initiate tree models + * We create one model tree: each node keeps the label of the row it refers to + * and the text which would be edited by clicking on the row. When the node is a + * subtree, the edited text is set at nullptr. */ + +const ToolboxNode calculChildren[4] = {ToolboxNode("Nombre derivee", "diff(,)"), ToolboxNode("Integrale", "Int(,,)"), ToolboxNode("Somme", "sum(,,)"), ToolboxNode("Produit", "Product(,,)")}; +const ToolboxNode complexChildren[5] = {ToolboxNode("Module", "abs()"), ToolboxNode("Argument", "arg()"), ToolboxNode("Partie reelle", "re()"), ToolboxNode("Partie imaginaire", "im()"), ToolboxNode("Conjugue", "conj()")}; +const ToolboxNode probabilityChildren[4] = {ToolboxNode("Combinaison", "binomial()"), ToolboxNode("Arrangement", "permute(,)"), ToolboxNode("Nombre aleatoire", "random(,)"), ToolboxNode("Fonction gamma", "gamma()")}; +const ToolboxNode arithmeticChildren[4] = {ToolboxNode("PGCD", "gcd()"), ToolboxNode("PPCM","lcm()"), ToolboxNode("Reste division euclidienne", "rem()"), ToolboxNode("Quotien division euclidienne", "quo()")}; +const ToolboxNode matricesChildren[5] = {ToolboxNode("Inverse", "inverse()"), ToolboxNode("Determinant", "det()"), ToolboxNode("Transposee", "transpose()"), ToolboxNode("Trace", "trace()"), ToolboxNode("Taille", "dim()")}; +const ToolboxNode listesChildren[5] = {ToolboxNode("Tri croissant", "sort<()"), ToolboxNode("Tri decroissant", "sort>()"), ToolboxNode("Maximum", "max()"), ToolboxNode("Minimum", "min()"), ToolboxNode("Taille", "dim()")}; +const ToolboxNode approximationChildren[4] = {ToolboxNode("Partie entiere", "floor()"), ToolboxNode("Partie fractionnaire", "frac()"), ToolboxNode("Plafond", "ceil()"), ToolboxNode("Arrondi", "round(,)")}; +const ToolboxNode trigonometryChildren[6] = {ToolboxNode("cosh", "cosh()"), ToolboxNode("sinh", "sinh()"), ToolboxNode("tanh", "tanh()"), ToolboxNode("acosh", "acosh()"), ToolboxNode("asinh", "asinh()"), ToolboxNode("atanh", "atanh()")}; + +const ToolboxNode menu[11] = {ToolboxNode("|x|", "abs()"), ToolboxNode("root(x)", "root(,)"), ToolboxNode("log(x)", "log(,)"), + ToolboxNode("Calcul", nullptr, calculChildren, 4), ToolboxNode("Nombre complexe", nullptr, complexChildren, 5), + ToolboxNode("Probabilite", nullptr, probabilityChildren, 4), ToolboxNode("Arithmetique", nullptr, arithmeticChildren, 4), + ToolboxNode("Matrice", nullptr, matricesChildren, 5), ToolboxNode("Liste", nullptr, listesChildren, 5), + ToolboxNode("Approximation", nullptr, approximationChildren, 4), ToolboxNode("Trigonometrie", nullptr, trigonometryChildren, 6)}; +const ToolboxNode toolboxModel = ToolboxNode("Toolbox", nullptr, menu, 11); + +const char * ToolboxController::title() const { + return "ToolboxController"; +} + +Node * ToolboxController::nodeModel() { + return (Node *)&toolboxModel; +} + +bool ToolboxController::selectLeaf(Node * selectedNode){ + m_listViewController.deselectTable(); + ToolboxNode * node = (ToolboxNode *)selectedNode; + const char * editedText = node->text(); + m_textFieldCaller->appendText(editedText); + int cursorPosition = 0; + int editedTextLength = strlen(editedText); + for (int i = 0; i < editedTextLength; i++) { + if (editedText[i] == '(') { + cursorPosition = i + 1 - editedTextLength; + break; + } + } + m_textFieldCaller->moveCursor(cursorPosition); + app()->dismissModalViewController(); + return true; +} diff --git a/apps/tool_box_controller.h b/apps/toolbox_controller.h similarity index 61% rename from apps/tool_box_controller.h rename to apps/toolbox_controller.h index c61fdba16..a891fb571 100644 --- a/apps/tool_box_controller.h +++ b/apps/toolbox_controller.h @@ -1,10 +1,10 @@ -#ifndef APPS_TOOL_BOX_CONTROLLER_H -#define APPS_TOOL_BOX_CONTROLLER_H +#ifndef APPS_TOOLBOX_CONTROLLER_H +#define APPS_TOOLBOX_CONTROLLER_H #include #include "node_navigation_controller.h" -class ToolBoxController : public NodeNavigationController { +class ToolboxController : public NodeNavigationController { public: const char * title() const override; private: diff --git a/apps/toolbox_node.cpp b/apps/toolbox_node.cpp new file mode 100644 index 000000000..919c8553c --- /dev/null +++ b/apps/toolbox_node.cpp @@ -0,0 +1,9 @@ +#include "toolbox_node.h" + +const char * ToolboxNode::text() const { + return m_text; +} + +const Node * ToolboxNode::children(int index) const { + return &m_children[index]; +} diff --git a/apps/tool_box_node.h b/apps/toolbox_node.h similarity index 50% rename from apps/tool_box_node.h rename to apps/toolbox_node.h index fda956e52..82c8f900d 100644 --- a/apps/tool_box_node.h +++ b/apps/toolbox_node.h @@ -1,11 +1,11 @@ -#ifndef APPS_TOOL_BOX_NODE_H -#define APPS_TOOL_BOX_NODE_H +#ifndef APPS_TOOLBOX_NODE_H +#define APPS_TOOLBOX_NODE_H #include "node.h" -class ToolBoxNode : public Node { +class ToolboxNode : public Node { public: - constexpr ToolBoxNode(const char * label = nullptr, const char * text = nullptr, const ToolBoxNode * children = nullptr, int numberOfChildren = 0) : + constexpr ToolboxNode(const char * label = nullptr, const char * text = nullptr, const ToolboxNode * children = nullptr, int numberOfChildren = 0) : Node(label, numberOfChildren), m_children(children), m_text(text) @@ -14,7 +14,7 @@ public: const Node * children(int index) const override; const char * text() const; private: - const ToolBoxNode * m_children; + const ToolboxNode * m_children; const char * m_text; };