MODULE ObxParCmd;
(**
project = "BlackBox"
organization = "www.oberon.ch"
contributors = "Oberon microsystems"
version = "System/Rsrc/About"
copyright = "System/Rsrc/About"
license = "Docu/BB-License"
changes = ""
issues = ""
**)
IMPORT Dialog, Models, Controls, TextModels, TextMappers, StdLog;
PROCEDURE Connect (VAR s: TextMappers.Scanner; OUT done: BOOLEAN);
VAR c: Models.Context;
BEGIN
done := FALSE;
IF Controls.par # NIL THEN
c := Controls.par.context; (* the context of an open view is never NIL *)
WITH c: TextModels.Context DO
s.ConnectTo(c.ThisModel()); s.SetPos(c.Pos() + 1); s.Scan;
done := TRUE
ELSE
END
END
END Connect;
PROCEDURE Do0*;
VAR s: TextMappers.Scanner; done: BOOLEAN;
BEGIN
Connect(s, done);
IF done THEN
IF s.type = TextMappers.string THEN
StdLog.String(s.string); StdLog.Ln (* write string after button to log *)
END
END
END Do0;
PROCEDURE Do1*;
VAR s: TextMappers.Scanner; done: BOOLEAN; res: INTEGER;
BEGIN
Connect(s, done);
IF done THEN
IF s.type = TextMappers.string THEN
Dialog.Call(s.string, " ", res) (* execute string after button as a command sequence *)
END
END
END Do1;
END ObxParCmd.