для прыжка по гиперссылке неплохо бы иметь команду возврата, как в браузере.
У кого-нить есть представление, как это сбацать?
1) Сохранять в момент клика-выполнения loc = (w: Window.Window, StdLinks.par) в Xxx.list. Xxx даёт и команду "возврата" --- показа loc... Если документ был закрыт (в Windows.dir.First() отсутствует) и не временный, его можно переоткрыть по (w.loc, w.name, w.conv)... Отдельно думать о якорях на закрытые документы в Xxx.list...
2) Сохранять loc глобально для всех кликов --- нужно ковырять обработку клика в StdLinks. Сохранять "локально" без ковыряния StdLinks --- ковырять команды "перехода" (открытия документов) или делать для них специальную обёртку Xxx.Open...
---
Код:
PROCEDURE GetStoreWindow* (s: Stores.Store; OUT res: Windows.Window);
VAR domain: Stores.Domain; w: Windows.Window;
BEGIN
domain := s.Domain(); ASSERT(domain # NIL, 20);
IF Windows.dir # NIL THEN w := Windows.dir.First() ELSE w := NIL END;
WHILE (w # NIL) & ~(w.doc.Domain() = domain) DO
w := Windows.dir.Next(w)
END;
res := w
END GetStoreWindow;
---
StdLinks.Link --- не гиперссылка, а аналог коммандера, позволяющий выполнить произвольную последовательность операторов.