From 79f80fd3e24c5a3e60a28cc4b1328bc8a2ced8c2 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Mon, 14 Aug 2023 02:55:02 +0200 Subject: MainMenu.m: Add structure for menus Add functions that will create the menus in the application. --- src/MainMenu.m | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/MainMenu.m b/src/MainMenu.m index b565cca..a17767d 100644 --- a/src/MainMenu.m +++ b/src/MainMenu.m @@ -1,12 +1,36 @@ #import "MainMenu.h" +NSMenuItem *MainMenuCreateApplicationMenuItem(); +NSMenuItem *MainMenuCreateFileMenuItem(); +NSMenu *MainMenuCreateEditMenuItem(); +NSMenu *MainMenuCreateViewMenuItem(); +NSMenu *MainMenuCreateWindowMenuItem(); +NSMenu *MainMenuCreateHelpMenuItem(); + NSMenu *MainMenuCreate() { NSMenu *menubar = [[NSMenu alloc] init]; - NSMenuItem *application_menu_item = [[NSMenuItem alloc] init]; + + NSMenuItem *application_menu_item = MainMenuCreateApplicationMenuItem(); [menubar addItem:application_menu_item]; - NSMenu *application_menu = [[NSMenu alloc] init]; + NSMenuItem *file_menu_item = MainMenuCreateFileMenuItem(); + [menubar addItem:file_menu_item]; + + [file_menu_item release]; + [application_menu_item release]; + + return menubar; +} + +NSMenuItem *MainMenuCreateApplicationMenuItem() +{ + NSMenuItem *application_menu_item = [[NSMenuItem alloc] + initWithTitle:@"Application" + action:nil + keyEquivalent:@""]; + NSMenu *application_menu = [[NSMenu alloc] initWithTitle:@"Application"]; + NSMenuItem *quit_menu_item = [[NSMenuItem alloc] initWithTitle:@"Quit" action:@selector(terminate:) @@ -16,7 +40,42 @@ NSMenu *MainMenuCreate() [quit_menu_item release]; [application_menu release]; - [application_menu_item release]; - return menubar; + return application_menu_item; +} + +NSMenuItem *MainMenuCreateFileMenuItem() +{ + NSMenuItem *file_menu_item = [[NSMenuItem alloc] + initWithTitle:@"File" + action:nil + keyEquivalent:@""]; + + NSMenu *file_menu = [[NSMenu alloc] initWithTitle:@"File"]; + + [file_menu_item setSubmenu:file_menu]; + + [file_menu release]; + + return file_menu_item; +} + +NSMenu *MainMenuCreateEditMenuItem() +{ + return nil; +} + +NSMenu *MainMenuCreateViewMenuItem() +{ + return nil; +} + +NSMenu *MainMenuCreateWindowMenuItem() +{ + return nil; +} + +NSMenu *MainMenuCreateHelpMenuItem() +{ + return nil; } -- cgit v1.2.3