mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-11 16:15:07 -04:00
115 lines
3.3 KiB
Objective-C
115 lines
3.3 KiB
Objective-C
/* Example for use of GNU gettext.
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
This file is in the public domain.
|
|
|
|
Source code of the main program. */
|
|
|
|
#include <AppKit/AppKit.h>
|
|
#include "AppController.h"
|
|
|
|
#define APP_NAME @"Hello"
|
|
|
|
/* Create the application's menu. */
|
|
static void
|
|
createMenu ()
|
|
{
|
|
NSMenu *menu;
|
|
NSMenu *info;
|
|
NSMenu *edit;
|
|
NSMenu *services;
|
|
NSMenu *windows;
|
|
|
|
SEL action = @selector(method:);
|
|
|
|
menu = [[NSMenu alloc] initWithTitle: APP_NAME];
|
|
[menu addItemWithTitle: @"Info"
|
|
action: action
|
|
keyEquivalent: @""];
|
|
[menu addItemWithTitle: @"Edit"
|
|
action: action
|
|
keyEquivalent: @""];
|
|
[menu addItemWithTitle: @"Hello..."
|
|
action: @selector(showHelloWindow:)
|
|
keyEquivalent: @""];
|
|
[menu addItemWithTitle: @"Windows"
|
|
action: action
|
|
keyEquivalent: @""];
|
|
[menu addItemWithTitle: @"Services"
|
|
action: action
|
|
keyEquivalent: @""];
|
|
[menu addItemWithTitle: @"Hide"
|
|
action: @selector(hide:)
|
|
keyEquivalent: @"h"];
|
|
[menu addItemWithTitle: @"Quit"
|
|
action: @selector(terminate:)
|
|
keyEquivalent: @"q"];
|
|
|
|
info = AUTORELEASE ([[NSMenu alloc] init]);
|
|
[info addItemWithTitle: @"Info Panel..."
|
|
action: @selector(showInfoPanel:)
|
|
keyEquivalent: @""];
|
|
[info addItemWithTitle: @"Preferences"
|
|
action: @selector(showPrefPanel:)
|
|
keyEquivalent: @""];
|
|
[info addItemWithTitle: @"Help"
|
|
action: action
|
|
keyEquivalent: @"?"];
|
|
[menu setSubmenu: info forItem: [menu itemWithTitle: @"Info"]];
|
|
|
|
edit = AUTORELEASE ([[NSMenu alloc] init]);
|
|
[edit addItemWithTitle: @"Cut"
|
|
action: @selector(cut:)
|
|
keyEquivalent: @"x"];
|
|
[edit addItemWithTitle: @"Copy"
|
|
action: @selector(copy:)
|
|
keyEquivalent: @"c"];
|
|
[edit addItemWithTitle: @"Paste"
|
|
action: @selector(paste:)
|
|
keyEquivalent: @"v"];
|
|
[edit addItemWithTitle: @"Delete"
|
|
action: @selector(delete:)
|
|
keyEquivalent: @""];
|
|
[edit addItemWithTitle: @"Select All"
|
|
action: @selector(selectAll:)
|
|
keyEquivalent: @"a"];
|
|
[menu setSubmenu: edit forItem: [menu itemWithTitle: @"Edit"]];
|
|
|
|
windows = AUTORELEASE ([[NSMenu alloc] init]);
|
|
[windows addItemWithTitle: @"Arrange"
|
|
action: @selector(arrangeInFront:)
|
|
keyEquivalent: @""];
|
|
[windows addItemWithTitle: @"Miniaturize"
|
|
action: @selector(performMiniaturize:)
|
|
keyEquivalent: @"m"];
|
|
[windows addItemWithTitle: @"Close"
|
|
action: @selector(performClose:)
|
|
keyEquivalent: @"w"];
|
|
[menu setSubmenu: windows forItem: [menu itemWithTitle: @"Windows"]];
|
|
|
|
services = AUTORELEASE ([[NSMenu alloc] init]);
|
|
[menu setSubmenu: services forItem: [menu itemWithTitle: @"Services"]];
|
|
|
|
[[NSApplication sharedApplication] setMainMenu: menu];
|
|
[[NSApplication sharedApplication] setServicesMenu: services];
|
|
[[NSApplication sharedApplication] setWindowsMenu: windows];
|
|
}
|
|
|
|
/* Initialise and go! */
|
|
int
|
|
main(int argc, const char *argv[])
|
|
{
|
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
AppController *controller;
|
|
|
|
[NSApplication sharedApplication];
|
|
|
|
createMenu ();
|
|
|
|
controller = [[AppController alloc] init];
|
|
[NSApp setDelegate:controller];
|
|
|
|
RELEASE (pool);
|
|
|
|
return NSApplicationMain (argc, argv);
|
|
}
|