Upload
masayuki-nii
View
153
Download
1
Embed Size (px)
DESCRIPTION
Cocoa勉強会#23 2007/5/12 カスタムシートとModality 新居雅行
Citation preview
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 1/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 2/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 3/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 4/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 5/12
#import <Cocoa/Cocoa.h>
@interface MyDocument : NSDocument
{
IBOutlet NSWindow *mySheet;
}
- (IBAction)openMySheet:(id)sender;
- (IBAction)closeMySheet:(id)sender;
- (IBAction)terminate:(id)dummy;
@end
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 6/12
#import "MyDocument.h"
@implementation MyDocument
- (IBAction)openMySheet:(id)sender
{ }
- (IBAction)closeMySheet:(id)sender
{ }
- (id)init
{
self = [super init];
if (self) { }
return self;
}
- (NSString *)windowNibName
{
return @"MyDocument";
}
- (void)windowControllerDidLoadNib:(NSWindowController *) aController
{
[super windowControllerDidLoadNib:aController];
}
- (NSData *)dataRepresentationOfType:(NSString *)aType
{
return nil;
}
- (BOOL)loadDataRepresentation:(NSData *)data ofType:(NSString *)aType
{
return YES;
}
@end
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 7/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 8/12
- (IBAction)openMySheet:(id)sender
{
NSLog(@"Cought the message 'openMySheet'.");
NSApplication* myApp = [NSApplication sharedApplication];
[myApp beginSheet: mySheet
modalForWindow: [[[self windowControllers]lastObject]window]
modalDelegate: self
didEndSelector: @selector(mySheetDidEnd:returnCode:contextInfo:)
contextInfo: nil];
}
- (void) mySheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo{
NSLog(@"Cought the message 'mySheetDidEnd'.");
[mySheet orderOut:self];
}
- (IBAction)closeMySheet:(id)sender
{
NSLog(@"Cought the message 'closeMySheet'.");
NSApplication* myApp = [NSApplication sharedApplication];
[myApp endSheet: mySheet];
}
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 9/12
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 10/12
- (IBAction)terminate:(id)dummy
{
NSLog(@"Cought the message 'terminate'.");
NSApplication* myApp = [NSApplication sharedApplication];
[[myApp orderedDocuments]
makeObjectsPerformSelector:@selector(closeMySheet:) withObject:nil];
[myApp terminate:dummy];
}
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 11/12
- (IBAction)openMySheet:(id)sender
{
NSLog(@"Cought the message 'openMySheet'.");
NSApplication* myApp = [NSApplication sharedApplication];
[myApp beginSheet: mySheet
modalForWindow: [[[self windowControllers]lastObject]window]
modalDelegate: self
didEndSelector: @selector(mySheetDidEnd:returnCode:contextInfo:)
contextInfo: nil];
2014/2/23 Cocoa #23
file:///Users/msyk/Desktop/cocoastudy/Cocoa-Study/CocoaStudy23-CustomSheet/CocoaStudy-CustSheet.html 12/12
[myApp endSheet: mySheet];
[myApp runModalForWindow:mySheet];
}
- (void) mySheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo{
NSLog(@"Cought the message 'mySheetDidEnd'.");
}
- (IBAction)closeMySheet:(id)sender
{
NSLog(@"Cought the message 'closeMySheet'.");
NSApplication* myApp = [NSApplication sharedApplication];
[myApp stopModal];
[mySheet orderOut:self];
}