- (CTGradient *) gradientForIndex: (int) index;
- (NSString *) nameForIndex: (int) index;
-- (NSString *) nameForRowIndex: (int) row;
-- (void) setName: (NSString *) name forRowIndex: (int) index;
+- (void) setName: (NSString *) name forIndex: (int) index;
- (NSImage *) imageForIndex: (int) index isSmall: (BOOL) small;
-- (NSImage *) imageForRowIndex: (int) row isSmall: (BOOL) small;
- (NSColor *) colorForIndex: (int) index;
- (NSColor *) setColor: (NSColor *) color forIndex: (int) index;
- (void) addGroupWithName: (NSString *) name color: (NSColor *) color;
- (void) removeGroupWithRowIndexes: (NSIndexSet *) rowIndexes;
-- (NSIndexSet *) moveGroupsAtIndexes: (NSIndexSet *) indexes toRow: (int) newRow oldSelected: (NSIndexSet *) selectedIndexes;
+- (NSIndexSet *) moveGroupsAtRowIndexes: (NSIndexSet *) indexes toRow: (int) newRow oldSelected: (NSIndexSet *) selectedIndexes;
- (NSMenu *) groupMenuWithTarget: (id) target action: (SEL) action isSmall: (BOOL) small;
- (NSString *) nameForIndex: (int) index
{
int orderIndex = [self rowValueForIndex: index];
- return orderIndex != -1 ? [self nameForRowIndex: orderIndex] : nil;
+ return orderIndex != -1 ? [[fGroups objectAtIndex: orderIndex] objectForKey: @"Name"] : nil;
}
-- (NSString *) nameForRowIndex: (int) index
+- (void) setName: (NSString *) name forIndex: (int) index
{
- return [[fGroups objectAtIndex: index] objectForKey: @"Name"];
-}
-
-- (void) setName: (NSString *) name forRowIndex: (int) row
-{
- [[fGroups objectAtIndex: row] setObject: name forKey: @"Name"];
+ int orderIndex = [self rowValueForIndex: index];
+ [[fGroups objectAtIndex: orderIndex] setObject: name forKey: @"Name"];
[self saveGroups];
[[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateGroups" object: self];
- (NSImage *) imageForIndex: (int) index isSmall: (BOOL) small
{
int orderIndex = [self rowValueForIndex: index];
- return orderIndex != -1 ? [self imageForRowIndex: orderIndex isSmall: small] : nil;
-}
-
-- (NSImage *) imageForRowIndex: (int) row isSmall: (BOOL) small
-{
- return [self imageForGroup: [fGroups objectAtIndex: row] isSmall: small];
+ return orderIndex != -1 ? [self imageForGroup: [fGroups objectAtIndex: orderIndex] isSmall: small] : nil;
}
- (NSColor *) colorForIndex: (int) index
[self saveGroups];
}
-- (NSIndexSet *) moveGroupsAtIndexes: (NSIndexSet *) indexes toRow: (int) newRow oldSelected: (NSIndexSet *) selectedIndexes
+- (NSIndexSet *) moveGroupsAtRowIndexes: (NSIndexSet *) indexes toRow: (int) newRow oldSelected: (NSIndexSet *) selectedIndexes
{
NSArray * selectedGroups = [fGroups objectsAtIndexes: selectedIndexes];
- (id) tableView: (NSTableView *) tableView objectValueForTableColumn: (NSTableColumn *) tableColumn row: (NSInteger) row
{
+ GroupsController * groupsController = [GroupsController groups];
+ int groupsIndex = [groupsController indexForRow: row];
+
NSString * identifier = [tableColumn identifier];
if ([identifier isEqualToString: @"Color"])
- return [[GroupsController groups] imageForRowIndex: row isSmall: NO];
+ return [groupsController imageForIndex: groupsIndex isSmall: NO];
else
- return [[GroupsController groups] nameForRowIndex: row];
+ return [groupsController nameForIndex: groupsIndex];
}
- (void) tableView: (NSTableView *) tableView setObjectValue: (id) object forTableColumn: (NSTableColumn *) tableColumn
{
NSString * identifier = [tableColumn identifier];
if ([identifier isEqualToString: @"Name"])
- [[GroupsController groups] setName: object forRowIndex: row];
+ [[GroupsController groups] setName: object forIndex: [[GroupsController groups] indexForRow: row]];
else if ([identifier isEqualToString: @"Button"])
{
fCurrentColorIndex = [[GroupsController groups] indexForRow: row];
if ([[pasteboard types] containsObject: GROUP_TABLE_VIEW_DATA_TYPE])
{
NSIndexSet * indexes = [NSKeyedUnarchiver unarchiveObjectWithData: [pasteboard dataForType: GROUP_TABLE_VIEW_DATA_TYPE]],
- * selectedIndexes = [[GroupsController groups] moveGroupsAtIndexes: indexes toRow: newRow
+ * selectedIndexes = [[GroupsController groups] moveGroupsAtRowIndexes: indexes toRow: newRow
oldSelected: [fTableView selectedRowIndexes]];
[fTableView selectRowIndexes: selectedIndexes byExtendingSelection: NO];