[escher] SelectableTableView handles setting the ccell as first

responder if needed
This commit is contained in:
Émilie Feral
2017-12-19 12:18:33 +01:00
committed by EmilieNumworks
parent b47cdbb87a
commit 077a95197e
25 changed files with 111 additions and 121 deletions

View File

@@ -19,7 +19,8 @@ bool EditableCellTableViewController::textFieldShouldFinishEditing(TextField * t
|| (event == Ion::Events::Down && selectedRow() < numberOfRows()-1)
|| (event == Ion::Events::Up && selectedRow() > 0)
|| (event == Ion::Events::Right && textField->cursorLocation() == textField->draftTextLength() && selectedColumn() < numberOfColumns()-1)
|| (event == Ion::Events::Left && textField->cursorLocation() == 0 && selectedColumn() > 0); }
|| (event == Ion::Events::Left && textField->cursorLocation() == 0 && selectedColumn() > 0);
}
bool EditableCellTableViewController::textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) {
AppsContainer * appsContainer = ((TextFieldDelegateApp *)app())->container();
@@ -42,23 +43,6 @@ bool EditableCellTableViewController::textFieldDidFinishEditing(TextField * text
return true;
}
void EditableCellTableViewController::tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY) {
if (previousSelectedCellX == t->selectedColumn() && previousSelectedCellY == t->selectedRow()) {
return;
}
if (cellAtLocationIsEditable(previousSelectedCellX, previousSelectedCellY)) {
EvenOddEditableTextCell * myCell = (EvenOddEditableTextCell *)t->cellAtLocation(previousSelectedCellX, previousSelectedCellY);
myCell->editableTextCell()->textField()->setEditing(false);
if (app()->firstResponder() == myCell->editableTextCell()->textField()) {
app()->setFirstResponder(t);
}
}
if (cellAtLocationIsEditable(t->selectedColumn(), t->selectedRow())) {
EvenOddEditableTextCell * myCell = (EvenOddEditableTextCell *)t->selectedCell();
app()->setFirstResponder(myCell);
}
}
int EditableCellTableViewController::numberOfRows() {
int numberOfModelElements = numberOfElements();
if (numberOfModelElements >= maxNumberOfElements()) {