[code] Cleaned MenuController.

Change-Id: I499fcaf728a4f60557475b64e371a97e362b558d
This commit is contained in:
Léa Saviot
2017-11-28 10:17:22 +01:00
parent 2ce26f2625
commit 9d57d7f173
2 changed files with 34 additions and 32 deletions

View File

@@ -83,7 +83,7 @@ bool MenuController::handleEvent(Ion::Events::Event event) {
return true;
}
assert(selectedColumn == 0);
editScript(selectedRow);
editScriptAtIndex(selectedRow);
return true;
} else if (m_shouldDisplayAddScriptRow
&& selectedColumn == 0
@@ -96,33 +96,9 @@ bool MenuController::handleEvent(Ion::Events::Event event) {
return false;
}
void MenuController::configureScript() {
setParameteredScript();
stackViewController()->push(&m_scriptParameterController);
}
void MenuController::editScript(int scriptIndex) {
Script script = m_scriptStore->scriptAtIndex(scriptIndex, ScriptStore::EditableZone::Content);
m_editorController.setScript(script);
stackViewController()->push(&m_editorController);
}
void MenuController::setParameteredScript() {
m_scriptParameterController.setScript(m_selectableTableView.selectedRow());
}
void MenuController::addScript() {
assert(m_scriptStore->numberOfScripts() < k_maxNumberOfScripts);
if (m_scriptStore->addNewScript()) {
updateAddScriptRowDisplay();
m_selectableTableView.reloadData();
renameSelectedScript();
return;
}
m_selectableTableView.reloadData();
}
void MenuController::renameSelectedScript() {
assert(m_selectableTableView.selectedRow() >= 0);
assert(m_selectableTableView.selectedRow() < m_scriptStore->numberOfScripts());
static_cast<AppsContainer *>(const_cast<Container *>(app()->container()))->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock);
m_selectableTableView.selectCellAtLocation(0, (m_selectableTableView.selectedRow()));
EvenOddEditableTextCell * myCell = static_cast<EvenOddEditableTextCell *>(m_selectableTableView.selectedCell());
@@ -135,6 +111,8 @@ void MenuController::renameSelectedScript() {
}
void MenuController::deleteScriptAtIndex(int i) {
assert(i >= 0);
assert(i < m_scriptStore->numberOfScripts());
m_scriptStore->deleteScriptAtIndex(i);
updateAddScriptRowDisplay();
m_selectableTableView.reloadData();
@@ -273,7 +251,7 @@ int MenuController::typeAtLocation(int i, int j) {
}
void MenuController::willDisplayScriptTitleCellForIndex(HighlightCell * cell, int index) {
assert(index < m_scriptStore->numberOfScripts());
assert(index >= 0 && index < m_scriptStore->numberOfScripts());
EditableTextCell * editableTextCell = static_cast<EvenOddEditableTextCell *>(cell)->editableTextCell();
editableTextCell->textField()->setText(m_scriptStore->scriptAtIndex(index).name());
}
@@ -346,6 +324,31 @@ bool MenuController::textFieldDidAbortEditing(TextField * textField, const char
return true;
}
void MenuController::addScript() {
assert(m_scriptStore->numberOfScripts() < k_maxNumberOfScripts);
if (m_scriptStore->addNewScript()) {
updateAddScriptRowDisplay();
m_selectableTableView.reloadData();
renameSelectedScript();
return;
}
m_selectableTableView.reloadData();
}
void MenuController::configureScript() {
assert(m_selectableTableView.selectedRow() >= 0);
assert(m_selectableTableView.selectedRow() < m_scriptStore->numberOfScripts());
m_scriptParameterController.setScript(m_selectableTableView.selectedRow());
stackViewController()->push(&m_scriptParameterController);
}
void MenuController::editScriptAtIndex(int scriptIndex) {
assert(scriptIndex >=0 && scriptIndex < m_scriptStore->numberOfScripts());
Script script = m_scriptStore->scriptAtIndex(scriptIndex, ScriptStore::EditableZone::Content);
m_editorController.setScript(script);
stackViewController()->push(&m_editorController);
}
void MenuController::numberedDefaultScriptName(char * buffer) {
bool foundNewScriptNumber = false;
int currentScriptNumber = 1;

View File

@@ -17,10 +17,6 @@ public:
MenuController(Responder * parentResponder, ScriptStore * scriptStore, ButtonRowController * footer);
ConsoleController * consoleController() { return &m_consoleController; }
StackViewController * stackViewController();
void configureScript();
void editScript(int scriptIndex);
void setParameteredScript();
void addScript();
void renameSelectedScript();
void deleteScriptAtIndex(int i);
void reloadConsole();
@@ -79,6 +75,9 @@ private:
// 9 = strlen("script.py")
// 2 = maxLength of integers between 1 and 99.
// 1 = length of null terminating char.
void addScript();
void configureScript();
void editScriptAtIndex(int scriptIndex);
void numberedDefaultScriptName(char * buffer);
void intToText(int i, char * buffer);
void updateAddScriptRowDisplay();