Re: Using NSWindow without NIB (XIB) file ?
Re: Using NSWindow without NIB (XIB) file ?
- Subject: Re: Using NSWindow without NIB (XIB) file ?
- From: Lou Zell <email@hidden>
- Date: Tue, 25 Jan 2011 22:10:52 -0800
On Tue, Jan 25, 2011 at 2:48 AM, David Remacle <email@hidden> wrote:
> Hello
>
> Is it possible to use NSWindow without NIB file ?
>
>
Below is a code sample I put together when I was trying to accomplish the
same thing. I was pretty against Interface Builder when I first started
with Cocoa because it felt a bit too magical. Since then I have seen the
light, as they say. Anyway, here it is, name it WindowNoIB.m:
// Compile and run with:
// $ gcc WindowNoIB.m -Wall -lobjc -framework Foundation -framework AppKit
-o WindowNoIB && ./WindowNoIB
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
// MyClass is going to be the NSApplicationDelegate. See this:
//
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSApplicationDelegate_Protocol/Reference/Reference.html
@interface MyClass:NSObject{
}
@property (nonatomic, retain) NSWindow *window;
@end
@implementation MyClass
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)notification {
NSLog(@"Finished Launching %@", notification);
NSWindow *localWindow = [[NSWindow alloc] initWithContentRect:[[NSScreen
mainScreen] frame]
styleMask:NSResizableWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[self setWindow:localWindow];
[localWindow release];
NSView *localView = [[NSView alloc] init];
[window setContentView:localView];
[localView release];
[window setLevel:NSFloatingWindowLevel];
[window makeKeyAndOrderFront:self];
}
@end
int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// The first time sharedApplication is called, it creates an instance of
NSApplication
//
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSApplication_Class/Reference/Reference.html
[NSApplication sharedApplication];
NSLog(@"%@", NSApp);
MyClass *myClass = [[MyClass alloc] init];
[NSApp setDelegate:myClass];
[NSApp run];
[myClass release];
[pool release];
return (0);
}
Best,
Lou
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden