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.