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