On Apr 17, 2013, at 2:09 PM, Quincey Morris 
<quinceymor...@rivergatesoftware.com> wrote:

> On Apr 17, 2013, at 10:50 , Gordon Apple <g...@ed4u.com> wrote:
> 
>> We are converting tables and outlines to view-based.  So far, so good, on
>> tables.  But NSOutlineView has been a pain.  First of all, there is no
>> documentation on this, zero, zip, nada, zilch, in the NSOutlineView
>> Reference.  You have to rely on sample code and NSOutlineView.h.
> 
> Yup, the documentation situation for NSOutlineView is awful.

You should log bugs at bugreporter.apple.com asking for specific things you 
would like to see better. Please be specific; general statements like "X is 
terrible" don't help us know what you are wanting to know. A better thing would 
be to say "I don't understand how to begin editing in NSOutlineView.." or "it 
took me a long time to figure out XX, and it should be documented".

corbin

> 
>> Our outline view has a column/cell identifier ³LineNumber², one for
>> ³CheckBox², one for ³Outline².  Previously, the latter two were bound to our
>> NSTreeController.  Converting to views (yes, using
>> outlineView:viewForTableColumn:item:), we could not even get the nib to
>> load.  ObjectValue always came up nil.  We tried binding the tableView to
>> the tree controller ‹ still nil.  
> 
> You can't "try" binding here. If you're using a data source, you don't bind 
> the outline view to the tree controller, and in that case you need to set 
> view.objectValue to the desired object before returning from 
> 'outlineView:viewForTableColumn:item:'.
> 
> Otherwise, you *must* bind the outline view's "content" binding to the tree 
> controller, and the outline view should then maintain "objectValue" for you. 
> (But since I always use data sources these days, I can't swear that this is 
> precisely correct.)
> 
>> Ok, after examining sample code, we
>> decided that just maybe there was something magic about the column/cell
>> identifier ³MainCell², so we changed our third column/cell identifier and
>> replaced @²Outline² with @²MainCell² in our code.  Amazing ‹ now the nib
>> loads.  However, still no values.
> 
> Since you're talking about loading nibs, I assume you've got code to register 
> the nib, and I bet you forgot to ensure that the nib is registered with with 
> the identifier that matches what you're actually using.
> 
> If I remember the details correctly, you're going to invoke 
> 'makeViewWithIdentifier:owner:' inside 
> 'outlineView:viewForTableColumn:item:'. When you're using registered nibs, 
> you must use the identifier that the nib is registered under, and the 
> identifier assigned to the built-in cell view (that you're not using) is 
> irrelevant. When you're using the built-in cell view, you must use its 
> identifier, of course.
> 
> The column identifier is basically unrelated, unless you *choose* to 
> configure it to match the actual cell view identifier. The table view 
> documentation assumes this is desirable, but I've never found it makes 
> anything much easier. All it does is provide the opportunity for things to 
> get out of sync, as you discovered.
> 
>> Even worse, the turn-down dingy appears
>> in the first column, not the third where we want it.  It does turn down the
>> right number of times and depths to match our outline, but is in the wrong
>> place and no values.
>> 
>> So how do I get the outline back into the third column and get my
>> objectValues to work?
> 
> Are you sure you aren't inadvertently returning a group row view, or a 
> full-row view?
> 
> _______________________________________________
> 
> 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/corbind%40apple.com
> 
> This email sent to corb...@apple.com


_______________________________________________

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