Skip navigation.
 
mlRe: Implementing a Slightly Unusual NSTableView
FROM : Graham Cox
DATE : Sun Apr 20 16:36:04 2008

I just noticed a bug in the code I posted - it should be:

- mouseDown:
...

   if ([dataCell trackMouse:event inRect:cellFrame ofView:self 
untilMouseUp:YES])
   {
       // call the datasource to handle the checkbox state change as normal
       [[self dataSource] tableView:self setObjectValue:[dataCell 
objectValue] forTableColumn:theColumn row:row];
   }
...


previously I passed dataCell directly, not [datacell objectValue], and 
I passed it to the delegate, not the dataSource.

In fact passing <dataCell> works with many cell types such as buttons 
and checkboxes because they happen to implement methods such as 
stringValue and so on, but if you use a custom cell that returns 
something like a colour for example, that doesn't work. The delegate/
datasource mixup is another thing I got away with as usually they 
happen to be the same.

To be honest I'm having to sort of guess how the tableview is actually 
calling its dataSource, so this could still be wrong, but so far this 
handles all the cases I've thrown at it (admittedly not that many, but 
includes a variety of standard and custom cells).

G.

Related mailsAuthorDate
mlImplementing a Slightly Unusual NSTableView Peter Zegelin Apr 19, 12:05
mlRe: Implementing a Slightly Unusual NSTableView Jens Alfke Apr 19, 17:29
mlRe: Implementing a Slightly Unusual NSTableView Graham Cox Apr 20, 03:04
mlRe: Implementing a Slightly Unusual NSTableView Peter Zegelin Apr 20, 09:06
mlRe: Implementing a Slightly Unusual NSTableView Graham Cox Apr 20, 11:28
mlRe: Implementing a Slightly Unusual NSTableView Peter Zegelin Apr 20, 12:51
mlRe: Implementing a Slightly Unusual NSTableView Graham Cox Apr 20, 16:36
mlRe: Implementing a Slightly Unusual NSTableView Peter Zegelin Apr 21, 12:16
mlRe: Implementing a Slightly Unusual NSTableView Corbin Dunn Apr 21, 19:08