Install gettext-0.18.1.1.tar.gz
[msysgit.git] / mingw / share / doc / gettext / examples / hello-objc-gnustep / main.m
blob6da032b4fc4320b8b2a96463c8fdb9d3dc31cf87
1 /* Example for use of GNU gettext.
2    This file is in the public domain.
4    Source code of the main program.  */
6 #include <AppKit/AppKit.h>
7 #include "AppController.h"
9 #define APP_NAME @"Hello"
11 /* Create the application's menu.  */
12 static void
13 createMenu ()
15   NSMenu *menu;
16   NSMenu *info;
17   NSMenu *edit;
18   NSMenu *services;
19   NSMenu *windows;
21   SEL action = @selector(method:);
23   menu = [[NSMenu alloc] initWithTitle: APP_NAME];
24   [menu addItemWithTitle: @"Info"
25         action: action
26         keyEquivalent: @""];
27   [menu addItemWithTitle: @"Edit"
28         action: action
29         keyEquivalent: @""];
30   [menu addItemWithTitle: @"Hello..."
31         action: @selector(showHelloWindow:)
32         keyEquivalent: @""];
33   [menu addItemWithTitle: @"Windows"
34         action: action
35         keyEquivalent: @""];
36   [menu addItemWithTitle: @"Services"
37         action: action
38         keyEquivalent: @""];
39   [menu addItemWithTitle: @"Hide"
40         action: @selector(hide:)
41         keyEquivalent: @"h"];
42   [menu addItemWithTitle: @"Quit"
43         action: @selector(terminate:)
44         keyEquivalent: @"q"];
46   info = AUTORELEASE ([[NSMenu alloc] init]);
47   [info addItemWithTitle: @"Info Panel..."
48         action: @selector(showInfoPanel:)
49         keyEquivalent: @""];
50   [info addItemWithTitle: @"Preferences"
51         action: @selector(showPrefPanel:)
52         keyEquivalent: @""];
53   [info addItemWithTitle: @"Help"
54         action: action
55         keyEquivalent: @"?"];
56   [menu setSubmenu: info forItem: [menu itemWithTitle: @"Info"]];
58   edit = AUTORELEASE ([[NSMenu alloc] init]);
59   [edit addItemWithTitle: @"Cut"
60         action: @selector(cut:)
61         keyEquivalent: @"x"];
62   [edit addItemWithTitle: @"Copy"
63         action: @selector(copy:)
64         keyEquivalent: @"c"];
65   [edit addItemWithTitle: @"Paste"
66         action: @selector(paste:)
67         keyEquivalent: @"v"];
68   [edit addItemWithTitle: @"Delete"
69         action: @selector(delete:)
70         keyEquivalent: @""];
71   [edit addItemWithTitle: @"Select All"
72         action: @selector(selectAll:)
73         keyEquivalent: @"a"];
74   [menu setSubmenu: edit forItem: [menu itemWithTitle: @"Edit"]];
76   windows = AUTORELEASE ([[NSMenu alloc] init]);
77   [windows addItemWithTitle: @"Arrange"
78            action: @selector(arrangeInFront:)
79            keyEquivalent: @""];
80   [windows addItemWithTitle: @"Miniaturize"
81            action: @selector(performMiniaturize:)
82            keyEquivalent: @"m"];
83   [windows addItemWithTitle: @"Close"
84            action: @selector(performClose:)
85            keyEquivalent: @"w"];
86   [menu setSubmenu: windows forItem: [menu itemWithTitle: @"Windows"]];
88   services = AUTORELEASE ([[NSMenu alloc] init]);
89   [menu setSubmenu: services forItem: [menu itemWithTitle: @"Services"]];
91   [[NSApplication sharedApplication] setMainMenu: menu];
92   [[NSApplication sharedApplication] setServicesMenu: services];
93   [[NSApplication sharedApplication] setWindowsMenu: windows];
96 /* Initialise and go!  */
97 int
98 main(int argc, const char *argv[])
100   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
101   AppController *controller;
103   [NSApplication sharedApplication];
105   createMenu ();
107   controller = [[AppController alloc] init];
108   [NSApp setDelegate:controller];
110   RELEASE (pool);
112   return NSApplicationMain (argc, argv);