On Thu, Mar 4, 2010 at 5:39 AM, Eric Gorr <[email protected]> wrote:
> The only method (currently) for closing the panel which seems difficult to
> determine is whether or not the user has clicked in the close (red) button.
> However, it does appear that -windowShouldClose: is the easiest way to do it.
It might be the easiest, but it seems to me like you might want a more
general-purpose solution, rather than reimplementing the same logic in
every panel's delegate.
// Warning, typed in mail. Probably won't work.
@interface MyPanel : NSPanel {
BOOL saveVisibility;
}
@implementation MyPanel
- (void)writePreferredVisibilityToUserDefaults:(BOOL)shouldBeVisible {
// ...
}
- (void)orderWindow:(NSWindowOrderingMode)order relativeTo:(NSInteger)windowNum
{
if (order != NSWindowOut)
[self writePreferredVisibilityToUserDefaults:YES];
[super orderWindow:order relativeTo:windowNum];
}
- (void)performClose:(id)sender {
saveVisibility = YES;
[super performClose:sender];
}
- (void)close {
if (saveVisibility)
[self writePreferredVisibilityToUserDefaults:NO];
[super close];
}
--Kyle Sluder
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]