Re: Alternating Button
Re: Alternating Button
- Subject: Re: Alternating Button
- From: "Gerriet M. Denkmann" <email@hidden>
- Date: Thu, 3 Apr 2008 10:44:24 +0200
On 2 Apr 2008, at 19:59, douglas a. welton wrote:
Gerriet,
Check out the documentation on User Interface Validation:
<http://developer.apple.com/documentation/Cocoa/Conceptual/
UIValidation/UIValidation.html>
This should get you going in the right direction.
Alternately, you can listen for the NSWindowDidUpdateNotification
and make the appropriate modifications to your button based on the
state of the keyboard.
regards,
douglas
On Apr 1, 2008, at 3:51 PM, Gerriet M. Denkmann wrote:
On 1 Apr 2008, at 18:16, Jean-Daniel Dupas wrote:
I dont think there is an automatic way to have it (except for
menu items), but you can have a look at the flagsChanged: method
of NSResponder.
Le 1 avr. 08 à 17:24, Gerriet M. Denkmann a écrit :
The FindPanel in TextEdit has in the bottom left corner a button
"Replace All" which changes to "In Selection" when the ⌥-key is
pressed.
How is this done? I want to have such a changing button in some
of my own panels.
Well, I did have a look at the flagsChanged: method of NSResponder.
My window has the following responder chain:
<NSTextView: 0x6a04a0> // field editor of myTextField
<_NSKeyboardFocusClipView: 0x6b5920>
<NSTextField: 0x6866a0> // myTextField
<NSView: 0x686ff0> // contentView
<NSPanel: 0x6a23c0> // window
(Mail.app did again eat all newlines when I pasted the text above.
How can this be avoided? This kind of starts to get annoying.)
Now the question: where to override flagsChanged: ?
Or subclass NSPanel and override sendEvent ?
Or put a subclass of NSResponder on top of the responder chain?
How to keep it there (overriding makeFirstResponder in NSWindow?)
Llistening at NSWindowDidUpdateNotification (or probably better:
NSApplicationWillUpdateNotification) is certainly a good idea.
Whenever the modifier keys change (and on several other occasions as
well) an NSApplicationWillUpdateNotification gets send.
When I get such a notification I could, as you suggested, "make the
appropriate modifications to your button based on the state of the
keyboard."
But: how do I get this aforementioned state? [NSApp currentEvent]
might be the key-event, but I am not sure I can rely on this. Maybe
another event came after this and before the notification gets sent.
I would like to have something like [NSApp currentModifierFlags]
(similar to [NSEvent modifierFlags])
Kind regards,
Gerriet.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden