diff --git a/ui/AppDelegate.h b/ui/AppDelegate.h index 08df149..a59935b 100644 --- a/ui/AppDelegate.h +++ b/ui/AppDelegate.h @@ -1,5 +1,4 @@ #import @interface AppDelegate : NSObject -- (void) createMenuBar; @end diff --git a/ui/AppDelegate.m b/ui/AppDelegate.m index 7d402b5..8218650 100644 --- a/ui/AppDelegate.m +++ b/ui/AppDelegate.m @@ -12,6 +12,8 @@ - (void) applicationDidFinishLaunching:(NSNotification *)notification { NSLog(@"applicationDidFinishLaunching notification: %@", notification); NSLog(@"Main Menu in applicationDidFinishLaunching: %@", [NSApp mainMenu]); + [self createMenubar]; + [self createMainWindow]; [NSApp activateIgnoringOtherApps:YES]; } @@ -84,28 +86,48 @@ // --------------------------------------------------------------------------}}} // Menu Bar -----------------------------------------------------------------{{{ -- (void) createMenuBar { +- (void) createMenubar { NSLog(@"Will create menu bar here"); NSLog(@"creating menu bar. initial main menu bar: %@", [NSApp mainMenu]); - id mainMenu = [NSMenu alloc]; + id mainMenu = [[NSMenu alloc] autorelease]; [mainMenu initWithTitle:@"Main Menu"]; [NSApp setMainMenu:mainMenu]; - id appMenuItem = [NSMenuItem alloc]; + id appMenuItem = [[NSMenuItem alloc] autorelease]; [appMenuItem initWithTitle:@"dws" action:NULL keyEquivalent:@""]; [mainMenu addItem:appMenuItem]; - id appMenu = [NSMenu alloc]; + id appMenu = [[NSMenu alloc] autorelease]; [appMenu initWithTitle:@"dws"]; [appMenuItem setSubmenu:appMenu]; - id quitMenuItem = [NSMenuItem alloc]; + id quitMenuItem = [[NSMenuItem alloc] autorelease]; [quitMenuItem initWithTitle:@"Quit" action:@selector(terminate:) keyEquivalent:@"q"]; [appMenu addItem:quitMenuItem]; NSLog(@"assigned to main menu: %@", [NSApp mainMenu]); } // --------------------------------------------------------------------------}}} +// Main Window --------------------------------------------------------------{{{ + +- (void) createMainWindow { + NSUInteger windowStyle = NSTitledWindowMask + | NSClosableWindowMask + | NSResizableWindowMask; + + id window = [NSWindow alloc]; + [window initWithContentRect:NSMakeRect(0, 0, 640, 480) + styleMask:windowStyle + backing:NSBackingStoreBuffered + defer:NO]; + + [window cascadeTopLeftFromPoint:NSMakePoint(20, 20)]; + [window setTitle:@"dws"]; + [window makeKeyAndOrderFront:NSApp]; +} + +// --------------------------------------------------------------------------}}} + @end diff --git a/ui/ui_darwin.m b/ui/ui_darwin.m index ec820b3..24b7783 100644 --- a/ui/ui_darwin.m +++ b/ui/ui_darwin.m @@ -10,14 +10,11 @@ void Initialize(void) { defaultAutoreleasePool = [NSAutoreleasePool new]; [NSApplication sharedApplication]; NSLog(@"Setting App Delegate"); - appDelegate = [AppDelegate new]; - [appDelegate createMenuBar]; - [NSApp setDelegate: appDelegate]; + [NSApp setDelegate: [[AppDelegate new] autorelease]]; [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; NSLog(@"Initialization complete"); } - int Run(void) { NSLog(@"Entered Run"); NSLog(@"Activating App");