QTfrontend/CocoaInitializer.mm
changeset 5095 15dd764b728c
parent 3697 d5b30d6373fc
child 6952 7f70f37bbf08
equal deleted inserted replaced
5093:7eb35faa7f7a 5095:15dd764b728c
     1 /*
     1 /*
     2  * Copyright (C) 2008 Remko Troncon
     2  * Hedgewars, a free turn based strategy game
       
     3  * Copyright (c) 2005-2011 Andrey Korotaev <unC0Rr@gmail.com>
       
     4  *
       
     5  * This program is free software; you can redistribute it and/or modify
       
     6  * it under the terms of the GNU General Public License as published by
       
     7  * the Free Software Foundation; version 2 of the License
       
     8  *
       
     9  * This program is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12  * GNU General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU General Public License
       
    15  * along with this program; if not, write to the Free Software
       
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
     3  */
    17  */
       
    18 
       
    19 // see original example here http://el-tramo.be/blog/mixing-cocoa-and-qt
     4 
    20 
     5 #include "CocoaInitializer.h"
    21 #include "CocoaInitializer.h"
     6 
    22 
     7 #include <AppKit/AppKit.h>
    23 #include <AppKit/AppKit.h>
     8 #include <Cocoa/Cocoa.h>
    24 #include <Cocoa/Cocoa.h>
     9 #include <QtDebug>
    25 #include <QtDebug>
    10 
    26 
    11 class CocoaInitializer::Private
    27 class CocoaInitializer::Private
    12 {
    28 {
    13 	public:
    29     public:
    14 		NSAutoreleasePool* autoReleasePool_;
    30         NSAutoreleasePool* pool;
    15 };
    31 };
    16 
    32 
    17 CocoaInitializer::CocoaInitializer()
    33 CocoaInitializer::CocoaInitializer()
    18 {
    34 {
    19 	d = new CocoaInitializer::Private();
    35     c = new CocoaInitializer::Private();
    20         c = new CocoaInitializer::Private();
    36     NSApplicationLoad();
    21 	NSApplicationLoad();
    37     c->pool = [[NSAutoreleasePool alloc] init];
    22         c->autoReleasePool_ = [[NSAutoreleasePool alloc] init];
       
    23 	d->autoReleasePool_ = [[NSAutoreleasePool alloc] init];
       
    24 }
    38 }
    25 
    39 
    26 CocoaInitializer::~CocoaInitializer()
    40 CocoaInitializer::~CocoaInitializer()
    27 {
    41 {
    28 	[d->autoReleasePool_ release];
    42     [c->pool release];
    29         [c->autoReleasePool_ release];
    43     delete c;
    30 	delete c;
       
    31 	delete d;
       
    32 }
    44 }