Files
Upsilon/apps/shared/storage_function_app.cpp
2018-11-23 12:04:04 +01:00

56 lines
1.4 KiB
C++

#include "storage_function_app.h"
#include "../apps_container.h"
using namespace Poincare;
namespace Shared {
StorageFunctionApp::Snapshot::Snapshot() :
m_cursor(),
m_interval(),
m_indexFunctionSelectedByCursor(0),
m_modelVersion(0),
m_rangeVersion(0),
m_angleUnitVersion(Preferences::AngleUnit::Radian)
{
m_interval.setStart(0);
m_interval.setEnd(10);
m_interval.setStep(1);
}
void StorageFunctionApp::Snapshot::reset() {
m_interval.setStart(0);
m_interval.setEnd(10);
m_interval.setStep(1);
m_indexFunctionSelectedByCursor = 0;
m_modelVersion = 0;
m_rangeVersion = 0;
setActiveTab(0);
}
void StorageFunctionApp::willBecomeInactive() {
if (m_modalViewController.isDisplayingModal()) {
m_modalViewController.dismissModalViewController();
}
if (inputViewController()->isDisplayingModal()) {
inputViewController()->abortEditionAndDismiss();
}
::App::willBecomeInactive();
}
bool StorageFunctionApp::isAcceptableExpression(const Expression exp, Responder * responder) {
if (TextFieldDelegateApp::isAcceptableExpression(exp, responder)) {
assert(!exp.isUninitialized());
if (exp.type() == ExpressionNode::Type::Store) {
// We do not want to allow a function to be "3->a" or "5->f(x)"
responder->app()->displayWarning(I18n::Message::StoreExpressionNotAcceptedAsFunction);
return false;
}
return true;
}
return false;
}
}