mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/escher] Invocation::Action returns a bool
This commit is contained in:
@@ -17,7 +17,7 @@ MenuController::MenuController(Responder * parentResponder, App * pythonDelegate
|
||||
MenuController * menu = (MenuController *)context;
|
||||
menu->consoleController()->setAutoImport(true);
|
||||
menu->stackViewController()->push(menu->consoleController());
|
||||
return;
|
||||
return true;
|
||||
}, this), KDFont::LargeFont),
|
||||
m_selectableTableView(this, this, this, this),
|
||||
m_scriptParameterController(nullptr, I18n::Message::ScriptOptions, this),
|
||||
|
||||
@@ -50,6 +50,7 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) :
|
||||
ExamPopUpController * controller = (ExamPopUpController *)context;
|
||||
Container * container = (Container *)controller->app()->container();
|
||||
container->activeApp()->dismissModalViewController();
|
||||
return true;
|
||||
}, parentResponder), KDFont::SmallFont),
|
||||
m_okButton(parentResponder, I18n::Message::Ok, Invocation([](void * context, void * sender) {
|
||||
ExamPopUpController * controller = (ExamPopUpController *)context;
|
||||
@@ -65,6 +66,7 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) :
|
||||
}
|
||||
container->refreshPreferences();
|
||||
container->activeApp()->dismissModalViewController();
|
||||
return true;
|
||||
}, parentResponder), KDFont::SmallFont),
|
||||
m_warningTextView(KDFont::SmallFont, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack),
|
||||
m_messageTextView1(KDFont::SmallFont, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack),
|
||||
|
||||
@@ -36,11 +36,13 @@ PopUpController::ContentView::ContentView(Responder * parentResponder) :
|
||||
m_cancelButton(this, I18n::Message::Cancel, Invocation([](void * context, void * sender) {
|
||||
PopUpController::ContentView * view = (PopUpController::ContentView *)context;
|
||||
view->app()->dismissModalViewController();
|
||||
return true;
|
||||
}, this), KDFont::SmallFont),
|
||||
m_okButton(this, I18n::Message::Ok, Invocation([](void * context, void * sender) {
|
||||
PopUpController::ContentView * view = (PopUpController::ContentView *)context;
|
||||
AppsContainer * appsContainer = (AppsContainer *)view->app()->container();
|
||||
appsContainer->switchTo(appsContainer->hardwareTestAppSnapshot());
|
||||
return true;
|
||||
}, this), KDFont::SmallFont),
|
||||
m_warningTextView(KDFont::SmallFont, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack),
|
||||
m_messageTextView1(KDFont::SmallFont, I18n::Message::HardwareTestLaunch1, 0.5, 0.5, KDColorWhite, KDColorBlack),
|
||||
|
||||
@@ -131,8 +131,10 @@ void ListController::editExpression(Sequence * sequence, int sequenceDefinition,
|
||||
InputViewController * myInputViewController = (InputViewController *)sender;
|
||||
const char * textBody = myInputViewController->textBody();
|
||||
mySequence->setContent(textBody);
|
||||
return true; //TODO should return result of mySequence->setContent
|
||||
},
|
||||
[](void * context, void * sender){
|
||||
return true;
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
@@ -142,8 +144,10 @@ void ListController::editExpression(Sequence * sequence, int sequenceDefinition,
|
||||
InputViewController * myInputViewController = (InputViewController *)sender;
|
||||
const char * textBody = myInputViewController->textBody();
|
||||
mySequence->setFirstInitialConditionContent(textBody);
|
||||
return true; //TODO should return result of mySequence->setFirstInitialConditionContent
|
||||
},
|
||||
[](void * context, void * sender){
|
||||
return true;
|
||||
});
|
||||
break;
|
||||
default:
|
||||
@@ -153,8 +157,10 @@ void ListController::editExpression(Sequence * sequence, int sequenceDefinition,
|
||||
InputViewController * myInputViewController = (InputViewController *)sender;
|
||||
const char * textBody = myInputViewController->textBody();
|
||||
mySequence->setSecondInitialConditionContent(textBody);
|
||||
return true; //TODO should return the result of mySequence->setSecondInitialConditionContent
|
||||
},
|
||||
[](void * context, void * sender){
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,8 +98,10 @@ void ExpressionModelListController::editExpression(ExpressionModel * model, Ion:
|
||||
InputViewController * myInputViewController = (InputViewController *)sender;
|
||||
const char * textBody = myInputViewController->textBody();
|
||||
myModel->setContent(textBody);
|
||||
return true; // TODO we should return a result from myModel->setContent, but we will remove ExpressionModelListController soon anyway
|
||||
},
|
||||
[](void * context, void * sender){
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ FloatParameterController::FloatParameterController(Responder * parentResponder)
|
||||
m_okButton(&m_selectableTableView, I18n::Message::Ok, Invocation([](void * context, void * sender) {
|
||||
FloatParameterController * parameterController = (FloatParameterController *) context;
|
||||
parameterController->buttonAction();
|
||||
return true;
|
||||
}, this))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -13,11 +13,13 @@ FunctionListController::FunctionListController(Responder * parentResponder, Func
|
||||
FunctionListController * list = (FunctionListController *)context;
|
||||
TabViewController * tabController = list->tabController();
|
||||
tabController->setActiveTab(1);
|
||||
return true;
|
||||
}, this), KDFont::SmallFont, Palette::PurpleBright),
|
||||
m_valuesButton(this, I18n::Message::DisplayValues, Invocation([](void * context, void * sender) {
|
||||
FunctionListController * list = (FunctionListController *)context;
|
||||
TabViewController * tabController = list->tabController();
|
||||
tabController->setActiveTab(2);
|
||||
return true;
|
||||
}, this), KDFont::SmallFont, Palette::PurpleBright)
|
||||
{
|
||||
m_selectableTableView.setMargins(0);
|
||||
|
||||
@@ -18,16 +18,19 @@ InteractiveCurveViewController::InteractiveCurveViewController(Responder * paren
|
||||
InteractiveCurveViewController * graphController = (InteractiveCurveViewController *) context;
|
||||
StackViewController * stack = graphController->stackController();
|
||||
stack->push(graphController->rangeParameterController());
|
||||
return true;
|
||||
}, this), KDFont::SmallFont),
|
||||
m_zoomButton(this, I18n::Message::Zoom, Invocation([](void * context, void * sender) {
|
||||
InteractiveCurveViewController * graphController = (InteractiveCurveViewController *) context;
|
||||
StackViewController * stack = graphController->stackController();
|
||||
stack->push(graphController->zoomParameterController());
|
||||
return true;
|
||||
}, this), KDFont::SmallFont),
|
||||
m_defaultInitialisationButton(this, I18n::Message::Initialization, Invocation([](void * context, void * sender) {
|
||||
InteractiveCurveViewController * graphController = (InteractiveCurveViewController *) context;
|
||||
StackViewController * stack = graphController->stackController();
|
||||
stack->push(graphController->initialisationParameterController());
|
||||
return true;
|
||||
}, this), KDFont::SmallFont)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -192,16 +192,17 @@ void StorageExpressionModelListController::editExpression(Ion::Events::Event eve
|
||||
StorageExpressionModelListController * myController = static_cast<StorageExpressionModelListController *>(context);
|
||||
InputViewController * myInputViewController = (InputViewController *)sender;
|
||||
const char * textBody = myInputViewController->textBody();
|
||||
myController->editSelectedRecordWithText(textBody);
|
||||
return myController->editSelectedRecordWithText(textBody);
|
||||
},
|
||||
[](void * context, void * sender){
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
void StorageExpressionModelListController::editSelectedRecordWithText(const char * text) {
|
||||
bool StorageExpressionModelListController::editSelectedRecordWithText(const char * text) {
|
||||
Ion::Storage::Record record = modelStore()->recordAtIndex(modelIndexForRow(selectedRow()));
|
||||
ExpiringPointer<StorageExpressionModel> model = modelStore()->modelForRecord(record);
|
||||
model->setContent(text);
|
||||
return (model->setContent(text) == Ion::Storage::Record::ErrorStatus::None);
|
||||
}
|
||||
|
||||
bool StorageExpressionModelListController::removeModelRow(Ion::Storage::Record record) {
|
||||
|
||||
@@ -26,7 +26,7 @@ protected:
|
||||
virtual void didChangeModelsList() {}
|
||||
virtual void reinitExpression(ExpiringPointer<StorageExpressionModel> model);
|
||||
virtual void editExpression(Ion::Events::Event event);
|
||||
virtual void editSelectedRecordWithText(const char * text);
|
||||
virtual bool editSelectedRecordWithText(const char * text);
|
||||
virtual bool removeModelRow(Ion::Storage::Record record);
|
||||
virtual int modelIndexForRow(int j) { return j; }
|
||||
virtual bool isAddEmptyRow(int j);
|
||||
|
||||
@@ -14,11 +14,13 @@ StorageFunctionListController::StorageFunctionListController(Responder * parentR
|
||||
StorageFunctionListController * list = (StorageFunctionListController *)context;
|
||||
TabViewController * tabController = list->tabController();
|
||||
tabController->setActiveTab(1);
|
||||
return true;
|
||||
}, this), KDFont::SmallFont, Palette::PurpleBright),
|
||||
m_valuesButton(this, I18n::Message::DisplayValues, Invocation([](void * context, void * sender) {
|
||||
StorageFunctionListController * list = (StorageFunctionListController *)context;
|
||||
TabViewController * tabController = list->tabController();
|
||||
tabController->setActiveTab(2);
|
||||
return true;
|
||||
}, this), KDFont::SmallFont, Palette::PurpleBright),
|
||||
m_titlesColumnWidth(k_minTitleColumnWidth)
|
||||
{
|
||||
|
||||
@@ -23,6 +23,7 @@ StorageValuesController::StorageValuesController(Responder * parentResponder, In
|
||||
StorageValuesController * valuesController = (StorageValuesController *) context;
|
||||
StackViewController * stack = ((StackViewController *)valuesController->stackController());
|
||||
stack->push(valuesController->intervalParameterController());
|
||||
return true;
|
||||
}, this), k_font)
|
||||
{
|
||||
m_selectableTableView.setVerticalCellOverlap(0);
|
||||
|
||||
@@ -23,6 +23,7 @@ ValuesController::ValuesController(Responder * parentResponder, InputEventHandle
|
||||
ValuesController * valuesController = (ValuesController *) context;
|
||||
StackViewController * stack = ((StackViewController *)valuesController->stackController());
|
||||
stack->push(valuesController->intervalParameterController());
|
||||
return true;
|
||||
}, this), KDFont::SmallFont)
|
||||
{
|
||||
m_selectableTableView.setVerticalCellOverlap(0);
|
||||
|
||||
@@ -15,6 +15,7 @@ ListController::ListController(Responder * parentResponder, EquationStore * equa
|
||||
m_resolveButton(this, equationStore->numberOfDefinedModels() > 1 ? I18n::Message::ResolveSystem : I18n::Message::ResolveEquation, Invocation([](void * context, void * sender) {
|
||||
ListController * list = (ListController *)context;
|
||||
list->resolveEquations();
|
||||
return true;
|
||||
}, this), KDFont::LargeFont, Palette::PurpleBright),
|
||||
m_modelsParameterController(this, equationStore, this),
|
||||
m_modelsStackController(nullptr, &m_modelsParameterController, KDColorWhite, Palette::PurpleDark, Palette::PurpleDark)
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
class Invocation {
|
||||
public:
|
||||
typedef void (*Action)(void * context, void * sender);
|
||||
typedef bool (*Action)(void * context, void * sender);
|
||||
Invocation(Action a, void * c);
|
||||
void perform(void * sender);
|
||||
bool perform(void * sender);
|
||||
private:
|
||||
Action m_action;
|
||||
void * m_context;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <escher/invocation.h>
|
||||
|
||||
Invocation::Invocation(Action a, void * c) :
|
||||
m_action(a),
|
||||
m_context(c)
|
||||
m_action(a),
|
||||
m_context(c)
|
||||
{
|
||||
}
|
||||
|
||||
void Invocation::perform(void * sender) {
|
||||
(*m_action)(m_context, sender);
|
||||
bool Invocation::perform(void * sender) {
|
||||
return (*m_action)(m_context, sender);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user