Skip navigation.
 
mlRe: Opening column for edit after adding to tree controller?
FROM : Rick Mann
DATE : Sat May 31 22:21:21 2008

On May 31, 2008, at 07:34:30, I. Savant wrote:

>  NSTableView and NSOutlineView have a method -
> editColumn:row:withEvent:select: ... Make sure your tree controller 
> has fetched and rearranged its objects (and if your view is an 
> outline view, the corresponding "item" for your new instance is 
> fully expanded), then call the -editColumn:row:withEvent:select: 
> method.



In this situation, I've got an existing tree controller (and 
associated view) in some state. The user has chosen to add a new item, 
so my document's -addItem: method has been called. Currently, it's 
implemented like this:

http://pastie.caboo.se/private/x7ln7slfzqyltdx7onj0eq

- (IBAction)
addItem: (id) inSender
{
   NSManagedObject* entity = [NSEntityDescription 
insertNewObjectForEntityForName: @"Item"
                                   inManagedObjectContext: [self managedObjectContext]];
   
   NSArray* curSelection = [mItemsController selectedObjects];
   
   if ([curSelection count] > 0)
   {
       Item* curItem = [curSelection objectAtIndex: 0];
       Destination* curDest = [curItem valueForKey: @"destination"];
       [entity setValue: curDest forKey: @"destination"];
   }
   
   [mItemsController addObject: entity];
}

The problem is, I don't know how to determine to which row that newly-
added object corresponds in the table view. Is there any way? I 
suppose it's the current-selected row, since it's set up to select on 
add. Is there a more elegant way to find out, though (i.e., what if 
adding didn't change the selection).

How does one find the row in the table view corresponding to any given 
instance?

TIA,
--
Rick