ftp.nice.ch/pub/next/tools/frontends/Gnuplot.I.bs.tar.gz#/Gnuplot/GnuplotSource/Status.h

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

/*
 *  Copyright (C) 1993  Robert Davis
 *
 *  This program is free software; you can redistribute it and/or
 *  modify it under the terms of Version 2, or any later version, of 
 *  the GNU General Public License as published by the Free Software 
 *  Foundation.
 */

/* $Id: Status.h,v 1.10 1993/05/18 03:55:38 davis Exp $ */


#import <objc/Object.h>
#import <streams/streams.h>	/* NXStream */

@class List, DoubleValueSortedList;

#define	X_TAG	0
#define	Y_TAG	1
#define	Z_TAG	2
#define	R_TAG	3
#define ANGLES_RADIANS		0
#define ANGLES_DEGREES		1

@interface Status:Object
{
    NXZone	*zone;		/* Our zone				*/
    id		delegate;	/* Whom to inform if settings change	*/

    BOOL	report;		/* Report setting changes to delegate?	*/

    char	*text;		/* Command text that we pass to gnuplot	*/
    NXStream	*s_epsStream;	/* Term writes EPS to this stream	*/

    char	*s_plotargs;	/* Arguments for a plot command		*/
    List	*functions;	/* List of FunctionObjects, which store	*/
				/* info about functions (titles, style)	*/

    char	*appendix;	/*
				 *  Appendix is a postamble where we 
				 *  can put newline-separated Gnuplot 
				 *  commands that will override any of 
				 *  the settings.  We use it to 
				 *  process the text read from a file, 
				 *  before we've had a chance to set 
				 *  the instance variables.
				 */

    BOOL areSettingsEdited;	/* Do the plotargs and text need to be	*/
				/* rebuilt?				*/


    /*** Gnuplot Settings ***/

    char	*s_title;	/* Plot title				*/

    BOOL	s_parametric;	/* Is this a parametric plot?		*/
    BOOL	s_polar;	/* Is this a polar plot?		*/
    BOOL	s_border;	/* Does it have a border?		*/
    BOOL	s_grid;		/* Does it have a grid?			*/
    BOOL	degrees;	/* Are ranges in degrees? (Or radians?)	*/

    int		s_fontsize;	/* Font size in points			*/
    char	*s_font;	/* Font string. Example: "Times-Roman"	*/

    BOOL	isThreeD;	/* Is this a 3D plot (or just 2D)?	*/
    BOOL	s_draw_surface;	/* Should we show the surface?		*/
    BOOL	s_hidden3d;	/* Are the hidden lines removed?	*/

    BOOL	s_zeroaxis[2];	/* Should we show the x- or y-zeroaxis?	*/
    BOOL	s_isLogCoord[3][2];	/* Is this axis a log scale?	*/
    char	*s_labelCoord[3];	/* Labels for the axes		*/
    char	*s_dummy_var[2];	/* Dummy vars for functions	*/

    BOOL	s_key;		/* Is there a key?			*/
    BOOL	s_key_default;	/* Would a key be in the default loc.?	*/
    double	s_keyCoord[3];	/* Location of the key if not default	*/

    BOOL	s_time;		/* Should we show the time/date?	*/
    BOOL	s_time_default;	/* Should time/date be in default loc.?	*/
    int		s_timeCoord[3];	/* Location of time/date if not default	*/

    BOOL	sizeProp;	/* Should we keep x & y proportional?	*/
    float	s_xsize,s_ysize;/* Size of the plot			*/

    float	s_rotCoord[3];	/* How the 3D view is rotated		*/

    int		s_samples;	/* Number of samples per function plot	*/
    int		s_samplesCoord[2];
    int		s_iso_samplesCoord[2];

    BOOL	s_autoscaleCoord[4][2]; /* Autoscaling on X, Y, Z, or R? */

    double	s_minCoord[3][2];	/* Axis Ranges			*/
    double	s_maxCoord[3][2];


    /* Contour Category */

    BOOL	contourBase;		/* Contours on base?		*/
    BOOL	contourSurface;		/* Contours on surface?		*/
    int		s_contour_kind;		/* Type of contour		*/
    int		s_contour_pts;
    int		s_contour_order;
    int		s_contour_levels;
    int		s_levels_kind;
    DoubleValueSortedList *levelDefs;
    struct _levelsSeries {
	double	start, incr, end;
    }		s_levelsSeries;
    BOOL	s_label_contours;


    /* Tics Category */

    BOOL	s_tics_in;		/* Tics in (or out)?		*/
    BOOL	s_ticsCoord[3];		/* Axis have tics at all?	*/
    int		s_ticTypeCoord[3];	/* Tic type of coord		*/
    struct _ticSeries {
	double start, incr, end;
    }		s_ticSeriesCoord[3];	/* Tics Series parameters	*/
    DoubleValueSortedList *ticDefs[3];	/* Custom, user-defined tics	*/

}

+ lastplot;
+ setHalvePlot:(BOOL)condition;

- init;
- free;

- setDelegate: anObject;		/* Must respond to settingsDidChage: */
- delegate;
- setReport:(BOOL)cond;			/* Report changes to delegate?	     */
- (BOOL)report;

- setAppendix:(const char *) aString;
- (NXStream *)stream;

- plot;					/* Plot current settings	*/
- (BOOL)canPlot;			/* Can we plot current settings	*/

- saveToFile:(const char *)filename;	/* Save current settings	*/
- reportSettingsChange:sender;		/* Inform delegate of change	*/
- resetCurrent;				/* Reset settings to defaults	*/
- applyCurrent;				/* Set gnuplot vars from ours	*/
- grabCurrent;				/* Set our vars from gnuplot's	*/

- (List *)functions;

- setTitle:(const char *) aString;	/* Setting instance variables	*/
- (const char *) title;

- setParametric:(BOOL) cond;
- (BOOL) parametric;
- setPolar:(BOOL) cond;
- (BOOL) isPolar;
- setBorder:(BOOL) cond;
- (BOOL) border;
- setGrid:(BOOL) cond;
- (BOOL) grid;
- setDegrees:(BOOL) cond;
- (BOOL)degrees;

- setFontsize:(int) anInt;
- (int) fontsize;
- setFontname:(const char *) aString;
- (const char *) fontname;
- setFont:aFont;		/* Sets fontname and fontsize from aFont */
- font;				/* Returns a Font object */

- setThreeD:(BOOL) aCondition;
- (BOOL) isThreeD;
- setSurface:(BOOL) cond;
- (BOOL) surface;
- setHiddenThreeD:(BOOL) cond;
- (BOOL) hiddenThreeD;


					/* Pertaining to a certain coord.*/
- setAxisCoord:(int)coord on:(BOOL)cond;
- (BOOL) axisCoord:(int)coord;

- setIsLogCoord:(int)coord isOn:(BOOL)isOn;
- (BOOL)isLogCoord:(int)coord;

- setLabelCoord:(int)coord to:(const char *) aString;
- (const char *) labelCoord:(int) coord;

- setDummyVar:(int)coord to:(const char *)aString;
- (const char *)dummyVar:(int)coord;

- setKey:(BOOL) cond;
- (BOOL) key;
- setKeyDefault: (BOOL) cond;
- (BOOL) keyDefault;
- setKeyCoord:(int)coord to:(double)aDouble;
- (double) keyCoord:(int)coord;

- setTime:(BOOL) cond;
- (BOOL) time;
- setTimeDefault: (BOOL) cond;
- (BOOL) timeDefault;
- setTimeCoord:(int)coord to:(int)anInt;
- (int) timeCoord:(int)coord;

- setSizeProp:(BOOL) cond;
- (BOOL) sizeProp;
- setSizeX:(float) xFloat Y:(float) yFloat;
- (float) sizeX;
- (float) sizeY;

- setRotCoord:(int)coord to:(float)aFloat;
- resetRotation;
- (float)rotCoord:(int)coord;

- setSamplesCoord:(int)coord to:(int) anInt;
- (int) samples:(int)coord;

- setIsoSamplesCoord:(int)coor to:(int) anInt;
- (int) isoSamples:(int)coord;

- setAutoscaleCoord:(int)coord isOn:(BOOL)cond;
- (BOOL)autoscaleCoord:(int)coord;

- setRangeCoord:(int)coord min:(double)min max:(double)max;
- (double)minCoord:(int)coord;
- (double)maxCoord:(int)coord;

@end

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