aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/AppDelegate.m5
-rw-r--r--src/main.m18
-rw-r--r--src/main_menu.h8
-rw-r--r--src/main_menu.m22
4 files changed, 35 insertions, 18 deletions
diff --git a/src/AppDelegate.m b/src/AppDelegate.m
index 270be25..86ba5f6 100644
--- a/src/AppDelegate.m
+++ b/src/AppDelegate.m
@@ -1,4 +1,5 @@
#import "AppDelegate.h"
+#import "main_menu.h"
@implementation AppDelegate
@@ -10,6 +11,10 @@
- (void)applicationWillFinishLaunching:(NSNotification *)notification
{
+ NSMenu *menubar = main_menu_create();
+ [NSApp setMainMenu:menubar];
+ [menubar release];
+
_window = [[NSWindow alloc]
initWithContentRect:NSMakeRect(0, 0, 400, 400)
styleMask:NSWindowStyleMaskTitled
diff --git a/src/main.m b/src/main.m
index c7dac1b..5316dc2 100644
--- a/src/main.m
+++ b/src/main.m
@@ -10,29 +10,11 @@ int main() {
NSApplication *application = [NSApplication sharedApplication];
[application setActivationPolicy:NSApplicationActivationPolicyRegular];
- NSMenu *menubar = [[NSMenu alloc] init];
- NSMenuItem *application_menu_item = [[NSMenuItem alloc] init];
- [menubar addItem:application_menu_item];
-
- NSMenu *application_menu = [[NSMenu alloc] init];
- NSMenuItem *quit_menu_item = [[NSMenuItem alloc]
- initWithTitle:@"Quit"
- action:@selector(terminate:)
- keyEquivalent:@"q"];
- [application_menu addItem:quit_menu_item];
- [application_menu_item setSubmenu:application_menu];
-
- [application setMainMenu:menubar];
-
NSObject<NSApplicationDelegate> *app_delegate = [[AppDelegate alloc] init];
[application setDelegate:app_delegate];
[application run];
- [quit_menu_item release];
- [application_menu release];
- [application_menu_item release];
- [menubar release];
[pool drain];
return EXIT_SUCCESS;
diff --git a/src/main_menu.h b/src/main_menu.h
new file mode 100644
index 0000000..2ed9ed6
--- /dev/null
+++ b/src/main_menu.h
@@ -0,0 +1,8 @@
+#ifndef MAIN_MENU_H
+#define MAIN_MENU_H
+
+#import <Cocoa/Cocoa.h>
+
+NSMenu *main_menu_create();
+
+#endif /* MAIN_MENU_H */
diff --git a/src/main_menu.m b/src/main_menu.m
new file mode 100644
index 0000000..6cf11af
--- /dev/null
+++ b/src/main_menu.m
@@ -0,0 +1,22 @@
+#import "main_menu.h"
+
+NSMenu *main_menu_create()
+{
+ NSMenu *menubar = [[NSMenu alloc] init];
+ NSMenuItem *application_menu_item = [[NSMenuItem alloc] init];
+ [menubar addItem:application_menu_item];
+
+ NSMenu *application_menu = [[NSMenu alloc] init];
+ NSMenuItem *quit_menu_item = [[NSMenuItem alloc]
+ initWithTitle:@"Quit"
+ action:@selector(terminate:)
+ keyEquivalent:@"q"];
+ [application_menu addItem:quit_menu_item];
+ [application_menu_item setSubmenu:application_menu];
+
+ [quit_menu_item release];
+ [application_menu release];
+ [application_menu_item release];
+
+ return menubar;
+}