On Jan 30, 2011, at 9:30 PM, Ben Golding wrote:

> 
> I have an app with a NSTableView where the data is presented to the user.  
> When the user hits "Find", I'd like to be able to scroll the table view to 
> the visible cell (easy enough) and then select the range that matched within 
> that field (not so easy).
> 
> At present, my code looks like:
> 
> NSCell *cell = [csvTableView preparedCellAtColumn:col row:row];

hi ben,
This simply returns a prepared cell; not a copied cell.

> NSText *textEditor = [csvWindow fieldEditor:YES forObject:cell];

This won't give you what you want; the field editor is used by the control, not 
the cell. In this case, it is the tableView. The prepared cell doesn't have a 
particular knowledge of where it is in the table; it is just setup to be used 
for drawing. So, asking for the fieldEditor of a cell doesn't make sense.

> 
> NSLog(@"Match: row %@, field %@, range(%d, %d)", [match row], [match field], 
> [match range].location, [match range].length);
> [csvTableView scrollRowToVisible:row];
> [csvTableView scrollColumnToVisible:col];
> [textEditor setSelectedRange:[match range]];
> 
> I feel like I need to between getting the textEditor for the window and 
> calling -setSelectedRange:, I just don't know what.

You need to begin an editing session first; call this:

- (void)editColumn:(NSInteger)column row:(NSInteger)row withEvent:(NSEvent 
*)theEvent select:(BOOL)select;

then ask for the field editor:

NSTextView *textEditor = [csvWindow fieldEditor:YES forObject:table];

Then do whatever selection you want on it.


corbin

> 
>       Ben._______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/corbind%40apple.com
> 
> This email sent to corb...@apple.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to