MODULE ZeusBundle;
Generated by m3bundle; see its manpage.
IMPORT Bundle, BundleRep, Text;
IMPORT Thread, Wr, TextWr;
TYPE T = Bundle.T OBJECT OVERRIDES
get := LookUp;
getNames := GetNames;
END;
TYPE Texts = REF ARRAY OF TEXT;
VAR
bundle: T := NIL;
names : Texts := NIL;
PROCEDURE Get(): Bundle.T =
BEGIN
IF (bundle = NIL) THEN bundle := NEW (T) END;
RETURN bundle;
END Get;
PROCEDURE GetNames (<*UNUSED*> self: T): Texts =
BEGIN
IF names = NIL THEN
names := NEW (Texts, NUMBER (Names));
names^ := Names;
END;
RETURN names;
END GetNames;
PROCEDURE LookUp (<*UNUSED*> self: T; element: TEXT): TEXT =
BEGIN
FOR i := 0 TO LAST (Names)-1 DO
IF Text.Equal (Names[i], element) THEN
IF Elements[i] = NIL THEN Elements[i] := GetElt (i) END;
RETURN Elements[i];
END;
END;
RETURN NIL;
END LookUp;
CONST Names = ARRAY [0..4] OF TEXT {
"zeusSession.fv",
"zeusPanel.fv",
"zeusIcon.pbm",
"digital.pbm",
NIL
};
VAR Elements := ARRAY [0..4] OF TEXT {
NIL (* E0 .. E0_0 *),
NIL (* E1 .. E1_3 *),
E2,
E3,
NIL
};
PROCEDURE GetElt (n: INTEGER): TEXT =
<*FATAL Thread.Alerted, Wr.Failure *>
VAR wr := TextWr.New ();
BEGIN
CASE n OF
| 0 =>
Wr.PutText (wr, E0);
Wr.PutText (wr, E0_0);
| 1 =>
Wr.PutText (wr, E1);
Wr.PutText (wr, E1_0);
Wr.PutText (wr, E1_1);
Wr.PutText (wr, E1_2);
Wr.PutText (wr, E1_3);
ELSE (*skip*)
END;
RETURN TextWr.ToText (wr);
END GetElt;
CONST E0 =
"; Copyright (C) 1994, Digital Equipment Corporation "
& " \n; All rights reserved. "
& " \n; See the file COPYRIGHT for a full description. "
& " \n\n(Scale\n %scale\n (HScale 1)\n (VScale 1)\n(R"
& "im\n (Pen 8)\n (Macro Fixed BOA (child) `(Shape (Width + 0) (Height +"
& " 0) ,child))\n (Macro\n Divider\n BOA\n (name str)\n `(Boo"
& "lean\n %,name\n (HBox\n (VBox Fill Bar Fill)\n "
& " (Shape (Width + 0) (Height + 0) ,str)\n (VBox Fill Bar Fill"
& "))))\n (Macro\n Dividee\n BOA\n (name child)\n `(TSplit Fl"
& "ex =0 %,name Circular (Generic) ,child))\n (Macro\n AlgInside\n "
& "()\n `(VBox\n (TSplit\n Flex\n =1\n %s"
& "howButtons\n Circular\n (Generic)\n (VBox\n "
& " (Glue 12)\n (HBox\n Fill\n (Fi"
& "lter (Border (Button %abort (Rim (Pen 2) \"Abort Alg\"))))\n "
& " (Glue 10)\n Fill\n (Border\n (G"
& "uard\n (Button\n (DarkShadow \"LightP"
& "ink\")\n (LightShadow \"VeryVeryLightPink\")\n "
& " (BgColor \"VeryLightPink\")\n %destroy\n "
& " (Rim (Pen 2) \"Destroy Session\"))))\n Fi"
& "ll)))\n (Glue 12)\n (HBox\n (Border\n (Pe"
& "n 2)\n (VBox\n (Glue 4)\n (HBox Fill "
& "(Shape (Width + 0) (Height + 0) \"Algorithms\") Fill)\n (Gl"
& "ue 4)\n Bar\n (Filter\n (Shape\n "
& " (Width 80 + Inf)\n (Height 100 + 0)\n "
& " (Browser (ShadowSize 0) %algs Quick)))))\n (Glue"
& " 12)\n (Border\n (Pen 2)\n (VBox\n "
& " (Glue 4)\n (HBox Fill (Shape (Width + 0) (Height + 0) \""
& "Views\") Fill)\n (Glue 4)\n Bar\n ("
& "Filter\n (Shape\n (Width 80 + Inf)\n "
& " (Height 100 + 0)\n ";
CONST E0_0 =
" (Browser (ShadowSize 0) %views Quick))))))))\n (VBox\n "
& " (Divider\n algBool\n (HBox Fill (Fixed \"Algorithm: \") (F"
& "ixed (Text %algName \"Unknown\")) Fill))\n (Dividee algT (AlgInside)"
& ")\n (Divider dataFormBool \"Input for algorithm\")\n (Dividee dat"
& "aFormT (HBox Fill (Generic %dataForm) Fill))\n (Divider eventDataBoo"
& "l \"Events\")\n (Dividee eventDataT (Generic %eventDataForm))))\n)\n"
;
CONST E1 =
"; Copyright (C) 1994, Digital Equipment Corporation "
& " \n; All rights reserved. "
& " \n; See the file COPYRIGHT for a full description. "
& " \n\n(Scale\n %scale\n (HScale 1)\n (VScale 1)\n "
& "(Shape\n (Width + inf)\n (Height + Inf)\n (Macro Fixed BOA (ch"
& "ild) `(Shape (Width + 0) (Height + 0) ,child))\n (Macro Left BOA (ch"
& "ild) `(Fixed (HBox ,child Fill)))\n (Macro LeftText BOA (child) `(Te"
& "xt LeftAlign ,child))\n (ZSplit\n (HBox\n (VBox\n "
& " (Rim\n (Pen 8)\n (VBox\n (HBox\n "
& " (VBox\n Fill\n (HBox\n"
& " (Menu\n (Shape (Width 50) (Hei"
& "ght 30) (Pixmap \"zeusIcon.pbm\"))\n (Border\n "
& " (Shape\n (Width 100)\n "
& " (VBox\n (PopMButton\n "
& " (For AboutDialog)\n "
& " (LeftText \"About ...\"))\n (PopMButt"
& "on\n (For ConfigDialog)\n "
& " (LeftText \"Configure ...\"))\n "
& " (Bar 1)\n (PopMButton\n "
& " (For SnapshotDialog)\n (LeftText"
& " \"Snapshot ...\"))\n (Filter\n "
& " (PopMButton\n %restoreB"
& "tn\n (For RestoreDialog)\n "
& " (LeftText \"Restore ...\")))\n "
& " (Bar 1)\n (MButton %photoBtn (LeftText "
& "\"Photo\"))\n (MButton %clearAlbum (LeftText"
& " \"Clear Album\"))\n (Bar 1)\n "
& " (Filter\n (MButton\n "
& " %recordBtn\n (Te"
& "xt Left";
CONST E1_0 =
"Align %recordBtnText \"Record ...\")))\n (Fi"
& "lter\n (MButton %grabData (LeftText \"Grab"
& " Data\")))\n (Filter\n "
& " (MButton %futurePause (LeftText \"Future Pause\")))\n "
& " (Filter\n (MButton\n "
& " %playbackBtn\n "
& " (Text\n LeftAlign\n "
& " %playbackBtnText\n \""
& "Playback ...\")))\n (Bar 1)\n "
& " (MButton %delViews (LeftText \"Delete All Views\"))\n "
& " (Bar 1)\n (MButton\n "
& " %quit\n (BgCo"
& "lor \"LightPink\")\n (LeftText \"Quit\")))"
& ")))\n (Glue 12)\n (VBox\n "
& " (Menu\n (Shape (Width 50) (Height "
& "30) \"Sessions\")\n (Border\n "
& " (VBox\n (Boolean\n "
& " MenuStyle\n %inTrestle\n "
& " =FALSE\n (LeftText "
& "\"Install sessions in Trestle\"))\n (Bar 1)\n"
& " (Filter (VBox %sessionMenu)))))\n "
& " Fill))\n (Glue 8)\n Fill\n"
& " (HBox\n (Filter\n "
& " (Shape (Width 25) (Border (TypeIn %restoreShortcut))))\n "
& " (Fixed (Text %sessName \"Null\"))\n Fill))"
& "\n (Glue 12)\n (HBox\n ("
& "Fixed\n (VBox\n (VBox\n "
& " (Shape (Height + 0) (Text LeftAlign %status \"Idle\")))"
& "\n (Shape (Height 6) Fill)\n "
& "(HBox\n ";
CONST E1_1 =
" (Filter\n (Shape\n "
& " (Width 50)\n (Button "
& "%goBtn (Text %goText \"GO\"))))\n (Glue 12)\n "
& " (Filter\n (Shape (Width 5"
& "0) (TrillButton %stepBtn \"STEP\")))\n (Glue 12)"
& "\n (Filter (Shape (Width 50) (Button %abortBtn \""
& "ABORT\")))\n (Glue 0))\n (G"
& "lue 8)\n (HBox\n (Fixed (Te"
& "xt LeftAlign \"Animation time (sec): \"))\n (Tex"
& "t %delayText \"1.0\")\n Fill)\n "
& " (Scroller %delay =550 (Min 0) (Max 1000)))))\n Fill"
& ")\n (Generic %sessionFV)\n (Glue 0)))))\n "
& " (ZChild\n %AboutDialog\n (Border\n (CloseButto"
& "n\n (Rim\n (Pen 2)\n (VBox\n "
& " (Shape (Height 0) (Text LeftAlign %VersionTxt \"Version\"))\n"
& " (Text LeftAlign \"Send comments to mhb@src.dec.com\")\n"
& " (Glue 4)\n Ridge\n (Glue "
& "4)\n (Pixmap (Color \"DarkBlue\") \"digital.pbm\"))))))\n"
& " (ZChassis\n %ConfigDialog\n (Title \"Configuration\""
& ")\n (Shape\n (Width 310 + 0)\n (Height + 0)\n "
& " (Rim\n (Pen 16)\n (VBox\n ("
& "HBox\n (Shape (Width + 0) \"Maximum speed up:\")\n "
& " (Glue 8)\n (Frame Lowered (TypeIn %maxSpeedFac"
& "tor =\"10.0\"))\n Fill)\n (Glue 8)\n "
& " (HBox\n (Text LeftAlign \"Delays are as fractions"
& " of animation delay:\")\n Fill)\n (Glue 8)\n"
& " (HBox\n (Shape (Width 140) \" Minimum e"
& "vent delay: \")\n (Shape (Width 30) (Text RightAlign %mi"
& "nDelayText \"0.10\"))\n (Border (Scroller %minDelayFrac "
& "=10 (Min 0) (Max 100)";
CONST E1_2 =
")))\n (Glue 8)\n (HBox\n (Shap"
& "e (Width 140) \" Code view event delay: \")\n (Shape "
& "(Width 30) (Text RightAlign %codeDelayText \"0.40\"))\n "
& "(Border (Scroller %codeDelayFrac =40 (Min 0) (Max 100))))\n "
& " (Glue 8)\n (HBox\n (Shape (Width + 0) (Te"
& "xt LeftAlign \"Step detail:\"))\n (Numeric %priority =1 "
& "(Min 0) (Max 9))\n Fill)\n (Glue 8)\n "
& " (HBox\n (Shape (Width + 0) \"Photo size (mm) Wid"
& "th:\")\n (Glue 8)\n (Frame Lowered (TypeI"
& "n %photoWidth =\"30.0\"))\n (Glue 8)\n (S"
& "hape (Width + 0) \"Height:\")\n (Glue 8)\n "
& " (Frame Lowered (TypeIn %photoHeight =\"30.0\"))\n Fill"
& ")\n (Glue 8)))))\n (ZChassis\n %SnapshotDialog"
& "\n (Title \"File in which to save snapshot?\")\n (Rim\n "
& " (Pen 8)\n (VBox\n (Frame\n Low"
& "ered\n (Helper (For snapshot) (BgColor \"VeryLightGrey\") "
& "%snapshotName))\n (Glue 8)\n (Frame\n "
& " Lowered\n (Shape\n (Width 280 + Infinity)"
& "\n (Height 100 + Infinity)\n (FileBrowser"
& " (BgColor \"VeryLightGrey\") %snapshot))))))\n (ZChassis\n "
& "%RestoreDialog\n (Title \"File from which to restore snapshot:\""
& ")\n (Filter\n %restoreContents\n (Rim\n "
& " (Pen 8)\n (VBox\n (Frame\n "
& "Lowered\n (Helper (For restore) (BgColor \"VeryLightGrey"
& "\") %restoreName))\n (Glue 8)\n (Frame\n "
& " Lowered\n (Shape\n (Width 28"
& "0 + Infinity)\n (Height 100 + Infinity)\n "
& " (FileBrowser (BgColor \"VeryLightGrey\") %restore ReadOnly)))))))\n"
& " (ZChassis\n %RecordDialog\n (Title \"File in which "
& "to save transcript?\")\n ";
CONST E1_3 =
" (Rim\n (Pen 8)\n (VBox\n (Frame\n "
& " Lowered\n (Helper (For record) (BgColor \"VeryLi"
& "ghtGrey\") %recordName))\n (Glue 8)\n (Frame\n "
& " Lowered\n (Shape\n (Width 280 + "
& "Infinity)\n (Height 100 + Infinity)\n (Fi"
& "leBrowser (BgColor \"VeryLightGrey\") %record))))))\n (ZChassis\n "
& " %PlaybackDialog\n (Title \"Transcript file to play back?\""
& ")\n (Rim\n (Pen 8)\n (VBox\n (Frame"
& "\n Lowered\n (Helper (For playback) (BgColor "
& "\"VeryLightGrey\") %playbackName))\n (Glue 8)\n ("
& "Frame\n Lowered\n (Shape\n (Wi"
& "dth 280 + Infinity)\n (Height 100 + Infinity)\n "
& " (FileBrowser (BgColor \"VeryLightGrey\") %playback))))))\n "
& "(ZChassis\n (BgColor \"LightPink\")\n (DarkShadow \"DarkP"
& "ink\")\n %ErrorDialog\n (Title \"Error\")\n (Rim\n"
& " (Pen 16)\n (VBox\n (Shape\n "
& "(Width 200 + Infinity)\n (Height 100 + Infinity)\n "
& " (Border (TextEdit %error ReadOnly)))\n (Glue 16)\n "
& " (HBox\n (Shape (Width 90) (CloseButton %errClearAn"
& "dShut \"Clear & Shut\"))\n (Glue 30) Fill\n ("
& "Shape (Width 50) (Button %errClear \"Clear\"))\n (Glue 30)"
& " Fill\n (Shape (Width 50) (CloseButton \"Shut\")))))))))";
CONST E2 =
"P4\r\n45 20\r\n\000\000\000\000\000\000\000\000\000\000\000p\000\000\000"
& "\000\000\340\000\000\001\300\000\200\000\000\017\200\f\220\000\0009\200"
& "\314\360\000\000\343\f\314\020\000\007\207\f\314\020\000<\0068\314\360\001"
& "\340\0164\315\360\017\000\f<\377\000x\000\0300\360\000\300\000\0301\300"
& "\000\000\0008?\200\000\000\0000\370\000\000\000\000\177\200\000\000\000"
& "\000\374\000\000\000\000\000\360\000\000\000\000\001\300\000\000\000\000"
& "\000\000\000\000\000";
CONST E3 =
"P4\r\n190 65\r\n\000\000\377\377\361\377\377\343\377\377\307\377\377\217"
& "\377\377\037\377\376?\377\374}\004\000\000\377\377\361\377\377\343\377\377"
& "\307\377\377\217\377\377\037\377\376?\377\374\021\214\000\000\377\377\361"
& "\377\377\343\377\377\307\377\377\217\377\377\037\377\376?\377\374\021T\000"
& "\000\377\377\361\377\377\343\377\377\307\377\377\217\377\377\037\377\376"
& "?\377\374\021$\000\000\377\377\361\377\377\343\377\377\307\377\377\217\377"
& "\377\037\377\376?\377\374\021\004\000\000\377\377\361\377\377\343\377\377"
& "\307\377\377\217\377\377\037\377\376?\377\374\021\004\000\000\377\377\361"
& "\377\377\343\377\377\307\377\377\217\377\377\037\377\376?\377\374\021\004"
& "\000\000\377\377\361\377\377\343\377\377\307\377\377\217\377\377\037\377"
& "\376?\377\374\000\000\000\000\377\377\361\377\377\343\377\377\307\377\377"
& "\217\377\377\037\377\376?\377\374\000\000\000\000\377\3741\376\037\343\377"
& "\377\307\370\177\217\377\377\037\377\376?\303\374\000\000\000\000\377\374"
& "1\376\037\343\377\377\307\370\177\217\377\377\037\377\376?\303\374\000\000"
& "\000\000\377\3741\376\037\343\377\377\307\370\177\217\377\377\037\377\376"
& "?\303\374\000\000\000\000\377\3741\376\037\343\377\377\307\370\177\217\360"
& "\377\037\377\376?\303\374\000\000\000\000\377\3741\377\377\343\377\377\307"
& "\377\377\217\360\377\037\377\376?\303\374\000\000\000\000\377\3741\377\377"
& "\343\377\377\307\377\377\217\360\377\037\377\376?\303\374\000\000\000\000"
& "\377\3741\377\377\343\377\377\307\377\377\217\360\377\037\377\376?\303\374"
& "\000\000\000\000\376\f1\376\037\343\360a\307\370\177\217\360\377\037\340"
& "\376?\303\374\000\000\000\000\374\0041\376\037\343\340!\307\370\177\217"
& "\300?\037\000>?\303\374\000\000\000\000\370\0001\376\037\343\300\001\307"
& "\370\177\217\300?\036\000\036?\303\374\000\000\000\000\360\0001\376\037"
& "\343\300\001\307\370\177\217\300?\036\000\036?\303\374\000\000\000\000\360"
& "`1\376\037\343\201\001\307\370\177\217\360\377\034\037\016?\303\374\000"
& "\000\000\000\360\3701\376\037\343\207\301\307\370\177\217\360\377\034?\016"
& "?\303\374\000\000\000\000\340\3701\376\037\343\207\301\307\370\177\217\360"
& "\377\034?\016?\303\374\000\000\000\000\341\3741\376\037\343\017\341\307"
& "\370\177\217\360\377\037\376\016?\303\374\000\000\000\000\341\3741\376\037"
& "\343\017\341\307\370\177\217\360\377\037\370\016?\303\374\000\000\000\000"
& "\341\3741\376\037\343\017\341\307\370\177\217\360\377\037\200\016?\303\374"
& "\000\000\000\000\341\3741\376\037\343\017\341\307\370\177\217\360\377\037"
& "\000\016?\303\374\000\000\000\000\341\3741\376\037\343\017\341\307\370\177"
& "\217\360\377\036\001\016?\303\374\000\000\000\000\341\3741\376\037\343\017"
& "\341\307\370\177\217\360\377\034\037\016?\303\374\000\000\000\000\340\370"
& "1\376\037\343\007\301\307\370\177\217\360\377\034?\016?\303\374\000\000"
& "\000\000\360\3701\376\037\343\207\301\307\370\177\217\360\377\034?\016?"
& "\303\374\000\000\000\000\360p1\376\037\343\203\201\307\370\177\217\360\377"
& "\034>\016?\303\374\000\000\000\000\370\0001\376\037\343\200\001\307\370"
& "\177\217\360?\034\030\016?\303\374\000\000\000\000\370\0001\376\037\343"
& "\300\001\307\370\177\217\360?\036\000\016?\303\374\000\000\000\000\374\004"
& "1\376\037\343\340!\307\370\177\217\370?\036\001\016?\303\374\000\000\000"
& "\000\376\f1\376\037\343\360a\307\370\177\217\374?\037\207\006?\303\374\000"
& "\000\000\000\377\377\361\377\377\343\377\341\307\377\377\217\377\377\037"
& "\377\376?\377\374\000\000\000\000\377\377\361\377\377\343\377\341\307\377"
& "\377\217\377\377\037\377\376?\377\374\000\000\000\000\377\377\361\377\377"
& "\343\017\301\307\377\377\217\377\377\037\377\376?\377\374\000\000\000\000"
& "\377\377\361\377\377\343\017\303\307\377\377\217\377\377\037\377\376?\377"
& "\374\000\000\000\000\377\377\361\377\377\343\003\203\307\377\377\217\377"
& "\377\037\377\376?\377\374\000\000\000\000\377\377\361\377\377\343\200\003"
& "\307\377\377\217\377\377\037\377\376?\377\374\000\000\000\000\377\377\361"
& "\377\377\343\300\007\307\377\377\217\377\377\037\377\376?\377\374\000\000"
& "\000\000\377\377\361\377\377\343\340\037\307\377\377\217\377\377\037\377"
& "\376?\377\374\000\000\000\000\377\377\361\377\377\343\377\377\307\377\377"
& "\217\377\377\037\377\376?\377\374\000\000\000\000\377\377\361\377\377\343"
& "\377\377\307\377\377\217\377\377\037\377\376?\377\374\000\000\000\000\377"
& "\377\361\377\377\343\377\377\307\377\377\217\377\377\037\377\376?\377\374"
& "\000\000\000\000\377\377\361\377\377\343\377\377\307\377\377\217\377\377"
& "\037\377\376?\377\374\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000x\000\001\000\000\000\000>\000\000\000\000\000\020\001\340\000"
& "\004\000\000\000\000\000\000\204\000\001\000\000\000\000!\000\000\000\000"
& "\000\020\002\020\000\004\000\000\000\000\000\000\200\210\343\207\026a\300"
& "!\0348p\342\347\026\002\001\305\216\034\\\000\000\000\000\200\211\021\010"
& "\231\222 !\"D\211\023\010\231\002\002&D\"`\000\000\000\000x\211\001\010"
& "\221\022\000>\"@\210\362\010\021\002\002$D\"@\000\000\000\000\004\210\341"
& "\017\221\021\300(>8\371\022\010\021\002\003\344D>@\000\000\000\000\004\210"
& "\021\010\021\020 $ \004\201\022\010\021\002\002\004D @\000\000\000\000\204"
& "\211\021\010\221\022 \"\"D\211\022\010\221\002\022$D\"@\000\000\000\000"
& "xx\340\307\021\021\300!\0348p\362\007\021\001\341\304C\034@\000\000\000"
& "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000p\000\000\000\000"
& "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000";
BEGIN
END ZeusBundle.