eps@toaster.SFSU.EDU (Eric P. Scott) (05/22/91)
Both Tab and Back-Tab are equivalent to selectText: for a TextField with no nextText. Tab works "properly" for a Form containing a single FormCell, but Back-Tab instead resigns the first responder! Trying to point it back at *itself* using setPreviousText: doesn't work (I guess it treats self as nil?). Nor can one use something [a Text delegate] like - textDidEnd:textObject endChar:(unsigned short)whyEnd { if (whyEnd == NX_BACKTAB) [myForm selectTextAt:0]; // no effect return self; } [not that anyone would actually *want* to do this :-) ] since it's messaged _before_ the FormCell deselects (although it could presumably queue a deferred select, ick). What does seem to work is setting the Form's nextText to an object containing: - setPreviousText:anObject { [anObject setPreviousText:self]; return self; } - selectText:sender { [sender selectText:self]; return self; } ...or, better, dispense with the -setPreviousText: and diddle an IB outlet method (which the "improved" 2.0 IB will no longer automagically generate, grr), e.g. - setMyForm:anObject { myForm=anObject; [myForm setPreviousText:self]; return self; } - selectText:sender { [sender selectText:self]; return self; } I'll treat this as an AppKit bug (with workaround) unless someone can come up with a *good* explanation for this [mis]behavior. Note that Forms with more than one FormCell do work the way I'd expect. Just thought y'all'd like to know. (I think this warrants an entry in NextAnswers...) -=EPS=- -- InterfaceBuilder lowers programmer productivity! I've worked on this project for two whole days and still don't have a line of code to show for it! :-) :-) :-)