Re: Programmatic access to NSSearchField's Display Name?
Re: Programmatic access to NSSearchField's Display Name?
- Subject: Re: Programmatic access to NSSearchField's Display Name?
- From: "email@hidden" <email@hidden>
- Date: Thu, 7 May 2009 14:04:01 +0100
On 7 May 2009, at 13:18, Jon C. Munson II wrote:
Namaste!
Thanks!
Too bad there isn't any way to access "the list" otherwise... I read
something about that not being possible due to a copy not being
made...
So, where did you find this stuff? I looked in the docs and didn't
any of
that referenced from the perspective of the search field.
Try The Introduction to Cocoa Bindings Reference document.
http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/
NSSearchField bindings info is here
http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/BindingsText/NSSearchField.html#/
/apple_ref/doc/uid/NSSearchField-DontLinkElementID_805
Using IB to construct your bindings is simple and efficient but it
does shield you from the underlying code.
Constructing (some of) your bindings programatically gives a much
better insight into how the technology operates and adds a lot of
flexibility.
Peace, Love, and Light,
/s/ Jon C. Munson II
-----Original Message-----
From: email@hidden [mailto:email@hidden]
Sent: Thursday, May 07, 2009 3:14 AM
To: email@hidden
Cc: email@hidden
Subject: Re: Programmatic access to NSSearchField's Display Name?
On 6 May 2009, at 22:43, email@hidden wrote:
Namaste!
Is there a way to programmatically access the Display Name attribute
of the search field for a given predicate?
I've got a number of predicates set up via IB and several of them I
need to be able to change the display name at run time.
If you create your searchField bindings manually rather than in IB
then you can recreate them as and when you require with specific
display names:
NSString *search1 = @"(unitName CONTAINS[cd] $value OR
unitPluralName CONTAINS[cd] $value)";
NSString *search2 = @"(messageStringValue CONTAINS[cd] $value)";
// search all
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
NSLocalizedString(@"All",
@"Search field placeholder"),
NSDisplayNameBindingOption,
search1,
NSPredicateFormatBindingOption,
nil];
[self.searchField bind:NSPredicateBinding
toObject:entryController
withKeyPath:@"filterPredicate"
options: options];
Note that searchField exposes additional bindings every time you bind
a predicate. so the next binding requires a suffix to
NSPredicateBinding.
// search entry
options = [NSDictionary dictionaryWithObjectsAndKeys:
NSLocalizedString(@"Entry",
@"Search field placeholder"),
NSDisplayNameBindingOption,
search2,
NSPredicateFormatBindingOption,
nil];
[self.searchField bind:[NSPredicateBinding
stringByAppendingString:@"2"]
toObject:entryController
withKeyPath:@"filterPredicate"
options: options];
Thanks!
Peace, Love, and Light,
/s/ Jon C. Munson II
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
dev/email@hidden
This email sent to email@hidden
Jonathan Mitchell
Central Conscious Unit
http://www.mugginsoft.com
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden