This is ClockApp.m in view mode; [Download] [Up]
/* * (C) 1990 by Adobe Systems Incorporated. All rights reserved. * * This file may be freely copied and redistributed as long as: * 1) This entire notice continues to be included in the file, * 2) If the file has been modified in any way, a notice of such * modification is conspicuously indicated. * * PostScript, Display PostScript, and Adobe are registered trademarks of * Adobe Systems Incorporated. * * ************************************************************************ * THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO CHANGE WITHOUT * NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYSTEMS * INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY OR * LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO WARRANTY OF ANY * KIND (EXPRESS, IMPLIED OR STATUTORY) WITH RESPECT TO THIS INFORMATION, * AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, * FITNESS FOR PARTICULAR PURPOSES AND NONINFINGEMENT OF THIRD PARTY RIGHTS. * ************************************************************************ */ /* * ClockApp.m * * This class creates the window that the clock goes in and then * installs a ClockView object as the content view. The clock is * initialized by drawing the clock face, sending the user paths for * the hands down to the server and defining the gstates. */ #import "ClockApp.h" #import "ClockView.h" #import <appkit/Application.h> #import <appkit/Control.h> #import <appkit/Window.h> @implementation ClockApp /* * Create a window, install a ClockView object as the content view and * initialize the clock. */ + new { NXRect aRect; self = [super new]; NXSetRect(&aRect, 250.0, 400.0, 400.0, 375.0); windowId = [Window newContent:&aRect style:NX_TITLEDSTYLE backing:NX_BUFFERED buttonMask:NX_RESIZEBUTTONMASK defer:NO]; [windowId setTitle:"Clock"]; viewId = [ClockView new]; [[windowId setContentView:viewId] free]; [viewId drawFace]; [viewId defineUPaths]; [viewId defineGStates]; [windowId display]; [windowId makeKeyAndOrderFront:self]; return self; } /* The view is freed when the window is freed. */ - free { [windowId free]; return [super free]; } /* Set the target and actions for the buttons. */ - setGstateButton:anObject { [[anObject setTarget:viewId] setAction:@selector(toggleGstate:)]; return self; } - setUpathButton:anObject { [[anObject setTarget:viewId] setAction:@selector(toggleUpath:)]; return self; } /* Pass the id for the time display field to the ClockView object. */ - setDisplayTime:anObject { [viewId setDisplayTime:anObject]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.