i know i can detect when a particular menu is about to be shown, but
what I want is to run a quick process before any menus from the menu
bar are shown, and not run it again all the while the user is browsing
the menus in the menu bar
how do i do this? apparently there is no "mouseDown" event sent when
it's in the menu bar. currently i have this very ugly code:
-(void)sendEvent:(NSEvent *)inEvent
{
NSEventType evtType = [inEvent type];
switch (evtType) {
// is this a mouse down in the menu bar?
case NSSystemDefined: {
if (
[inEvent subtype] ==
NX_SUBTYPE_AUX_MOUSE_BUTTONS
&& [inEvent window] == NULL
) {
NSPoint
mousePt = [inEvent locationInWindow];
NSScreen*
screenRef = [NSScreen mainScreen];
PointF32 myPt;
// flip the coordinates
myPt =
TransformScreenPointFromMacScreen(screenRef, mousePt);
CGFloat heightF =
(CGFloat)[[NSApp mainMenu] menuBarHeight];
if (myPt.y < heightF && myPt.x < [screenRef
frame].size.width) {
// do my quick process
}
}
break;
}
_______________________________________________
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