• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Outline view selection doesn't move when items are inserted?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Outline view selection doesn't move when items are inserted?


  • Subject: Re: Outline view selection doesn't move when items are inserted?
  • From: John Stiles <email@hidden>
  • Date: Thu, 17 Jan 2008 10:37:39 -0800

Ooh, really? I figured that would be a problem for backwards compatibility. I guess it could be an optional thing though... [outlineView setSelectionTracksItems:YES] or something.

I've actually filed a bug against the docs already, saying that they should spell out the behavior better:
rdar://5692703 [Docs] NSOutlineView docs don't discuss preservation of selected rows If you want me to file a separate feature request against NSOutlineView as well, I will happily do it.



Corbin Dunn wrote:
Since this seems like a common operation, feel free to log this as a bug/feature request against NSOutlineView. Reply back with the bug number.

The main problem: TableView keeps the selection on the same row, and doesn't know about 'items'. NSOutlineView knows about items, but has never had the smarts to restore the selected items. We could easily add this.

thanks,
corbin

On Jan 17, 2008, at 8:22 AM, John Stiles wrote:

OK, this is a little disappointing; fortunately it's not too hard to work around on my own. Thanks for confirming my hypothesis.


Jerry Krinock wrote:

On 2008 Jan, 16, at 19:00, John Stiles wrote:

I would have assumed that the selection tracks an /item/, and doesn't just sit on a particular row.


Is this behavior to be expected? Seems kinda weird to me.

Well, since you didn't expect it, it is "not expected". However, I do believe that this is the way it has always worked. Probably has something to do with the data source being a separate object.


In my code, I get the 'selectedObjects' before -reloadData, then after -reloadData, restore it. Here is some ugly old code I found while verifying my memory:

// Restore selection
e = [selectedObjects objectEnumerator] ;
NSMutableIndexSet* selectionIndexes = [[NSMutableIndexSet alloc] init] ;
while ((item = [e nextObject])) {
int index = [outlineView rowForItem:item] ;
if (index != NSNotFound) {
[selectionIndexes addIndex:index] ;
}
}
[outlineView selectRowIndexes:selectionIndexes
byExtendingSelection:NO] ;
[selectionIndexes release] ;



_______________________________________________

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


  • Follow-Ups:
    • Re: Outline view selection doesn't move when items are inserted?
      • From: Corbin Dunn <email@hidden>
References: 
 >Outline view selection doesn't move when items are inserted? (From: John Stiles <email@hidden>)
 >Re: Outline view selection doesn't move when items are inserted? (From: Jerry Krinock <email@hidden>)
 >Re: Outline view selection doesn't move when items are inserted? (From: John Stiles <email@hidden>)
 >Re: Outline view selection doesn't move when items are inserted? (From: Corbin Dunn <email@hidden>)

  • Prev by Date: Re: NSTableView: tableView:objectValueForTableColumn:row called more than necessary when scrolling
  • Next by Date: Re: CALayer content looks "blurry"
  • Previous by thread: Re: Outline view selection doesn't move when items are inserted?
  • Next by thread: Re: Outline view selection doesn't move when items are inserted?
  • Index(es):
    • Date
    • Thread