Here's a kludgy, undocumented way to do it, but it seems to work on my Mac:
vv is a global, set to your desired view - TestNew is a procedure that
initilizes it:
PROCEDURE TestAux* ();(* VAR
w, ww: Windows.Window; v: Views.View; i: INTEGER;
BEGIN
IF vv = NIL THEN vv := TestNew(); Views.OpenAux(vv, gname); RETURN END;
w := Windows.dir.First(); i := 0;
WHILE w # NIL DO
IF w.doc # NIL THEN
v := w.doc.ThisView();
IF v = vv THEN
HostWindows.MoveThisWindowToFront (i, FALSE);
RETURN
END;
END;
w := Windows.dir.Next(w); INC(i);
IF w = ww THEN v := Views.CopyOf(vv, Views.shallow); Views.OpenAux(v,
gname); RETURN END; (* Not found - open a new one *)
END;
v := Views.CopyOf(vv, Views.shallow); Views.OpenAux(v, gname);
END TestAux;
Mayson G. Lancaster
Oberon/F programmer looking for work...