Hello all, that's me again with my predicate editor problems :) I subclassed predicate editor's row and replaced default text editor with my NSTokenField in -templateViews.
Predicates, that match my template, look like: ANY Tags IN {"tag1", "tag2", "tag3"} In -setPredicate I fill token field with tags from predicate: NSExpression *right = .....; [pMyTokenField setObjectValue:[right constantValue]]; In -predicateWithSubPredicates I create predicate described above with right part from my token field. I added traces there and it builds exactly what I need. Now, the problem: I added observer to the predicate that I edit and it gets called at every change of predicate, but not for my token field template! Predicate editor has several rows, some of them are "standard" - numeric, text etc. If I change any of them - my observer gets called. If I edit my token field, observer doesn't get called at all. If I add some token and switch focus to another row, predicate editor calls -predicateWithSubPredicate, I build correct predicate and... nothing. Observer doesn't get called. If I press "Enter" after adding token - observer will be called. If I switch to some other row (not with my template) and then switch back - observer will be called. If I switch to another row with the same template and when switch back - observer will not be called. I added one more control to the row - a button. It does nothing, just takes some place. I can change my token fields and observer will not be called. But if I press this button - observer will be called immediately. I tried to override -rightExpressions method and return my list of tags, I tried to call -will/didChangeValueForKey: - nothing helped. It seems that I need to notify somebody about the change, but have no idea - how to do that? Please, help me :) P.S.: Things are a bit more complex, I have Filter objects, that hold predicates. Predicate editor is bound to the filter and my observer observes those filters, not the predicates themselves. I tell this to cut ideas about incorrect observing. Observing works perfect for any other row. _______________________________________________ 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