ftp.nice.ch/pub/next/graphics/vector/QuickPlot.NIHS.bs.tar.gz#/QuickPlot/Source/Plot.h

This is Plot.h in view mode; [Download] [Up]

/*	Program By Fred Richards, Copyright 1990.	*/
/*							*/
/*	This software is provided free of charge	*/
/*	and without warranty.  The source code may	*/
/*	be distributed freely provided this copyright	*/
/*	notice remains in tact.				*/


#import <objc/Object.h>
#import <appkit/appkit.h>

@interface Plot:Object
{
    id	canvas;		// PlotView
    id	xMin;		// Text forms in control panel
    id	yMax;
    id	yMin;
    id	xMax;
    id	plotBox;	// The box around PlotView
    
    NXPoint *data;	// 2-D data set (pairs of floats)
    int    dCount;	// number of points in the set

    NXPoint  min;	// minima for x and y (for display purposes)
    NXPoint  max;	// maxima for x and y
    NXPoint  dMin;	// minima for x and y (determined from the data file)
    NXPoint  dMax;	// maxima for x and y

    BOOL   minmax;	// YES = use the min and max in the control panel,
			// NO = get min and max from the data

    BOOL   lines;	// YES = connect points with lines
    BOOL   axes;	// YES = draw axes for x=0 and y=0
    BOOL   border;	// YES = draw a border around the plot
    int    style;	// shape of the data points:
			//	0 = dots
			//	1 = cross (+)
			//	2 = ex's (x)
			//	3 = box
			//	4 = triangles

    char  *fileName;	// Name of the PostScript file for output
}

// The following methods attach this object to the QuickPlot window

- setCanvas:anObject;
- setXMin:anObject;
- setYMax:anObject;
- setYMin:anObject;
- setXMax:anObject;
- setPlotBox:anObject;

// These methods return the value of the instance variables

- (BOOL )border:sender;
- (BOOL )axes:sender;
- (BOOL )lines:sender;
- (int )style:sender;

- (NXPoint *)data;
- (int )dSize;

- (NXCoord )ymax:sender;
- (NXCoord )ymin:sender;
- (NXCoord )xmin:sender;
- (NXCoord )xmax:sender;

- (char *)fileName:sender;

// These methods are called by the control panel objects to
// *set* the instance variables

- setLines:sender;
- setAxes:sender;
- setBorder:sender;
- setStyle:sender;
- setMinmax:sender;

// Get the min and max values from the control panel

- getXmin:sender;
- getXmax:sender;
- getYmin:sender;
- getYmax:sender;

// If the min and max came from a file, use these messages to
// update the TextForms in the control panel

- resetXmax:sender;
- resetXmin:sender;
- resetYmax:sender;
- resetYmin:sender;

- setBoxTitle:(char *)aTitle;

- setFileName:(char *)aPSfile;

- setMinmax:sender;

// This method will do all the work

- drawPlot:sender;

// Allocate memory for and read the data from the specified file/stream

- (int )readDataFrom:(FILE *)aDataStream;

// get the min and max from the data

- findMinAndMax;

// send the right min and max to the PlotView

- (BOOL )setupBorder:sender;

// These methods are called from the main menu

- open:sender;
- openFile:(char *)aDataFile;
- save:sender;
- saveAs:sender;

@end

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