On Dec 23, 2009, at 2:20 PM, Rick Mann wrote: > > On Dec 23, 2009, at 03:06:58, Gregory Weston wrote: > >> Did you happen to have an 'a-ha' moment when you typed that sentence? >> "Views" don't generally have an active/inactive state. Controls, which are a >> special case of view, do. So have you considered making your custom view an >> NSControl instead of a simple NSView? >> >> That's the thing, you see. "Inactive" means the user can't interact with it. >> But the user can't interact with a view that's not a control anyway, so the >> state has no meaning. > > On the contrary, users can interact with an inactive control. They can't > interact with a disabled control. Consider a scroll bar. It can draw in an > inactive state (not blue), but you can still interact with it by sending the > window scroll events (something I'm unconvinced you should be able to do, but > you can, and it proves convenient).
I'd point out that you've kind of gone off your own point here. Quibbling about what it means to interact with a control aside, you're still talking about a *control* having an inactive state, not a (generic) view. > In my case, it's a drawing canvas. However, the active drawing tool should > not draw when the view is inactive (not frontmost). Since the tool is a > singleton object in the app used by many views, it's important to be able to > make the distinction. I suppose I could subclass NSControl, but this strikes > me as inelegant (and I don't know that it has active/inactive state anyway). With this expanded explanation, I think the correct answer is that you're going about it the wrong way. It's not a normal Mac HI behavior for a drawing canvas to draw itself differently as a side-effect of its window being inactive. _______________________________________________ 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