Re: NSTableColumn 'enabled' binding not in 10.3? Any others?
Re: NSTableColumn 'enabled' binding not in 10.3? Any others?
- Subject: Re: NSTableColumn 'enabled' binding not in 10.3? Any others?
- From: Jerry Krinock <email@hidden>
- Date: Tue, 29 May 2007 11:40:20 -0700
On 2007 May, 28, at 15:56, mmalc Crawford wrote:
Have you bound the table column itself, or bound something *to* the
'enabled' key of the table column?
Thank you, mmalc. I've bound the 'enabled' binding of several
NSTableColumns in several different tables *to* a key in an
NSArrayController.
Ah, if only I could get my wife to appreciate such precise
engineering semantics! I'm trying hard to understand this:
key: a string used to identify a property [1]
binding: an attribute of one object that may be bound to a property
in another [2]
So, to answer your question, accepting that "binding something to a
key" means to "bind some object to the property identified by the
key", the answer is that I have done the second thing you said. But
then, I don't quite understand the first thing.
Just to clear up any remaining ambiguity, here's a screenshot:
http://sheepsystems.com/engineering/BindingNSTableColumn.png
Available in Mac OS X v10.3 and later."
That's good news! So, it should work and I've done something wrong.
More Info: That NSArrayController provides data for all the columns
in all of the tables, and it is bound to a Key Path in Shared User
Defaults. I just re-examined all my table columns, and they all have
bindings similar to this. Also, recalling your first question, I
stepped through all the objects in the nib and did not find any
attributes accidentally bound *to* an NSTableColumn. And again,
finally, this nib runs perfectly in Tiger; the NSButtonCells in all
of my NSTableColumns are en/disabled as expected.
Any ideas what the problem might be?
Jerry
Indeed -- so it's not clear why you don't refer to the table column
bindings documentation: <http://developer.apple.com/documentation/
Cocoa/Reference/CocoaBindingsRef/BindingsText/NSTableColumn.html>
?
I guess the answer is: My ignorance, until now, of where to find all
the Bindings documentation.
It's also not clear what you mean by:
"So, I further surmise that NSTableColumn 'enabled' is one of those
magical "bindings-only" attributes invoking some Apple-private API."
I mean that, for example, the following code does not work:
NSTableColumn* column ;
[column setEnabled:YES] ;
So, I guess that that the binding is invoking some Apple-private
API. But, yes, this is only a guess. And, now I see where the
bindings documentation is, so it doesn't matter that this and other
attributes are only accessible via bindings.
REFERENCES
[1] http://developer.apple.com/documentation/Cocoa/Conceptual/
KeyValueCoding/index.html#//apple_ref/doc/uid/10000107i, "What is Key-
Value Coding". "Key" is not defined explicitly, but by implication,
reading the first 3 paragraphs.
[2] http://developer.apple.com/documentation/Cocoa/Conceptual/
CocoaBindings/index.html#//apple_ref/doc/uid/10000167i, "What Is A
Binding"
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden