On 5/20/09 10:35 PM, Seth Willits said:

>I have an NSObjectController whose Content item is bounds to an
>object's "thing" path. I can then bind the values of controls in my
>nib to model key paths through that NSObjectController in the usual
>way. Those Value bindings can use "Conditionally Sets Enabled" and
>they work great.
>
>I have some controls where I'm not binding the Value though, and
>instead just need to bind Enabled alone, so that when there is no
>selection in the controller, those controls are disabled.
>
>The obvious way of doing that is to bind 'Enabled' to the
>NSObjectController's "selection" controller key, (no model key), and
>use the value transformer NSIsNotNil. Anytime the selection is not
>nil, the control is enabled... right? It's super simple, but it doesn't
>work, and I don't see why not.

My solution to all this was to create an NSValueTransformer subclass
that converts an NSArray/NSSet (anything that responds to count
actually) and converts to an NSNumber representing the number of items
in the collection.  Then I register 4 transformers named
RRCountIsZeroTransformer, RRCountIsNotZeroTransformer,
RRCountIsOneTransformer, and RRCountIsNotOneTransformer and use these in
my 'enabled' bindings.

--
____________________________________________________________
Sean McBride, B. Eng                 s...@rogue-research.com
Rogue Research                        www.rogue-research.com
Mac Software Developer              Montréal, Québec, Canada


_______________________________________________

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

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

Reply via email to