On 2014 Sep 16, at 15:23, Kyle Sluder <k...@ksluder.com> wrote:

> I'd try wrapping things in an NSAnimationContext with 
> allowsImplicitAnimation=NO. Though I'm not sure where you would have the 
> opportunity to wrap the built-in expand behavior.

Yes, I’ve never understood “graphics contexts” and its new friend 
NSAnimationContext.  They seem like these magic singletons that just exist in 
the ether.  Anyhow, I tried doing this…

    [[NSAnimationContext currentContext] setAllowsImplicitAnimation:NO] ;

both in -applicationDidFinishLaunching and in 
-outlineView:numberOfChildrenOfItem:.  The latter is about the last thing that 
happens before the data source becomes deluged with messages on all items.  
There was no effect.

I also looked at the NSTableViewAnimationOptions stuff suggested by Jens, but 
the only place to plug that in is in the -insertRows… and -removeRows… methods, 
and the documentation indicates that these options are all about view-based 
tables.

Finally, I did a video capture on the animation so I could look at it 
frame-by-frame to see what was going on.  Interestingly, when there are 1000 
rows to be expanded but only 10 will fit in the window, the animation starts by 
drawing the tenth item at the top, then moves it down, and then the other nine 
progressively do the same.  So, the animation should not be a cause for 
fetching the bottom 990 items.

Conclusion: I don’t think this has anything to do with animation.

* * *

Weird that here we are with the Apple Watch and Swift, and old NSOutlineView 
still doesn’t work as it should.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to