RegisterJaMImager.mesa
Last changed by Warren Teitelman, 1-Apr-82 15:28:50
Last changed by Bill Paxton, May 18, 1982 1:21 pm
Last changed by McGregor, June 14, 1982 9:29 am
Last Edited by: Stone, December 20, 1983 4:21 pm
Last changed by Doug Wyatt, July 21, 1983 9:39 pm
DIRECTORY
Commander USING [Register, CommandProc],
IO USING [Handle, CreateOutputStreamToRope, GetOutputStreamRope, Put, text, int, rope, PutF,STREAM],
Rope USING [ROPE],
JaMInternal USING [Frame],
JaMOps USING [NewFrame, defaultFrame],
JaMImager USING [Create],
ViewerClasses USING [Viewer],
JaMTypeScript USING [InitTool];
RegisterJaMImager: PROGRAM
IMPORTS IO, JaMOps, JaMTypeScript, Commander, JaMImager = {
count: INTEGER ← 1;
InitToolCommand: Commander.CommandProc --[cmd: Commander.Handle]-- = TRUSTED { OPEN IO;
out: IO.STREAM = cmd.out;
param: Rope.ROPE = cmd.commandLine;
name: Rope.ROPE ← "JaM";
viewer: ViewerClasses.Viewer;
already: BOOLEAN;
frame: JaMInternal.Frame ← JaMOps.defaultFrame;
[viewer,already] ← JaMTypeScript.InitTool[viewerName: name, param: param];
IF already THEN {
h: Handle ← CreateOutputStreamToRope[];
frame ← JaMOps.NewFrame[];
Put[h,text["JaM"],int[count ← count+1]];
name ← GetOutputStreamRope[h];
[viewer,] ← JaMTypeScript.InitTool[name,frame,param,TRUE] };
[] ← JaMImager.Create[frame,viewer, TRUE];
out.PutF["%g TypeScript and imager viewer created.\n",rope[name]];
};
Commander.Register["JaMImager", InitToolCommand,
"Create a typescript and imager viewer for JaM"];
}.