mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[apps] change name toolBox->toolbox
Change-Id: I55c72fdfdf0334de6c1da55224bb8e2abecba135
This commit is contained in:
@@ -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\
|
||||
)
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "tool_box_controller.h"
|
||||
#include "node_list_view_controller.h"
|
||||
#include "toolbox_controller.h"
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
49
apps/toolbox_controller.cpp
Normal file
49
apps/toolbox_controller.cpp
Normal file
@@ -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;
|
||||
}
|
||||
@@ -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 <escher.h>
|
||||
#include "node_navigation_controller.h"
|
||||
|
||||
class ToolBoxController : public NodeNavigationController {
|
||||
class ToolboxController : public NodeNavigationController {
|
||||
public:
|
||||
const char * title() const override;
|
||||
private:
|
||||
9
apps/toolbox_node.cpp
Normal file
9
apps/toolbox_node.cpp
Normal file
@@ -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];
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user