WMTrapWriter.Mod 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. MODULE WMTrapWriter; (** AUTHOR "fof"; PURPOSE "trap window writer"; *)
  2. IMPORT
  3. Modules, Streams, TrapWriters, WMGraphics, WMUtilities;
  4. VAR w: WMUtilities.WindowWriter;
  5. PROCEDURE TrapWriterFactory*(): Streams.Writer;
  6. BEGIN
  7. IF (w = NIL) OR (~w.IsVisible()) THEN
  8. NEW(w, "TRAPS", 860, 480, FALSE);
  9. w.SetWindowBgColor(WMGraphics.DarkRed);
  10. w.SetWindowIcon(WMGraphics.LoadImage("WMIcons.tar://WMTrapWriter.png", TRUE));
  11. w.SetFontName("Courier");
  12. w.SetFontSize(12);
  13. w.SetFontColor(WMGraphics.Gold);
  14. w.window.editor.SetWordWrap(TRUE);
  15. END;
  16. RETURN w;
  17. END TrapWriterFactory;
  18. PROCEDURE Install*;
  19. BEGIN
  20. TrapWriters.InstallTrapWriterFactory (TrapWriterFactory)
  21. END Install;
  22. PROCEDURE Uninstall*;
  23. BEGIN
  24. TrapWriters.UninstallTrapWriterFactory (TrapWriterFactory)
  25. END Uninstall;
  26. PROCEDURE HaltTest*;
  27. BEGIN
  28. HALT(100);
  29. END HaltTest;
  30. PROCEDURE Cleanup;
  31. BEGIN
  32. Uninstall;
  33. IF (w # NIL) THEN w.Close; END;
  34. END Cleanup;
  35. BEGIN
  36. w := NIL;
  37. Modules.InstallTermHandler(Cleanup);
  38. END WMTrapWriter.
  39. SystemTools.Free WMTrapWriter WMUtilities ~
  40. WMTrapWriter.Install
  41. WMTrapWriter.Uninstall
  42. WMTrapWriter.HaltTest