[escher] [apps] Implement app snapshot

Change-Id: I24d7eed7cef964af8be1c85222e758c297dc0da1
This commit is contained in:
Émilie Feral
2017-05-17 14:44:00 +02:00
parent 06de0dd9db
commit 71284311bb
51 changed files with 568 additions and 340 deletions

View File

@@ -6,10 +6,6 @@ using namespace Poincare;
namespace Sequence {
App * App::Descriptor::build(Container * container) {
return new App(container, this);
}
I18n::Message App::Descriptor::name() {
return I18n::Message::SequenceApp;
}
@@ -22,19 +18,39 @@ const Image * App::Descriptor::icon() {
return ImageStore::SequenceIcon;
}
App::App(Container * container, Descriptor * descriptor) :
FunctionApp(container, &m_inputViewController, descriptor),
m_sequenceStore(),
App * App::Snapshot::unpack(Container * container) {
return new App(container, this);
}
void App::Snapshot::reset() {
m_sequenceStore.removeAll();
}
App::Descriptor * App::Snapshot::descriptor() {
static Descriptor descriptor;
return &descriptor;
}
SequenceStore * App::Snapshot::sequenceStore() {
return &m_sequenceStore;
}
void App::Snapshot::tidy() {
m_sequenceStore.tidy();
}
App::App(Container * container, Snapshot * snapshot) :
FunctionApp(container, snapshot, &m_inputViewController),
m_nContext(((AppsContainer *)container)->globalContext()),
m_listController(&m_listFooter, &m_sequenceStore, &m_listHeader, &m_listFooter),
m_listController(&m_listFooter, snapshot->sequenceStore(), &m_listHeader, &m_listFooter),
m_listFooter(&m_listHeader, &m_listController, &m_listController, ButtonRowController::Position::Bottom, ButtonRowController::Style::EmbossedGrey),
m_listHeader(nullptr, &m_listFooter, &m_listController),
m_listStackViewController(&m_tabViewController, &m_listHeader),
m_graphController(&m_graphAlternateEmptyViewController, &m_sequenceStore, &m_graphHeader),
m_graphController(&m_graphAlternateEmptyViewController, snapshot->sequenceStore(), &m_graphHeader),
m_graphAlternateEmptyViewController(&m_graphHeader, &m_graphController, &m_graphController),
m_graphHeader(&m_graphStackViewController, &m_graphAlternateEmptyViewController, &m_graphController),
m_graphStackViewController(&m_tabViewController, &m_graphHeader),
m_valuesController(&m_valuesAlternateEmptyViewController, &m_sequenceStore, &m_valuesHeader),
m_valuesController(&m_valuesAlternateEmptyViewController, snapshot->sequenceStore(), &m_valuesHeader),
m_valuesAlternateEmptyViewController(&m_valuesHeader, &m_valuesController, &m_valuesController),
m_valuesHeader(nullptr, &m_valuesAlternateEmptyViewController, &m_valuesController),
m_valuesStackViewController(&m_tabViewController, &m_valuesHeader),
@@ -43,10 +59,6 @@ App::App(Container * container, Descriptor * descriptor) :
{
}
App::Descriptor * App::buildDescriptor() {
return new App::Descriptor();
}
InputViewController * App::inputViewController() {
return &m_inputViewController;
}