This is DebugCounter.m in view mode; [Download] [Up]
/////////////////////////////////////////////////////////////////////////////// // FILENAME: DebugCounter.m // SUMMARY: a debugging tool that displays the number of draw: messages // SUPERCLASS: Object // INTERFACE: None // PROTOCOLS: <Annotation, Tool> // AUTHOR: Rohit Khare // COPYRIGHT: (c) 1994 California Institure of Technology, eText Project /////////////////////////////////////////////////////////////////////////////// // DESCRIPTION // Does its job by displaying a counter var. /////////////////////////////////////////////////////////////////////////////// // HISTORY // 10/31/94: Brought into eText5. // 05/13/94: Created. First actual implementation. /////////////////////////////////////////////////////////////////////////////// #import "../eTextKernel.h" @interface DebugCounter:Object <Annotation, Tool> {int counter,highlighted;} @end @implementation DebugCounter + toolAwake:theApp { [theApp registerAnnotation: [DebugCounter class] name: "DebugCounter" RTFDirective: "DebugCounter" menuLabel: "Debug/Insert counter..." menuKey: '\0' menuIcon: (NXImage *) nil]; return self; } - init {[super init]; counter = highlighted = 0; return self;} - initFromPboard:thePB inDoc:theDoc linked:(BOOL) linked {return [self init];} - calcCellSize:(NXSize *)theSize {theSize->width = theSize->height = 16.0; return self;} - drawSelf:(const NXRect *)rect inView:view { char tmp[10]; NXEraseRect(rect); PSsetgray(highlighted ? NX_DKGRAY : NX_BLACK); PSmoveto(NX_X(rect), NX_Y(rect) + NX_HEIGHT(rect)); sprintf(tmp,"%d",counter++); PSshow(tmp); return self; } - highlight:(const NXRect *)rect inView:view lit:(BOOL)flag {highlighted = !highlighted; NXHighlightRect(rect);return self;} - (BOOL) trackMouse:(NXEvent *)theEvent inRect:(const NXRect *)rect ofView:view {return NO;} - readRichText:(NXStream *)stream forView:view {return self;} - writeRichText:(NXStream *)stream forView:view {return self;} @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.