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: jonat...@mugginsoft.com [mailto:jonat...@mugginsoft.com]
Sent: Thursday, May 07, 2009 3:14 AM
To: jmun...@his.com
Cc: cocoa-dev@lists.apple.com
Subject: Re: Programmatic access to NSSearchField's Display Name?


On 6 May 2009, at 22:43, jmun...@his.com 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 (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/jonathan%40mugginsoft.com

This email sent to jonat...@mugginsoft.com

Jonathan Mitchell

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

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

Reply via email to