Thanks, Aki, for the explanation of the "possibly". I finally got the messages and receivers right to do it inside control:textView:doCommandBySelector:. I had some confusion between the control, the text field, the window, but I think I understand now. Anyway, it seems to be working!
Thanks for your help and patience. John Velman On Mon, Oct 20, 2008 at 04:09:20PM -0700, Aki Inoue wrote: > > On 2008/10/20, at 13:46, John Velman wrote: > >> Thanks, Aki, this helps clear some things up. However, two questions: >> >> 1) What does "possibly" depend on? Surely its not random :-) > Well, I admit "possibly" is probably too vague to be useful 8-). > > The behavior is controlled by the NSTextMovement key in the > NSTextDidEndEditing notification. > If it's either NSTabTextMovement or NSBackTabTextMovement AND there is a > valid key view in the corresponding direction, the focus moves to the > next/previous key view. Otherwise, it just invokes -selectText: to self. > >> 2) So, I gather that I should be able to get the behaviour I want by >> putting in my delegate something like >> >> [[aTextView window] selectNextKeyView:[aTextView nextResponder]]; >> >> I tried this and it doesn't work. Could be I'm sending the message to the >> wrong object? > You should be able to do it inside control:textView:doCommandBySelector:. > Need to return YES to indicate that the text field should not handle the > key event. > > Aki > >> >> >> Thanks, >> >> John Velman >> >> On Mon, Oct 20, 2008 at 12:29:00PM -0700, Aki Inoue wrote: >>> John, >>> >>> "End editing" doesn't necessarily mean losing focus in terms of behavior >>> visually users can see. >>> In this case, NSTextField does end editing, but calls -selectAll: >>> immediately afterwards to keep the focus. >>> >>>> Discussion Field editors interpret Tab, Shift-Tab, and Return (Enter) as >>>> cues to end editing and possibly to change the first responder. >>> >>> Notice "possibly" in the sentence. Return (Enter) does not change the >>> first responder. >>> >>> Aki >>> >>> On 2008/10/20, at 11:49, John Velman wrote: >>> >>>> This must have a simple answer, but I can't find it. >>>> >>>> I have several text fields in in a window. I've set the nextKeyView as >>>> I >>>> like it, and tabbing works. But pressing enter or return highlights the >>>> whole cell as selected, rather than ending editing of that cell as I >>>> believe it should. >>>> >>>> I used caveman debugging in the following way: >>>> >>>> I made files owner the delegate for the text field in one of the boxes. >>>> In >>>> Files Owner, I put in the delegate >>>> >>>> - (BOOL)control:(NSControl *)control >>>> textView:(NSTextView *)aTextView >>>> doCommandBySelector:(SEL)aSelector >>>> >>>> Here I test for which selector (either return or enter gives >>>> "insertNewline:"). I also test "aTextView" with "isFieldEditor", which >>>> returns 1 (YES); >>>> >>>> Now the documentation says of isFieldEditor: >>>> >>>> <quote> >>>> Return Value YES if the text views sharing the receiver’s layout >>>> manager >>>> behave as field editors, NO otherwise. >>>> >>>> Discussion Field editors interpret Tab, Shift-Tab, and Return (Enter) as >>>> cues to end editing and possibly to change the first responder. >>>> Non-field >>>> editors instead accept these characters as text input. See Text Fields, >>>> Text Views, and the Field Editor for more information on field editors. >>>> By >>>> default, text views don’t behave as field editors. >>>> >>>> </quote> >>>> >>>> So where can I look to find out why my field editor is not behaving as a >>>> field editor? >>>> >>>> Thanks, >>>> >>>> John Velman >>>> >>>> _______________________________________________ >>>> >>>> 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/aki%40apple.com >>>> >>>> This email sent to [EMAIL PROTECTED] _______________________________________________ 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 [EMAIL PROTECTED]