Coloring a Row in a NSTableView.

Joshua Garnham <joshua.garnham-/[email protected]>
Newsgroups gmane.comp.macosx.devel
Message-ID <[email protected]>
What I am looking to do is set the background color of the selected row in an NSTableView when a I button is clicked.
I've seen other cases where people have used tableView:willDisplayCell:forTableColumn:row: and setBackgroundColor: but I don't think that will work in my situation where I want it to happen when a button is clicked.

I know that I can find the selected row with NSTableView's selectedRow method and set the Background color for a cell with setBackgroundColor:.
Here's what I have tried :
- (void)tableView:(NSTableView *)aTableView 
  willDisplayCell:(id)aCell 
   forTableColumn:(NSTableColumn *)aTableColumn 
              row:(NSInteger)rowIndex {
    NSLog(@"Coloring Method Begun");
    int selectedRow = [outlineView selectedRow];
    if (selectedRow == nil) {
    }else {
        if (clicked == YES) {
            [aCell setBackgroundColor:[NSColor lightGrayColor]];
            clicked = NO;
            NSLog(@"Coloring Method Ended");
        }else {
        }
    }
}
    
- (IBAction)colorize:(id)sender{
    NSLog(@"Click Method Begun");
    clicked = YES;
    NSIndexSet *selectedRowSet = [outlineView selectedRowIndexes];
    NSIndexSet *selectedColumnSet = [outlineView selectedColumnIndexes];
    [outlineView reloadDataForRowIndexes:selectedRowSet columnIndexes:selectedColumnSet];
    NSLog(@"Click Method Ended");
}

But it seems that the delegate method is never triggered.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.