Easy ModelWorks
Copyright (c) 1986-2006 by Andreas Fischlin and ETH Zurich.
mailto://RAMSES@env.ethz.ch http://www.sysecol.ethz.ch/
(***************************************************************************)
(*##### C L I E N T I N T E R F A C E M O D U L E S #####*)
(***************************************************************************)
The author reserves the right to make changes, additions, and improvements
to the software or documentation at any time without notice to any person or
organization; no guarantee is made that further versions of either will be
compatible with any other version.
The author hereby disclaims any and all guarantees and warranties on the
software or its documentation, both expressed or implied. No liability
of any form shall be assumed by the author. Any user of this sofware uses
it at his or her own risk and no fitness for any purpose whatsoever nor
waranty of merchantability are claimed or implied.
(*============================ EasyMWFcts =============================*)
CONST
maxSysOrder = 9; (* x1..x9 *) maxParams = 31; noSampleModelActive = 0;
ModelWorksMDPsActive = -1; dynLoadedProgActive = -2;
PROCEDURE EnterModelOk( name: ARRAY OF CHAR; sysOrd, nrPars: INTEGER; contTime: BOOLEAN ): BOOLEAN;
PROCEDURE EnterDiffEqu( index: INTEGER; diffEquExpression: ARRAY OF CHAR; x0: REAL );
PROCEDURE EnterMonitoring( index: INTEGER; xmin, xmax: REAL; tabulation, plotting: CHAR );
PROCEDURE EnterParam( ident: ARRAY OF CHAR; value: REAL );
PROCEDURE EnterSimParams( tmin, tmax, deltat: REAL );
PROCEDURE EditSystem;
PROCEDURE DisallowEquationEditing;
PROCEDURE EnableUserFunction;
PROCEDURE GetCurrentSysSpecs( VAR name: ARRAY OF CHAR; VAR n, m: INTEGER; VAR contTime: BOOLEAN );
PROCEDURE CurrentSampleModel( ): INTEGER;
PROCEDURE GetEquation( i: INTEGER; VAR equ: ARRAY OF CHAR );
PROCEDURE X( i: INTEGER ): REAL;
PROCEDURE X0( i: INTEGER ): REAL;
PROCEDURE Xmin( i: INTEGER ): REAL;
PROCEDURE Xmax( i: INTEGER ): REAL;
PROCEDURE P( ident: ARRAY OF CHAR ): REAL;
PROCEDURE SetNewX( i: INTEGER; x: REAL );
PROCEDURE SetNewX0( i: INTEGER; newx0: REAL );
PROCEDURE SetNewMonitoring( i: INTEGER; xmin, xmax: REAL; tabulation, plotting: CHAR );
PROCEDURE SetNewP( ident: ARRAY OF CHAR; newval: REAL );
PROCEDURE ForceUpdating;
PROCEDURE InstallCleanUpHandler( cluphdl: PROC );
PROCEDURE InstallUpdateHandler( updthdl: PROC );
TYPE BooleanFct = PROCEDURE( ): BOOLEAN;
PROCEDURE AnnounceMWMDP( VAR which: INTEGER; descr: ARRAY OF CHAR;
act, deact, prefs: PROC; isact: BooleanFct; byDfltAct: BOOLEAN );
PROCEDURE NoGlobPrefs;
PROCEDURE ActivateStateSpaceClick; (* implies abscissa drawing *)
PROCEDURE DeactivateStateSpaceClick;
PROCEDURE DeactivateAbscissaDrawing;
(*============================ SampleMods =============================*)
CONST maxSmplMods = 6;
TYPE CmdText = ARRAY [0..63] OF CHAR;
VAR
subMenuTitle: CmdText;
sampleModelCmdText: ARRAY [1..maxSmplMods] OF CmdText;
userFctCmdText: CmdText; userFctAliasChar: CHAR;
chooseMDPCmdText: CmdText; chooseMDPAliasChar: CHAR;
PROCEDURE SampleModel1;
PROCEDURE SampleModel2;
PROCEDURE SampleModel3;
PROCEDURE SampleModel4;
PROCEDURE SampleModel5;
PROCEDURE SampleModel6;
PROCEDURE UserFunction;
(* ============================ E N D ============================== *)
Easy ModelWorks may be freely copied but not for profit!