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
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
| Related mails | Author | Date |
|---|---|---|
| Rick Mann | May 31, 10:27 | |
| I. Savant | May 31, 16:34 | |
| Rick Mann | May 31, 22:21 | |
| I. Savant | May 31, 22:31 | |
| Jonathan Dann | May 31, 22:35 | |
| Rick Mann | May 31, 22:35 | |
| Rick Mann | May 31, 23:39 | |
| Rick Mann | Jun 4, 05:15 | |
| Rick Mann | Jun 4, 05:22 |






Cocoa mail archive

