mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[solver] The 'resolve' button evolves from 'Resolve equation' to
'Resolve system'
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
SolverApp = "Equation"
|
||||
SolverAppCapital = "EQUATION"
|
||||
AddEquation = "Ajouter une équation"
|
||||
Resolve = "Résoudre l'équation"
|
||||
ResolveEquation = "Résoudre l'équation"
|
||||
ResolveSystem = "Résoudre le système"
|
||||
RequireEquation = "L'entrée doit être une équation"
|
||||
UseEquationModel = "Utiliser le modèle d'équation"
|
||||
UndefinedEquation = "Une equation est indéfinie"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
SolverApp = "Equation"
|
||||
SolverAppCapital = "EQUATION"
|
||||
AddEquation = "Ajouter une équation"
|
||||
Resolve = "Résoudre l'équation"
|
||||
ResolveEquation = "Résoudre l'équation"
|
||||
ResolveSystem = "Résoudre le système"
|
||||
RequireEquation = "L'entrée doit être une équation"
|
||||
UseEquationModel = "Utiliser le modèle d'équation"
|
||||
UndefinedEquation = "Une equation est indéfinie"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
SolverApp = "Equation"
|
||||
SolverAppCapital = "EQUATION"
|
||||
AddEquation = "Ajouter une équation"
|
||||
Resolve = "Résoudre l'équation"
|
||||
ResolveEquation = "Résoudre l'équation"
|
||||
ResolveSystem = "Résoudre le système"
|
||||
RequireEquation = "L'entrée doit être une équation"
|
||||
UseEquationModel = "Utiliser le modèle d'équation"
|
||||
UndefinedEquation = "Une equation est indéfinie"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
SolverApp = "Equation"
|
||||
SolverAppCapital = "EQUATION"
|
||||
AddEquation = "Ajouter une équation"
|
||||
Resolve = "Résoudre l'équation"
|
||||
ResolveEquation = "Résoudre l'équation"
|
||||
ResolveSystem = "Résoudre le système"
|
||||
RequireEquation = "L'entrée doit être une équation"
|
||||
UseEquationModel = "Utiliser le modèle d'équation"
|
||||
UndefinedEquation = "Une equation est indéfinie"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
SolverApp = "Equation"
|
||||
SolverAppCapital = "EQUATION"
|
||||
AddEquation = "Ajouter une équation"
|
||||
Resolve = "Résoudre l'équation"
|
||||
ResolveEquation = "Résoudre l'équation"
|
||||
ResolveSystem = "Résoudre le système"
|
||||
RequireEquation = "L'entrée doit être une équation"
|
||||
UseEquationModel = "Utiliser le modèle d'équation"
|
||||
UndefinedEquation = "Une equation est indéfinie"
|
||||
|
||||
@@ -102,7 +102,7 @@ void IntervalController::buttonAction() {
|
||||
}
|
||||
|
||||
I18n::Message IntervalController::okButtonText() {
|
||||
return I18n::Message::Resolve;
|
||||
return I18n::Message::ResolveEquation;
|
||||
}
|
||||
|
||||
View * IntervalController::loadView() {
|
||||
|
||||
@@ -10,7 +10,7 @@ ListController::ListController(Responder * parentResponder, EquationStore * equa
|
||||
ExpressionModelListController(parentResponder, I18n::Message::AddEquation),
|
||||
ButtonRowDelegate(nullptr, footer),
|
||||
m_equationStore(equationStore),
|
||||
m_resolveButton(this, I18n::Message::Resolve, Invocation([](void * context, void * sender) {
|
||||
m_resolveButton(this, I18n::Message::ResolveEquation, Invocation([](void * context, void * sender) {
|
||||
ListController * list = (ListController *)context;
|
||||
list->resolveEquations();
|
||||
}, this), KDText::FontSize::Small, Palette::PurpleBright),
|
||||
@@ -140,6 +140,16 @@ bool ListController::expressionLayoutFieldDidReceiveEvent(ExpressionLayoutField
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ListController::textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) {
|
||||
reloadButtonMessage();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ListController::expressionLayoutFieldDidFinishEditing(ExpressionLayoutField * expressionLayoutField, Poincare::ExpressionLayout * layout, Ion::Events::Event event) {
|
||||
reloadButtonMessage();
|
||||
return true;
|
||||
}
|
||||
|
||||
void ListController::resolveEquations() {
|
||||
if (m_equationStore->numberOfDefinedModels() == 0) {
|
||||
app()->displayWarning(I18n::Message::EnterEquation);
|
||||
@@ -173,6 +183,10 @@ void ListController::resolveEquations() {
|
||||
}
|
||||
}
|
||||
|
||||
void ListController::reloadButtonMessage() {
|
||||
m_resolveButton.setMessage(m_equationStore->numberOfDefinedModels() > 1 ? I18n::Message::ResolveSystem : I18n::Message::ResolveEquation);
|
||||
}
|
||||
|
||||
void ListController::addEmptyModel() {
|
||||
app()->displayModalViewController(&m_modelsStackController, 0.f, 0.f, Metric::CommonTopMargin, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin);
|
||||
}
|
||||
|
||||
@@ -39,10 +39,13 @@ public:
|
||||
Shared::ExpressionFieldDelegateApp * expressionFieldDelegateApp() override;
|
||||
bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override;
|
||||
bool expressionLayoutFieldDidReceiveEvent(ExpressionLayoutField * expressionLayoutField, Ion::Events::Event event) override;
|
||||
bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override;
|
||||
bool expressionLayoutFieldDidFinishEditing(ExpressionLayoutField * expressionLayoutField, Poincare::ExpressionLayout * layout, Ion::Events::Event event) override;
|
||||
/* Specific to Solver */
|
||||
void resolveEquations();
|
||||
private:
|
||||
constexpr static int k_maxNumberOfRows = 5; // Ion::Display::Height / Metric::StoreRowHeight = 4.8;
|
||||
void reloadButtonMessage();
|
||||
void addEmptyModel() override;
|
||||
View * loadView() override;
|
||||
void unloadView(View * view) override;
|
||||
|
||||
Reference in New Issue
Block a user