This is DelegateDemo_main.m in view mode; [Download] [Up]
#import <appkit/appkit.h>
#import "WindowDelegate.h"
// minimal program to demonstrate the
// windowWillClose: method
main()
{
// create an application object
// to establish connection to
// Window Server
id NXApp = [Application new];
id theWindow;
id theMenu;
id theWindowDelegate;
NXRect theRect;
NXSize theSize;
// create a window that's at 125, 125
// and is 200 by 300 pixels
NXSetRect(&theRect, 125, 125, 200, 300);
theWindow = [ [Window alloc]
initContent:&theRect
style:NX_RESIZEBARSTYLE
backing:NX_BUFFERED
buttonMask:NX_CLOSEBUTTONMASK
defer:YES];
// set the minimum size of window
theSize.width = 100;
theSize.height = 100;
[theWindow setMinSize:&theSize];
// create the menu
theMenu = [ [Menu alloc]
initTitle: [NXApp appName]];
// create the menu option
[theMenu addItem:"Quit"
action:@selector(terminate:)
keyEquivalent:'q'];
// resize menu to accommodate menu option
[theMenu sizeToFit];
[NXApp setMainMenu:theMenu];
theWindowDelegate =
[ [WindowDelegate alloc] init];
[theWindow setDelegate:theWindowDelegate];
// send the window to the front
// and display it
[theWindow makeKeyAndOrderFront:nil];
// go into event loop to wait for events
[NXApp run];
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.