]> git.saurik.com Git - wxWidgets.git/commitdiff
support for custom app controllers, override OSXCreateAppController in wxApp subclass
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 23 Nov 2012 19:02:01 +0000 (19:02 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 23 Nov 2012 19:02:01 +0000 (19:02 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/app.h
src/osx/cocoa/utils.mm

index 5145328d2749299fff7b64d85af44a2cbce3be9d..5e79828ca2831bdb02d02d7eed5ee44b66dab600 100644 (file)
@@ -83,14 +83,21 @@ public:
     // TODO change semantics to be in line with cocoa (make autrelease NOT increase the count)
     void                  MacAddToAutorelease( void* cfrefobj );
     void                  MacReleaseAutoreleasePool();
+    
 public:
     static wxWindow*      s_captureWindow ;
     static long           s_lastModifiers ;
 
     int                   m_nCmdShow;
 
-private:
     // mac specifics
+protected:
+#if wxOSX_USE_COCOA
+    // override for support of custom app controllers
+    virtual WX_NSObject   OSXCreateAppController();
+#endif
+    
+private:
     virtual bool        DoInitGui();
     virtual void        DoCleanUp();
 
index 8b80a601b125bef1514d9d309fbb1a98023b3b8f..f4702bb185709205d8bbf845c25f1d62249cae30 100644 (file)
@@ -259,10 +259,14 @@ void wxBell()
 
 @end
 
-wxNSAppController* appcontroller = nil;
+WX_NSObject appcontroller = nil;
 
 NSLayoutManager* gNSLayoutManager = nil;
 
+WX_NSObject wxApp::OSXCreateAppController()
+{
+    return [[wxNSAppController alloc] init];
+}
 
 bool wxApp::DoInitGui()
 {
@@ -272,7 +276,7 @@ bool wxApp::DoInitGui()
     {
         [wxNSApplication sharedApplication];
 
-        appcontroller = [[wxNSAppController alloc] init];
+        appcontroller = OSXCreateAppController();
         [NSApp setDelegate:appcontroller];
 
         // calling finishLaunching so early before running the loop seems to trigger some 'MenuManager compatibility' which leads