[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

@@ -31,15 +31,6 @@ Interval * IntervalParameterController::interval() {
return m_interval;
}
void IntervalParameterController::unloadView() {
for (int i = 0; i < k_totalNumberOfCell; i++) {
assert(m_intervalCells[i] != nullptr);
delete m_intervalCells[i];
m_intervalCells[i] = nullptr;
}
FloatParameterController::unloadView();
}
float IntervalParameterController::parameterAtIndex(int index) {
GetterPointer getters[k_totalNumberOfCell] = {&Interval::start, &Interval::end, &Interval::step};
return (m_interval->*getters[index])();
@@ -75,13 +66,20 @@ int IntervalParameterController::reusableParameterCellCount(int type) {
return k_totalNumberOfCell;
}
View * IntervalParameterController::createView() {
SelectableTableView * tableView = (SelectableTableView *)FloatParameterController::createView();
View * IntervalParameterController::loadView() {
SelectableTableView * tableView = (SelectableTableView *)FloatParameterController::loadView();
for (int i = 0; i < k_totalNumberOfCell; i++) {
assert(m_intervalCells[i] == nullptr);
m_intervalCells[i] = new MessageTableCellWithEditableText(tableView, this, m_draftTextBuffer, I18n::Message::Default);
}
return tableView;
}
void IntervalParameterController::unloadView(View * view) {
for (int i = 0; i < k_totalNumberOfCell; i++) {
delete m_intervalCells[i];
m_intervalCells[i] = nullptr;
}
FloatParameterController::unloadView(view);
}
}