Re: Blue default button style hangs.
Re: Blue default button style hangs.
- Subject: Re: Blue default button style hangs.
- From: Russ <email@hidden>
- Date: Wed, 19 Nov 2008 15:47:11 -0800 (PST)
I'm looking at this a little more at the moment. Three things concern me:
1) My NSButton instance that is supposed to become default button is enclosed within a small container view, so it is a little further down the view hierarchy than it might otherwise be. Ie the hierarchy is NSWindow/NSView/NSView/NSButton Does the NSButton somehow rely on being in the top view of a window? It seems like maybe it is trying to alter the view hierarchy from within its display routine. But I tried yanking the button out of the view hierarchy and moving it up a
level, inside the window's top-level view, and that didn't have any
effect --- still hung with the panel content displayed but the button empty.
2) The default button does not normally sit in the Key View loop, because only text fields/views do. It's canBecomeKeyView is off and its acceptsFirstResponder is on. The initialFirstResponder is set to be this default button. Problem occurs whether or not I set initialFirstResponder though.
3) Do I have the right configuration for the button?:
[btn setButtonType:NSMomentaryPushInButton];
[btn setBezelStyle:NSRoundedBezelStyle];
The setup is done before the panel is first made visible, right after setting up the key view loop.
If I put a breakpoint before the setInitialFirstResponder call, so that it stops immediately after setting up the button, then the panel is drawn (after a continue), except for the rectangle for this one button, which is still gray, with the system hung. With no breakpoint, the panel appears with the default button drawn in the same plain graphite look as the rest of the buttons (which are nested the same way, btw), and the app hangs when you mouse over it as it tries to redraw the button.
Note that this is a display issue -- occurs regardless of how I make it the default button --- ie by setting the key equivalent or by making it default button cell.
FWIW, I also tried setting the controlTint of the button to try to make it look like a standard default button, but that had no effect whatsoever, apparently the value is not used.
I just don't know what the default-button behavior can depend on that I can have wrong. Ideas appreciated. Thanks
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden