[escher] Change dynamic view controller paradigm

Change-Id: I57fd41c9b9ad8a1e8b684b97fdf80ddffd71881d
This commit is contained in:
Émilie Feral
2017-05-03 10:26:44 +02:00
parent a1f3c21d9b
commit 70fc734f7b
61 changed files with 338 additions and 475 deletions

View File

@@ -235,7 +235,7 @@ bool ListController::handleEvent(Ion::Events::Event event) {
return false;
}
void ListController::viewWillAppear() {
void ListController::didEnterResponderChain(Responder * previousFirstResponder) {
selectableTableView()->reloadData();
}
@@ -246,16 +246,6 @@ void ListController::willExitResponderChain(Responder * nextFirstResponder) {
}
}
void ListController::unloadView() {
assert(m_emptyCell != nullptr);
delete m_emptyCell;
m_emptyCell = nullptr;
assert(m_addNewFunction != nullptr);
delete m_addNewFunction;
m_addNewFunction = nullptr;
DynamicViewController::unloadView();
}
StackViewController * ListController::stackController() const{
return (StackViewController *)(parentResponder()->parentResponder()->parentResponder());
}
@@ -275,14 +265,6 @@ SelectableTableView * ListController::selectableTableView() {
return (SelectableTableView *)view();
}
View * ListController::createView() {
assert(m_emptyCell == nullptr);
m_emptyCell = new EvenOddCell();
assert(m_addNewFunction == nullptr);
m_addNewFunction = new NewFunctionCell(m_addNewMessage);
return new SelectableTableView(this, this, 0, 0, 0, 0, 0, 0, this, false, true);
}
TabViewController * ListController::tabController() const{
return (TabViewController *)(parentResponder()->parentResponder()->parentResponder()->parentResponder());
}
@@ -305,4 +287,18 @@ void ListController::removeFunctionRow(Function * function) {
m_functionStore->removeFunction(function);
}
View * ListController::loadView() {
m_emptyCell = new EvenOddCell();
m_addNewFunction = new NewFunctionCell(m_addNewMessage);
return new SelectableTableView(this, this, 0, 0, 0, 0, 0, 0, this, false, true);
}
void ListController::unloadView(View * view) {
delete m_emptyCell;
m_emptyCell = nullptr;
delete m_addNewFunction;
m_addNewFunction = nullptr;
delete view;
}
}