X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..d642db66a5efc82d374b813022c72ba88bc50839:/include/wx/cocoa/NSApplication.h diff --git a/include/wx/cocoa/NSApplication.h b/include/wx/cocoa/NSApplication.h index 35ead1e8f5..112b9ce75d 100644 --- a/include/wx/cocoa/NSApplication.h +++ b/include/wx/cocoa/NSApplication.h @@ -12,19 +12,57 @@ #ifndef _WX_COCOA_NSAPPLICATION_H__ #define _WX_COCOA_NSAPPLICATION_H__ +#include "wx/cocoa/objc/objc_uniquifying.h" + // ======================================================================== // wxNSApplicationDelegate // ======================================================================== +/*! + @class wxNSApplicationDelegate + @discussion Implements an NSApplication delegate which can respond to messages sent by Cocoa to change Cocoa's behaviour. + + wxCocoa will set a singleton instance of this class as the NSApplication delegate upon startup unless wxWidgets is running + in a "plugin" manner in which case it would not be appropriate to do this. + + Although Cocoa will send notifications to the delegate it is also possible to register a different object to listen for + them. Because we want to support the plugin case, we use a separate notification observer object when we can. +*/ @interface wxNSApplicationDelegate : NSObject { } // Delegate methods - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication; +@end // interface wxNSApplicationDelegate : NSObject +WX_DECLARE_GET_OBJC_CLASS(wxNSApplicationDelegate,NSObject) + +// ======================================================================== +// wxNSApplicationObserver +// ======================================================================== +/*! + @class wxNSApplicationObserver + @discussion Observes most notifications sent by the NSApplication singleton. + + wxCocoa will create a singleton instance of this class upon startup and register it with the default notification center to + listen for several events sent by the NSApplication singleton. + + Because there can be any number of notification observers, this method allows wxCocoa to function properly even when it is + running as a plugin of some other (most likely not wxWidgets) application. +*/ +@interface wxNSApplicationObserver : NSObject +{ +} + +// Methods defined as (but not used here) as NSApplication delegate methods. - (void)applicationWillBecomeActive:(NSNotification *)notification; - (void)applicationDidBecomeActive:(NSNotification *)notification; - (void)applicationWillResignActive:(NSNotification *)notification; - (void)applicationDidResignActive:(NSNotification *)notification; -@end // interface wxNSApplicationDelegate : NSObject +- (void)applicationWillUpdate:(NSNotification *)notification; + +// Other notifications +- (void)controlTintChanged:(NSNotification *)notification; +@end // interface wxNSApplicationObserver : NSObject +WX_DECLARE_GET_OBJC_CLASS(wxNSApplicationObserver,NSObject) #endif //ndef _WX_COCOA_NSAPPLICATION_H__