ftp.nice.ch/pub/next/developer/objc/appkit/NMK.NIHS.bs.tar.gz#/NMK/Historian/Source/ScrollerPresenter.m

This is ScrollerPresenter.m in view mode; [Download] [Up]

/***** ScrollerPresenter.m -- Scroller data display object implementation
	NeXTstep Measurement Kit
	by Alex Meyer <ameyer@phoenix.Princeton.EDU>
	for computer science senior thesis
	22 April 1992 -- created from SliderPresenter.m
*****/

#import <stdlib.h>
#import <stdio.h>
#import <string.h>
#import <appkit/Application.h>
#import "Historian.h"
#import "ScrollerPresenter.h"

@implementation ScrollerPresenter

static id instance = nil;

+ new
{
	if (instance == nil) {
		instance = [self alloc];
		[NXApp loadNibSection:"ScrollerPresenter.nib"
			owner:instance];
	}
	return (instance);
}


- showData:sender
{
	int i,tag;
	float x,y,width,height;
	char *p,*text;
	NXAtom key;

	[sender copyDataTo:&rec];
	key = [sender getKey];
	for (p = key,i = 0;*p != '|';++p)
		++i;
	text = malloc(i + 1);
	strncpy(text,key,i);
	text[i] = 0;
	sscanf(p,"|%d|%f|%f|%f|%f",&tag,&x,&y,&width,&height);
	[form setStringValue:text
		at:0];
	[form setIntValue:tag
		at:1];
	[form setFloatValue:x
		at:2];
	[form setFloatValue:y
		at:3];
	[form setFloatValue:width
		at:4];
	[form setFloatValue:height
		at:5];
	[form setIntValue:rec.numHits
		at:6];			/* should be unsigned */
	[form setIntValue:rec.numKNOB
		at:7];
	[form setIntValue:rec.numDECPAGE
		at:8];
	[form setIntValue:rec.numINCPAGE
		at:9];
	[form setIntValue:rec.numDECLINE
		at:10];
	[form setIntValue:rec.numINCLINE
		at:11];
	[form setIntValue:rec.numKNOBSLOT
		at:12];
	[form setDoubleValue:rec.timeIn
		at:13];
	[form setDoubleValue:rec.timeBetween
		at:14];
	[histView copyInNum:SCROLLERHIST
		data:rec.histogram];
	[histView display];
	free(text);
	[window orderFront:self];
	return self;
}


- hide:sender
{
	[window orderOut:self];
	return self;
}


- (NXAtom)identify
{
	return (NXUniqueString("Scrollers"));
}

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.