• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Alert Sheets hard wired in Interface Builder
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Alert Sheets hard wired in Interface Builder


  • Subject: Re: Alert Sheets hard wired in Interface Builder
  • From: Graham Cox <email@hidden>
  • Date: Thu, 29 May 2008 13:58:48 +1000

Here's a trivial category to address this. Whether it's really worth using is hard to say, but for what it's worth:


@interface NSWindow (SheetAdditions)

- (void) beginSheet:(NSWindow*) sheet modalDelegate:(id) modalDelegate didEndSelector:(SEL) didEndSelector contextInfo:(void*) contextInfo;
- (void) beginSheetModalForWindow:(NSWindow*) docWindow modalDelegate: (id) modalDelegate didEndSelector:(SEL) didEndSelector contextInfo: (void*) contextInfo;


@end


@implementation NSWindow (SheetAdditions)


- (void) beginSheet:(NSWindow*) sheet modalDelegate:(id) modalDelegate didEndSelector:(SEL) didEndSelector contextInfo:(void*) contextInfo
{
[NSApp beginSheet:sheet modalForWindow:self modalDelegate:modalDelegate didEndSelector:didEndSelector contextInfo:contextInfo];
}



- (void) beginSheetModalForWindow:(NSWindow*) docWindow modalDelegate: (id) modalDelegate didEndSelector:(SEL) didEndSelector contextInfo: (void*) contextInfo;
{
[NSApp beginSheet:self modalForWindow:docWindow modalDelegate:modalDelegate didEndSelector:didEndSelector contextInfo:contextInfo];
}



@end



On 29 May 2008, at 1:29 pm, Scott Ribe wrote:

I agree with your assessment. What business has NSApplication
providing this method? it doesn't make sense.

Probably because it involves the run loop and event dispatch, since the
running a window as a sheet must ensure that the window to which the sheet
is attached does not receive events, yet a click in that parent window must
bring the pair forward... Further, I'll bet it's also there because the
method to run a window application-modally was there first. So if you think
about what the method must *really* do, it no longer appears to be so bound
to the window, because it requires doing things that are clearly not the
responsibility of the window. Yes, the method could be in NSWindow and call
on NSApplication to get that done, but, should a window really be able to
have such a drastic effect on the events going to other windows???


But I had the same difficulty as everybody else locating it the first time.
And then again, later, when I had not used it for a while ;-)


--
Scott Ribe
email@hidden
http://www.killerbytes.com/
(303) 722-0567 voice



_______________________________________________

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


References: 
 >Re: Alert Sheets hard wired in Interface Builder (From: Scott Ribe <email@hidden>)

  • Prev by Date: Re: Alert Sheets hard wired in Interface Builder
  • Next by Date: Attaching file to an email using Cocoa APIs
  • Previous by thread: Re: Alert Sheets hard wired in Interface Builder
  • Next by thread: Re: Alert Sheets hard wired in Interface Builder
  • Index(es):
    • Date
    • Thread