NSTableView hit tab para saltar de fila en fila mientras edita
Tengo un NSTableView. Durante la edición, si presiono la pestaña, automáticamente salta a la siguiente columna. Esto es fantástico, pero cuando estoy editando el campo en la última columna y presiono la pestaña, me gustaría que el foco salte a la primera columna de la fila SIGUIENTE.
¿Alguna sugerencia
Gracias a Michael por el código de inicio, ¡estuvo muy cerca de lo que terminó funcionando! Aquí está el código final que utilicé, espero que sea útil para otra persona:
- (void) textDidEndEditing: (NSNotification *) notification {
NSInteger editedColumn = [self editedColumn];
NSInteger editedRow = [self editedRow];
NSInteger lastColumn = [[self tableColumns] count] - 1;
NSDictionary *userInfo = [notification userInfo];
int textMovement = [[userInfo valueForKey:@"NSTextMovement"] intValue];
[super textDidEndEditing: notification];
if ( (editedColumn == lastColumn)
&& (textMovement == NSTabTextMovement)
&& editedRow < ([self numberOfRows] - 1)
)
{
// the tab key was hit while in the last column,
// so go to the left most cell in the next row
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:(editedRow+1)] byExtendingSelection:NO];
[self editColumn: 0 row: (editedRow + 1) withEvent: nil select: YES];
}
}