Re: outlineViewSelectionDidChange not called
Re: outlineViewSelectionDidChange not called
- Subject: Re: outlineViewSelectionDidChange not called
- From: Jonathan Dann <email@hidden>
- Date: Tue, 25 Mar 2008 14:29:05 +0000
Have your tried binding the tree controller's @"selectionIndexPaths"
binding to a variable in your model object?
I havent tried it but it seems that you can do this in IB and then get
the model to observe the bound instance variable and you cab then see
each time the variable changes. Not sure if it will cover all the
bases you need though.
You'd get an array if selection index paths and then just see if the
count of the array is 1 for single selection or more if you have
multiple.
Jonathan Dann
On 25 Mar 2008, at 05:42, "Adam Gerson" <email@hidden> wrote:
Hey Jens,
Thanks for getting back to me.
When I
remove an object from the TreeController the row representing the
deleted object disappears and OutlineView selects the next row, but
does not send a notification to the delegate method
outlineViewSelectionDidChange.
IIRC, the notification is only sent on user-generated selection
changes. If you programmatically change the selected item (directly
or
indirectly) you need to call your observer method manually, if
necessary.
There are times when this is a problem. My observer method uses the
"currently selected tree node" as the object to work with. However,
after a programatic insert, the inserted object doesn't become the
selected item of the treecontroller. I have selectsInsertedObjects set
to YES. Likewise, after an undo of a delete the outline view
graphically selects the newly resurected object, but that object does
not become the tree controller's selected object.
What I need is a way to ensure the OutlineView's selection and the
TreeController's selection always are in sync. I thought this was the
promise of bindings.
On a separate but related note, when I add an object to the
TreeController is there away to get the OutlineView to automatically
select the new row?
Check the "Select Inserted Objects" box in the IB inspector for the
controller.
I have this box checked. It appears not to work when I
programmatically insert an object. It does work if I bind a button to
the insert method of the controller.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden