MODULE ObxPDBRep4;
(**
project = "BlackBox"
organization = "www.oberon.ch"
contributors = "Oberon microsystems"
version = "System/Rsrc/About"
copyright = "System/Rsrc/About"
license = "Docu/BB-License"
changes = ""
issues = ""
**)
IMPORT Views, TextModels, TextMappers, TextViews, StdLinks, StdLog, ObxPhoneDB;
CONST cmdStart = "ObxPDBRep4.Log('"; cmdEnd = "')";
PROCEDURE GenReport*;
VAR t: TextModels.Model; f: TextMappers.Formatter; v: TextViews.View;
i: INTEGER; name, number: ObxPhoneDB.String; link: StdLinks.Link;
cmd: ARRAY 128 OF CHAR;
BEGIN
t := TextModels.dir.New(); (* create empty text carrier *)
f.ConnectTo(t); (* connect a formatter to the text *)
i := 0;
ObxPhoneDB.LookupByIndex(i, name, number);
WHILE name # "" DO
cmd := cmdStart + name + "" + number + cmdEnd;
link := StdLinks.dir.NewLink(cmd);
f.WriteView(link);
f.WriteString(name); (* the string shown between the pair of link views *)
link := StdLinks.dir.NewLink("");
f.WriteView(link);
f.WriteLn; (* carriage return *)
INC(i);
ObxPhoneDB.LookupByIndex(i, name, number)
END;
v := TextViews.dir.New(t); (* create a text view for the text generated above *)
Views.OpenView(v) (* open the text view in its own window *)
END GenReport;
PROCEDURE Log* (param: ARRAY OF CHAR);
BEGIN
StdLog.String(param); StdLog.Ln
END Log;
END ObxPDBRep4.