FROM : Graham Cox
DATE : Thu May 29 05:58:48 2008
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_removed>
> http://www.killerbytes.com/
> (303) 722-0567 voice
>
>
DATE : Thu May 29 05:58:48 2008
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_removed>
> http://www.killerbytes.com/
> (303) 722-0567 voice
>
>






Cocoa mail archive

