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.