[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

@@ -87,11 +87,11 @@ void ParametersController::setLaw(Law * law) {
}
void ParametersController::viewWillAppear() {
FloatParameterController::viewWillAppear();
for (int i = 0; i < m_law->numberOfParameter(); i++) {
contentView()->parameterDefinitionAtIndex(i)->setMessage(m_law->parameterDefinitionAtIndex(i));
}
contentView()->layoutSubviews();
FloatParameterController::viewWillAppear();
}
int ParametersController::numberOfRows() {
@@ -120,18 +120,6 @@ int ParametersController::reusableParameterCellCount(int type) {
return m_law->numberOfParameter();
}
void ParametersController::unloadView() {
assert(m_selectableTableView != nullptr);
delete m_selectableTableView;
m_selectableTableView = nullptr;
for (int i = 0; i < k_maxNumberOfCells; i++) {
assert(m_menuListCell[i] != nullptr);
delete m_menuListCell[i];
m_menuListCell[i] = nullptr;
}
FloatParameterController::unloadView();
}
float ParametersController::parameterAtIndex(int index) {
return m_law->parameterValueAtIndex(index);
}
@@ -165,11 +153,9 @@ I18n::Message ParametersController::okButtonText() {
return I18n::Message::Next;
}
View * ParametersController::createView() {
assert(m_selectableTableView == nullptr);
m_selectableTableView = (SelectableTableView *)FloatParameterController::createView();
View * ParametersController::loadView() {
m_selectableTableView = (SelectableTableView *)FloatParameterController::loadView();
for (int i = 0; i < k_maxNumberOfCells; i++) {
assert(m_menuListCell[i] == nullptr);
m_menuListCell[i] = new MessageTableCellWithEditableText(m_selectableTableView, this, m_draftTextBuffer);
}
ContentView * contentView = (ContentView *)new ContentView(this, m_selectableTableView);
@@ -179,6 +165,16 @@ View * ParametersController::createView() {
return contentView;
}
void ParametersController::unloadView(View * view) {
delete m_selectableTableView;
m_selectableTableView = nullptr;
for (int i = 0; i < k_maxNumberOfCells; i++) {
delete m_menuListCell[i];
m_menuListCell[i] = nullptr;
}
FloatParameterController::unloadView(view);
}
SelectableTableView * ParametersController::selectableTableView() {
return m_selectableTableView;
}