[self.delegate mappingsViewController:self
moveMappingFromIndex:fromIdx
toIndex:toIdx];
- [self.mappingList beginUpdates];
- [self.mappingList moveRowAtIndex:fromIdx toIndex:toIdx];
- [self.mappingList endUpdates];
[self.mappingList scrollRowToVisible:toIdx];
[self.mappingList selectRowIndexes:[[NSIndexSet alloc] initWithIndex:toIdx]
byExtendingSelection:NO];
[self.delegate mappingsViewController:self
moveMappingFromIndex:fromIdx
toIndex:toIdx];
- [self.mappingList beginUpdates];
- [self.mappingList moveRowAtIndex:fromIdx toIndex:toIdx];
- [self.mappingList endUpdates];
[self.mappingList scrollRowToVisible:toIdx];
[self.mappingList selectRowIndexes:[[NSIndexSet alloc] initWithIndex:toIdx]
byExtendingSelection:NO];
self.mappingListTrigger.state = NSOffState;
}
+- (void)beginUpdates {
+ [self.mappingList beginUpdates];
+}
+
+- (void)endUpdates {
+ [self.mappingList endUpdates];
+ [self changedActiveMappingToIndex:self.mappingList.selectedRow];
+}
+
- (void)addedMappingAtIndex:(NSInteger)index startEditing:(BOOL)startEditing {
[self.mappingList abortEditing];
- [self.mappingList beginUpdates];
[self.mappingList insertRowsAtIndexes:[[NSIndexSet alloc] initWithIndex:index]
withAnimation:startEditing ? 0 : NSTableViewAnimationSlideLeft];
- [self.mappingList endUpdates];
if (startEditing) {
[self.mappingListTrigger performClick:self];
[self.mappingList editColumn:0 row:index withEvent:nil select:YES];
- (void)removedMappingAtIndex:(NSInteger)index {
[self.mappingList abortEditing];
- [self.mappingList beginUpdates];
[self.mappingList removeRowsAtIndexes:[[NSIndexSet alloc] initWithIndex:index]
withAnimation:NSTableViewAnimationEffectFade];
- [self.mappingList endUpdates];
}
- (void)changedActiveMappingToIndex:(NSInteger)index {
setObjectValue:(NSString *)obj
forTableColumn:(NSTableColumn *)col
row:(NSInteger)index {
- NJMapping *mapping = [self.delegate mappingsViewController:self
- mappingForIndex:index];
- mapping.name = obj;
- [self.delegate mappingsViewController:self editedMappingAtIndex:index];
+ [self.delegate mappingsViewController:self
+ renameMappingAtIndex:index
+ toName:obj];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
NSString *value = [pboard stringForType:PB_ROW];
NSInteger srcRow = [value intValue];
row -= srcRow < row;
- [self.mappingList beginUpdates];
- [self.mappingList moveRowAtIndex:srcRow toIndex:row];
- [self.mappingList endUpdates];
[self.delegate mappingsViewController:self
moveMappingFromIndex:srcRow
toIndex:row];