Hello,

In short :
Is there a way to be notified of any change in the status of control keys 
(option, control, command, etc.) in a given NSWindowController, when another 
window of the app has the focus ?

Long version (what I am trying to achieve) : 
The app I am currently working on is a multipurpose data acquisition software 
for scientists.
To make it simple, let's say the app has two windows. One main window in which 
tasks are created and configured, one small HUD-window in which the user can 
see all created and scheduled tasks (pending execution).

On the HUD window, tasks can be altered (started, stopped, removed, etc…) by 
means of appropriate buttons and pressing the option key while clicking on one 
of these buttons can modify the action (e.g. pressing option while clicking on 
the cancel will cancel all tasks instead of only the current task).

Currently, I am using 

-(void)flagsChanged:(NSEvent *)theEvent

in the NSWindowController to display the appropriate text/image on the button 
(so that the user knows which action will be executed upon hitting the button).

The issue :
When the main window of the application (or any other window but the HUD panel) 
has the focus, hitting the option key will not change the text on the panel 
button, since the panel will never get the event. However, clicking on one of 
the panel button will activate the panel and execute the right action 
(depending on the status of the option key). In this particular situation, the 
text/image displayed on the button does not match the executed action.

Question:
How can I  catch app-wide flagsChanged events to always have my buttons display 
the appropriate text / image ?


Best regards,
Jean


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to