home *** CD-ROM | disk | FTP | other *** search
-
- /* Generated by Interface Builder */
-
- #import <appkit/View.h>
- #import <objc/objc.h>
- #import <objc/Storage.h>
-
- struct plotData
- {
- float x;
- float y;
- float logx;
- float logy;
- };
-
- #define PLOTDATA_DESCRIPTION "{ffff}"
-
- #define DATA_ONLY 0
- #define CURVE_ONLY 1
- #define DATA_AND_CURVE 2
-
- @interface DataView:View
- {
- Storage *data; //THE PLOT DATA
- Storage *curve; //A CURVE TO PLOT
- int plotMode;
- BOOL zeroLines;
- id cache;
- BOOL cacheUpToDate;
- id topScale; //THE VIEW SUBCLASS THAT CONTAINS THE TOP SCALE
- id bottomScale; //THE VIEW SUBCLASS THAT CONTAINS THE BOTTOM SCALE
- id leftScale; //THE VIEW SUBCLASS THAT CONTAINS THE LEFT SCALE
- id rightScale; //THE VIEW SUBCLASS THAT CONTAINS THE RIGHT SCALE
- BOOL loggedx; //YES IF X-AXIS IS LOGGED
- BOOL loggedy; //YES IF Y-AXIS IS LOGGED
- BOOL logxCalculated; //YES IF THE LOGGED X VALUES HAVE BEEN CALCULATED
- BOOL logyCalculated; //YES IF THE LOGGED Y VALUES HAVE BEEN CALCULATED
- BOOL lockedx; //YES IF THIS PLOT IS LOCKED TO ANOTHER SET OF DATA WITH THE SAME X
- id masterx; //THE DATAVIEW INSTANCE WITH THE MASTER SET OF X DATA
- BOOL isMasterx; //YES IF THIS DATAVIEW IS THE MASTER
- id children; //A LIST CONTAINING THE CHILDREN OF THIS MASTER, IF THIS IS ONE
- float xmax;
- float xmin;
- float ymax;
- float ymin;
- float xmaxLog;
- float xminLog;
- float ymaxLog;
- float yminLog;
- float xscale;
- float yscale;
- BOOL scaleOnTop;
- BOOL scaleOnBottom;
- BOOL scaleOnLeft;
- BOOL scaleOnRight;
- float lineTypeArray[10];
- float lineTypeOffset;
- float linewidth;
-
- // These are just temporary.
- id xmintext;
- id xmaxtext;
- id ymintext;
- id ymaxtext;
- }
-
- // Override methods:
- - initFrame:(const NXRect *)frameRect;
- - drawSelf:(NXRect *)rects :(int)rectCount;
- - free;
- - setFrame:(NXRect *)frameRect;
- - moveTo:(NXCoord)x :(NXCoord)y;
- - sizeTo:(NXCoord)width :(NXCoord)height;
-
- // This Class' methods:
- - addData:(struct plotData *)datum;
- - drawInCache;
- - setPlotMode:(int)mode;
- - setZeroLines:(BOOL)mode;
- - (float)xscale;
- - (float)yscale;
- - (float)xmin;
- - setxmin:(float)aNumber;
- - (float)xmax;
- - setxmax:(float)aNumber;
- - (float)ymin;
- - setymin:(float)aNumber;
- - (float)ymax;
- - setymax:(float)aNumber;
-
- - data;
- - setData:anObject;
- - setCurve:anObject;
- - setCurveFromArray:(float *)coefficients count:(int)anInt;
- - rescaleForCurveWithRange:(float)newxmin :(float)newxmax checkInterval:(float)interval;
- - (float)integral;
- - (float)integrateWithLimits:(float)start :(float)end;
-
- // This is temporary
- - drawLimits;
- @end
-
- float evaluatePolynomial(float *coefficients,int number,float x);
-
-
-
-
-
-
-
-
-