ftp.nice.ch/pub/next/science/mathematics/nxyplot.NIHS.bs.tar.gz#/nxyplot/Source/PlotView.h

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

/* Generated by Interface Builder */

#import <appkit/View.h>
#import <appkit/Application.h>
#import <appkit/PrintInfo.h>
#import <dpsclient/wraps.h>
#import <appkit/Font.h>
#import <appkit/FontManager.h>
#import <appkit/publicWraps.h>  /* for NXBeep */
#import <appkit/drag.h>

@interface PlotView:View
{
  id     plotParam;
  id     theFontManager;
  id     newLegendFont;
  id     newLegendTitleFont;
  id     newXTitleFont;
  id     newYTitleFont;
  id     newMainTitleFont;
  id     newTicLabelFont;
  id     handFormatXaxis;
  id     handFormatYaxis;
  id     xFormatLeft;
  id     xFormatRight;
  id     xFormatExponent;
  id     yFormatLeft;
  id     yFormatRight;
  id     yFormatExponent;
  id     printPanelAccessory;	/* the accessory view for the print panel */
  id     ticMarkLocation;	/* button over the tic mark location popup list */
  id     ticMarkLengthText;	/* the tic mark length text field */
  id     ticMarkThicknessText;	/* the tic mark thickness text field */
  id     borderBoxThicknessText;/* the border box thickness text field */
  id     gridThicknessText;	/* the grid thickness text field */
  id     frameBoxThicknessText;	/* the frame box thickness text field */
  id     axisThicknessText;	/* the axis thickness text field */
  id     lineThicknessText;	/* the line thickness text field */
  id     symbolSizeText;	/* the symbol size text field */
  id     zoomChoice;		/* button over the zoom/move popup list */
  id     majorTicMarksOnOff;	/* major tic marks on/off button */
  id     minorTicMarksOnOff;	/* minor tic marks on/off button */
  id     axesOnOff;		/* axes on/off button */
  id     borderBoxOnOff;	/* border box on/off button */
  id     frameBoxOnOff;		/* frame box on/off button */
  id     gridOnOff;		/* grid on/off button */
  id     gridDotted;		/* grid dotted/solid button */
  id     legendBoxOnOff;	/* legend box on/off button */
  id     legendOnOff;		/* legend on/off button */
  id     xTitle;		/* x title form */
  id     yTitle;		/* y title form */
  id     mainTitle;		/* main title form */
  id     legendTitle;		/* legend title form */
  id     legendForm;		/* for the curve titles */
  id     errorBarBaseWidth;	/* the error bar base width text field */
  id     errorBarMatrix;	/* the error bar matrix */
  id     legendOpaque;		/* the "Opaque" button on the legend panel */
  id     opaqueBackgroundButton;/* the background button on the preferences panel */
  id     accPrintColorButton;	/* the color/bw button on the print accessories panel */

  float  ppxunit, ppyunit;	/* pixels per xunit, pixels per y unit */
  float  xlegend[2], **ylegend;	/* for legend drawing (fixed dimension here) */
  BOOL   drawingLegendLines;
  BOOL   drawingLegendSymbols;
  NXRect legendbox;
  NXRect xtitlebox, ytitlebox, maintitlebox;
  NXRect oldbounds;
}

- initFrame:(const NXRect *)frameRect;
- clear:sender;
- startPlot;
- setDrawColor:(float) color;
- drawLines:sender :(BOOL)xaxislog :(BOOL)yaxislog;
- drawSymbols:sender :(BOOL)xaxislog :(BOOL)yaxislog;
- drawErrorBars :(BOOL)xaxislog :(BOOL)yaxislog;
- drawLegend:sender;
- drawTicMarks:(float)xmin :(float)xmax :(float)ymin :(float)ymax;
- startLegend;
- doPrinting:sender;
- (NXCoord *)xdata:(int)n;	/* provide data for drawing the curves */
- (NXCoord **)ydata:(int)n;	/* and symbols in the legend box       */
- (int)nPoints:(int)n;		/* provide no. of points to use in legend drawing */
- (int)nCurves:(int)n;
- (int)nFiles;

- (BOOL)has_ebars:(int)n;

- provideMainTitleFont;
- provideXTitleFont;
- provideYTitleFont;
- provideLegendFont;
- provideLegendTitleFont;
- provideTicLabelFont;
- (NXPoint) provideLegendBoxOrigin;
- forceLegendBoxOrigin: (NXPoint)point;
- (NXPoint) provideXTitleBoxOrigin;
- forceXTitleBoxOrigin: (NXPoint)point;
- (NXPoint) provideYTitleBoxOrigin;
- forceYTitleBoxOrigin: (NXPoint)point;
- (NXPoint) provideMainTitleBoxOrigin;
- forceMainTitleBoxOrigin: (NXPoint)point;

- provideWindowFrame:(NXRect *)windowframe;
- forceWindowFrame:(NXRect *)windowframe;

- forceMainTitleFont:(char *)fontname :(float)fontsize;
- forceXTitleFont:(char *)fontname :(float)fontsize;
- forceYTitleFont:(char *)fontname :(float)fontsize;
- forceLegendFont:(char *)fontname :(float)fontsize;
- forceLegendTitleFont:(char *)fontname :(float)fontsize;
- forceTicLabelFont:(char *)fontname :(float)fontsize;

// Any subclass of View needs to implement its own drawSelf method
- drawSelf: (const NXRect *)rects :(int)rectCount;

/*
 * We implement the mouseDown method to allow zooming and also to allow
 * moving the legend box.  We lean heavily on the code in the
 * /NextDeveloper/Examples/Mandelbrot directory.
 */
- mouseDown:(NXEvent *)e;

- saveEPS:sender;

- savePSCode:(char *)aFile;

- copyPScode:sender;

@end

/* Dragging */

//extern BOOL IncludesType(const NXAtom *types, NXAtom type);

@interface PlotView(Drag)

- (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
- (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;

@end

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