Files
Upsilon/apps/shared/storage_function_app.cpp
Émilie Feral c70278941a [graph] Do not keep a function pointer as member variable but a record.
Indeed, function pointers can become invalid at any point...
2018-11-23 12:04:02 +01:00

71 lines
1.6 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);
}
CurveViewCursor * StorageFunctionApp::Snapshot::cursor() {
return &m_cursor;
}
uint32_t * StorageFunctionApp::Snapshot::modelVersion() {
return &m_modelVersion;
}
uint32_t * StorageFunctionApp::Snapshot::rangeVersion() {
return &m_rangeVersion;
}
Preferences::AngleUnit * StorageFunctionApp::Snapshot::angleUnitVersion() {
return &m_angleUnitVersion;
}
Interval * StorageFunctionApp::Snapshot::interval() {
return &m_interval;
}
int * StorageFunctionApp::Snapshot::indexFunctionSelectedByCursor() {
return &m_indexFunctionSelectedByCursor;
}
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);
}
StorageFunctionApp::StorageFunctionApp(Container * container, Snapshot * snapshot, ViewController * rootViewController) :
ExpressionFieldDelegateApp(container, snapshot, rootViewController)
{
}
void StorageFunctionApp::willBecomeInactive() {
if (m_modalViewController.isDisplayingModal()) {
m_modalViewController.dismissModalViewController();
}
if (inputViewController()->isDisplayingModal()) {
inputViewController()->abortEditionAndDismiss();
}
::App::willBecomeInactive();
}
}