responder chain madness...
responder chain madness...
- Subject: responder chain madness...
- From: Philip George <email@hidden>
- Date: Sun, 8 Dec 2002 17:56:35 -0600
(pardon the dual posting)
If I have an NSWindow with an NSImageView in it, and i want to click in
the view and have ONLY the view's mouseDown: method to handle the click
and NEVER pass it on to the window, what can i do?
the tricky part here is that it's not just any NSWindow. It's a
**private subclass of NSWindow called an NSStatusBarWindow. I know
it's a strange concept, but it's very true: NSStatusItems sit inside
little windows. Any time i click on my NSStatusItem, the
NSStatusBarWindow activates menu tracking, even though i don't have an
actual menu inserted into my statusitem. I MUST STOP THIS FROM
HAPPENING!!!!! This bug (and i definitely consider this a bug) has
pushed back the launch date of this application several weeks. It's
killing me. Someone PLEASE think of something clever to stop those
events from ever getting past the mouseDown: method in my NSImageView.
I've tried sooooo many things, but my latest attempt was to pose as
NSWindow and over-ride sendEvent: to kill the click, but somehow it
just doesn't work.
It may help to picture the cross-section like this...
______________ : the actual NSImageView that
gets clicked
____________________ : NSStatusBarWindow that mistakenly
enables menu tracking
________________________ : the OS X menubar
If you're still scratching your head at this point, just click an empty
spot on your menubar right now. Did you click an actual menu? No.
Even though you didn't click on an actual menu, did you activate menu
tracking? YES. Move your mouse tip over any menu now and you'll see
what I mean. People that use my app experience this when they click on
its interface, which sits in the menubar, but is definitely not a menu.
Please do not suggest that i send in a bug report. A bugfix would
likely only work on the latest reference release of the OS. This app
MUST work on everything from 10.0 up. And even if it was a fix that
would work on any version of OS X, I don't want my customers to have to
install anything "special" (or extra) to get my app to behave as it
should. Therefore, I need to deal with it in my code. (I will send in
a bug report at some point anyway, but my primary concern is getting
this app out the door.)
Thanks.
- Philip George
PowerPlum Technologies
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.