diff --git a/AppKit/CMakeLists.txt b/AppKit/CMakeLists.txt index b875b293..dd06e61d 100644 --- a/AppKit/CMakeLists.txt +++ b/AppKit/CMakeLists.txt @@ -116,6 +116,8 @@ set(AppKit_sources NSFontMetric.m NSPoofAnimation.m NSErrors.m + NSPopover.m + NSRunningApplication.m nib.subproj/NSButtonImageSource.m nib.subproj/NSNibBindingConnector.m diff --git a/AppKit/NSApplication.m b/AppKit/NSApplication.m index e11a5c8c..5747e607 100644 --- a/AppKit/NSApplication.m +++ b/AppKit/NSApplication.m @@ -55,6 +55,8 @@ NSString * const NSApplicationWillTerminateNotification=@"NSApplicationWillTermi NSString * const NSApplicationDidChangeScreenParametersNotification=@"NSApplicationDidChangeScreenParametersNotification"; +const NSAppKitVersion NSAppKitVersionNumber = 1504; // macOS 10.12 + @interface NSDocumentController(forward) -(void)_updateRecentDocumentsMenu; @end @@ -352,7 +354,7 @@ id NSApp=nil; [_applicationIconImage release]; _applicationIconImage=image; - [image setName: @"NSApplicationIcon"]; + [image setName: NSImageNameApplicationIcon]; } -(void)setWindowsMenu:(NSMenu *)menu { diff --git a/AppKit/NSImage.m b/AppKit/NSImage.m index af4ce4a7..327fbc2b 100644 --- a/AppKit/NSImage.m +++ b/AppKit/NSImage.m @@ -19,6 +19,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #import #import +NSImageName const NSImageNameApplicationIcon = @"NSApplicationIcon"; + // Private class used so the context knows the flipped status of a locked image // 10.4 does something like that - probably for more than just getting the flippiness - 10.6 uses some special NSSnapshotBitmapGraphicsContext @interface NSImageCacheView : NSView { diff --git a/AppKit/NSPasteboard.m b/AppKit/NSPasteboard.m index af06882e..ba2f5514 100644 --- a/AppKit/NSPasteboard.m +++ b/AppKit/NSPasteboard.m @@ -12,6 +12,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI NSString *const NSPasteboardTypeString = @"NSStringPboardType"; NSString *const NSPasteboardTypePDF = @"NSPDFPboardType"; +NSString *const NSPasteboardTypePNG = @"NSPDFPboardType"; NSString *const NSPasteboardTypeTIFF = @"NSTIFFPboardType"; NSString *const NSPasteboardTypeRTF = @"NSRTFPboardType"; NSString *const NSPasteboardTypeRTFD = @"NSRTFDPboardType"; diff --git a/AppKit/NSPopover.m b/AppKit/NSPopover.m new file mode 100644 index 00000000..f7e10107 --- /dev/null +++ b/AppKit/NSPopover.m @@ -0,0 +1,20 @@ +#import + +// DUMMY + +@interface NSPopover : NSObject +@end + +@implementation NSPopover +- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector +{ + return [NSMethodSignature signatureWithObjCTypes: "v@:"]; +} + +- (void)forwardInvocation:(NSInvocation *)anInvocation +{ + NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]); +} +@end + + diff --git a/AppKit/NSRunningApplication.m b/AppKit/NSRunningApplication.m new file mode 100644 index 00000000..0ee6f231 --- /dev/null +++ b/AppKit/NSRunningApplication.m @@ -0,0 +1,19 @@ +#import + +// DUMMY + +@interface NSRunningApplication : NSObject +@end + +@implementation NSRunningApplication ++ (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector +{ + return [NSMethodSignature signatureWithObjCTypes: "v@:"]; +} + ++ (void)forwardInvocation:(NSInvocation *)anInvocation +{ + NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), self); +} +@end + diff --git a/AppKit/NSWindow.m b/AppKit/NSWindow.m index 2196a0e8..272df3db 100644 --- a/AppKit/NSWindow.m +++ b/AppKit/NSWindow.m @@ -49,6 +49,7 @@ NSString * const NSWindowWillCloseNotification=@"NSWindowWillCloseNotification"; NSString * const NSWindowWillMoveNotification=@"NSWindowWillMoveNotification"; NSString * const NSWindowWillStartLiveResizeNotification=@"NSWindowWillStartLiveResizeNotification"; NSString * const NSWindowDidEndLiveResizeNotification=@"NSWindowDidEndLiveResizeNotification"; +NSString * const NSWindowWillBeginSheetNotification=@"NSWindowWillBeginSheetNotification"; NSString * const NSWindowWillAnimateNotification=@"NSWindowWillAnimateNotification"; NSString * const NSWindowAnimatingNotification=@"NSWindowAnimatingNotification"; diff --git a/AppKit/include/AppKit/NSApplication.h b/AppKit/include/AppKit/NSApplication.h index 200ceb3e..6c66525b 100644 --- a/AppKit/include/AppKit/NSApplication.h +++ b/AppKit/include/AppKit/NSApplication.h @@ -36,6 +36,8 @@ APPKIT_EXPORT NSString *const NSApplicationWillTerminateNotification; APPKIT_EXPORT NSString *const NSApplicationDidChangeScreenParametersNotification; APPKIT_EXPORT id NSApp; +typedef double NSAppKitVersion; +APPKIT_EXPORT const NSAppKitVersion NSAppKitVersionNumber; typedef id NSModalSession; diff --git a/AppKit/include/AppKit/NSImage.h b/AppKit/include/AppKit/NSImage.h index f73ccb3a..3a600ee6 100644 --- a/AppKit/include/AppKit/NSImage.h +++ b/AppKit/include/AppKit/NSImage.h @@ -123,3 +123,9 @@ typedef enum { @interface NSBundle (NSImage) - (NSString *)pathForImageResource:(NSString *)name; @end + +typedef NSString* NSImageName; + +APPKIT_EXPORT NSImageName const NSImageNameApplicationIcon; +// TODO: A ton of other defined image names + diff --git a/AppKit/include/AppKit/NSPasteboard.h b/AppKit/include/AppKit/NSPasteboard.h index 567882e1..4fb2a99c 100644 --- a/AppKit/include/AppKit/NSPasteboard.h +++ b/AppKit/include/AppKit/NSPasteboard.h @@ -12,6 +12,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI // New Pasteboard Types (added in 10.6) and interchangeable with the old pasteboard types in Cocotron APPKIT_EXPORT NSString *const NSPasteboardTypeString; APPKIT_EXPORT NSString *const NSPasteboardTypePDF; +APPKIT_EXPORT NSString *const NSPasteboardTypePNG; APPKIT_EXPORT NSString *const NSPasteboardTypeTIFF; APPKIT_EXPORT NSString *const NSPasteboardTypeRTF; APPKIT_EXPORT NSString *const NSPasteboardTypeRTFD; diff --git a/AppKit/include/AppKit/NSWindow.h b/AppKit/include/AppKit/NSWindow.h index ae1903c5..ae7a234c 100644 --- a/AppKit/include/AppKit/NSWindow.h +++ b/AppKit/include/AppKit/NSWindow.h @@ -100,6 +100,7 @@ APPKIT_EXPORT NSString *const NSWindowDidUpdateNotification; APPKIT_EXPORT NSString *const NSWindowWillCloseNotification; APPKIT_EXPORT NSString *const NSWindowWillStartLiveResizeNotification; APPKIT_EXPORT NSString *const NSWindowDidEndLiveResizeNotification; +APPKIT_EXPORT NSString *const NSWindowWillBeginSheetNotification; @interface NSWindow : NSResponder { NSRect _frame;