On Apr 30, 2010, at 9:59 AM, Charles Srstka wrote:

> On Apr 30, 2010, at 11:41 AM, Douglas Davidson wrote:
> 
>> Here is the normal sequence when a text-handling view receives key events:  
>> the keyDown: method passes events to interpretKeyEvents:, which is where 
>> they enter key binding and input management.  They come out either as 
>> insertText: or as doCommandBySelector: (see NSResponder.h for these three 
>> methods).  insertText: will be used for text input, doCommandBySelector: 
>> with an appropriate selector for special keys like arrow keys.  The relevant 
>> selectors are mostly listed in NSResponder.h.  The default NSResponder 
>> implementation of doCommandBySelector: checks whether the receiver responds 
>> to the given selector, and if so calls it; otherwise it is passed on to the 
>> next responder's doCommandBySelector:.
> 
> That’s actually for NSTextInput, which according to the docs is slated for 
> deprecation in favor of NSTextInputClient. If you need to be compatible with 
> Mac OS X 10.4 and earlier, than NSTextInput is the way to go, but otherwise, 
> NSTextInputClient is probably a better choice.

Yes, with NSTextInputClient that would be insertText:replacementRange:.  The 
other NSTextInputClient methods would be used for input methods.  A full custom 
implementation of all of this would typically be used only with a completely 
custom text object; most clients just use NSTextView or a custom subclass 
thereof, and override only the methods they are especially concerned with.

Douglas Davidson

_______________________________________________

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