+5  A: 

This is harder than it should be, because Apple does not provide an NSProgressIndicatorCell. While table and outline views support the idea of custom cells being displayed within them, they are not set up to easily support custom subviews.

So the trick becomes, how do you get a a complete NSProgressIndicator view to display and animate at the desired spot in your window, without the ability to actually install it in the table view row?

The trick I've used is to literally install the NSProgressIndicator as a subview of the outline or table view itself. To find the location to add the subview, so it looks like it's "in the row", use the frameOfCellAtColumn:row: method. You can then position your progress indicator within that location of the outline view. When you're done spinning the progress indicator, you probably don't want to show it any more, so just remove it from its superview and discard it.

You will want to make sure you set the required autosizing flags on the progress indicator, so that it floats in the correct direction when/if your outline view is resized.

I'm sure there are other hacks like this to achieve the desired end result. I don't think there is any super-clean way to accomplish this trick.

danielpunkass
It's quite a good solution but sometimes cell text can be trimmed by ellipsis. So the cell should know about ‘external’ indicator to reduce a width of the text: http://tinyurl.com/mkmfat
Stream
What I did is actually give the area where I expect progress indicators to appear their own (blank) column in the table. It's a little clunky because there is this area of the table that is "unusable" but it does guarantee legitimate cell content doesn't overlap with the progress indicator area.
danielpunkass
Sorry for being pain in the neck but extra-column is not very convenient solution :) I like an implementation used in Mail very much, and Vienna app mentioned in this thread uses viewControl method of the cell to achieve the same results. I'll try to go this way.
Stream
I've meant that your solution with indicator as outline's sub-view is completely OK but it can be slightly improved by subclassing cells as Vienna does instead of using extra-columns.
Stream
That does sound like a better solution. Not being a pain in the neck :)
danielpunkass
+3  A: 

Vienna is an open-source (Apache license) feed reader that has this in its source list. You should look at the Vienna source code to see how they did it.

Peter Hosey
+2  A: 

Viena's implementation is not perfect. Add a feed to a folder then as it is loading and the progress indicator is busy collapse that folder. You will see the progress indicator still running in the same location.

Lee