On Aug 16, 2011, at 3:51 PM, Conrad Shultz wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 8/16/11 12:15 PM, Michael Crawford wrote: >> If that's your goal, why don't you just setEditable:NO ? >> >> I tried that. The only problem is that then I cannot display the >> keys the user taps as they happen. I'm injecting keyboard events >> and the textfield is the responder. I could bypass the keyboard >> input altogether and just have the keyboard buttons add the >> appropriate character to a string which is then written to the >> textfield but we have other reasons for wanting this to response as >> if a real keyboard was plugged in. >> >> Please don't focus on the constraints I just described. > > OK, I will refrain from further comment on this constraint. > >> Does anyone know of a way to prevent drag and drop from an >> NSTextField? This is all I'm trying to accomplish. > > Since blocking drag and drop likely will require a subclass along the > lines you described, it is probably still worth some effort to determine > whether your goal can be differently accomplished. > > If I understand correctly, you need the field to be editable because it > is the first responder and you need it to handle key input, whether from > a physical keyboard or from events injected into the event stream. Is > that a correct interpretation?
Yes it is. > > If so, I would ask why you don't simply handle these events higher up - > say, in a container view or the corresponding NSWindow or > NSWindowController? These objects could (maybe even already do) have > references to the text field (which could just be treated as a label > now) and could implement -keyDown: and the like, dispatching updates to > the text field when required. > > The upshot is that by handling the events higher in the responder chain: > > 1) You still get to handle keyboard input just as you desire. > > 2) Since you are likely already implementing a subclass for one of these > responder objects you can avoid unnecessary further subclassing. > > 3) You will have a much less fragile architecture when the you or the > designers inevitably decide that the string needs to also be displayed > elsewhere on the screen, etc. > > Would this work? Please correct me if I do not understand your > objectives properly. > I like it. There are some other issues that come out of this but they are minor. I'm in the middle of experimentation. If I don't find something I like better, this is a good fallback position. -Michael > > - -- > Conrad Shultz > > Synthetiq Solutions > www.synthetiqsolutions.com > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.7 (Darwin) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iD4DBQFOSsowaOlrz5+0JdURAgy6AJY3t+ObRV8Xx6k0KYKapUUPW6MaAJ0cCCfF > Lhpv/odeJKLKxTYVILa2WQ== > =fMCI > -----END PGP SIGNATURE----- _______________________________________________ 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