On 18.07.2012, at 06:27, Graham Cox wrote:
> I'd like to know if there is a supported way to do this. It seems a bit crazy 
> that floating panels even bother modulating the active state of controls when 
> they are floating and are *always* effectively active, and it looks better 
> and is more usable as well.


 There are some HIG rules on when controls should be inactive, and also several 
kinds of "active":

-> there is "main window state" and there is "has keyboard focus". Palettes 
generally ignore the first, but honor the second, so the user knows whether 
keypresses will go in the main window or not. So some change in look is 
expected (different from classic MacOS, where these two states were hardly 
distinguished, except maybe for the focus border on the view that has keyboard 
focus).

-> Pushbuttons can accept the first click or not. If they do not, this means 
you get the classic MacOS-style "click once to activate the window, click a 
second time to actually trigger the button" This is good for "dangerous" 
buttons like "Delete", which you don't want to trigger accidentally when just 
trying to bring forward a window. -acceptsFirstMouse: determines that. Maybe 
your buttons give NO from that and such draw inactive?

-> It's not the floating panel that does anything with the active state, it is 
each view itself. They register for -windowDidBecomeKey: and similar 
notifications and redraw themselves accordingly.

-> Have you tried switching "non-activating panel" on? It sounds like that is 
what you want. It can still have keyboard focus then, but just won't be the 
main window.

Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.lookandfeelcast.com




_______________________________________________

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