On 14 Oct 2008, at 1:19 pm, James Walker wrote:
Thanks... Hmm, that will usually do the right thing, but I'm not
sure it will always do what I want. Consider this sequence of events:
1. Row 5 is clicked.
2. Row 2 is shift clicked, resulting in rows 2, 3, 4, 5 being
selected.
3. Row 3 is shift-clicked, shrinking the selection to 3, 4, 5.
Now, what will [mOutlineView selectedRow] be? The documentation
says it returns "the index of the last row selected or added to the
selection". No row was added to the selection, so what does "last
row selected" mean? If "last" means "most recently", it's unclear,
because rows 3 and 4 were selected at the same time. I guess I
could experiment.
I believe "last" means "highest numbered", i.e. a spatial index, not a
temporal one.
You can always subtract the previous selection from the current one to
find what changed:
NSMutableIndexSet* changedSel = [[table selectionIndexes] mutableCopy];
[changedSel removeIndexes:mPreviousSel];
mPreviousSel = [table selectionIndexes];
I do wonder why you need to know though. I wouldn't rely too much on a
dynamic quality of a changing selection - better to rely only on the
static selection, which you can query at any time.
hth,
Graham
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [EMAIL PROTECTED]