gef/derived/gefBundle.m3


MODULE gefBundle;
Generated by m3bundle; see its manpage.

IMPORT Bundle, BundleRep, Text;
IMPORT Thread, Wr, TextWr;

TYPE T = Bundle.T OBJECT OVERRIDES get := LookUp END;

VAR bundle: T := NIL;

PROCEDURE Get(): Bundle.T =
  BEGIN
    IF (bundle = NIL) THEN bundle := NEW (T) END;
    RETURN bundle;
  END Get;

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..3] OF TEXT {
  "gefeventTranscriptView.fv",
  "geftest.fv",
  "gefeventEventData.fv",
  NIL
};

VAR Elements := ARRAY [0..3] OF TEXT {
  E0,
  E1,
  NIL (* E2 .. E2_0 *),
  NIL
};

PROCEDURE GetElt (n: INTEGER): TEXT =
  <*FATAL Thread.Alerted, Wr.Failure *>
  VAR wr := TextWr.New ();
  BEGIN
    CASE n OF
    | 2 =>
        Wr.PutText (wr, E2);
        Wr.PutText (wr, E2_0);
    ELSE (*skip*)
    END;
    RETURN TextWr.ToText (wr);
  END GetElt;

CONST E0 =
   "(VBox\n  (Rim\n    (Pen 2)\n    (HBox\n      (VBox (Glue 4) (Shape (Hei"
 & "ght + Inf) (Button %clear \"CLEAR\")) (Glue 4))\n      (Glue 4)\n      "
 & "(VBox\n        (Boolean =TRUE %alg (Text LeftAlign \"Algorithm events\""
 & "))\n        (Boolean =FALSE %zeus (Text LeftAlign \"Zeus events\"))\n  "
 & "      (Boolean =TRUE %args (Text LeftAlign \"Display args to events\"))"
 & ")\n      Fill))\n  (Bar 1)\n  (Shape (ShadowSize 0) (Height 200 + INF) "
 & "(TextEdit ReadOnly %transcript)))\n";

CONST E1 =
   "(VBox\n  (HBox\n    (Shape (Width 80) (Text LeftAlign \"Algorithm file:"
 & " \"))\n    (Frame Ridged (Shape (Width 250 + Infinity) (TypeIn %algFile"
 & "))))\n  (HBox\n    (Shape (Width 80) (Text LeftAlign \"View file: \"))\n"
 & "    (Frame Ridged (TypeIn %viewFile)))\n  (HBox\n    (Shape (Width 80) "
 & "(Text LeftAlign \"Codeview file: \"))\n    (Frame Ridged (Shape (Width "
 & "250 + Infinity) (TypeIn %codeviewFile))))\n)\n";

CONST E2 =
   "(VBox\n  (Border (Pen 1)\n    (Shape\n      (Height 75 - 25 + Inf)\n   "
 & "   (Viewport\n        (HBox\n          (Glue 4 + Inf)\n          (VBox\n"
 & "            (Glue 6)\n            (Shape (Height 16 + 0)\n             "
 & " (HBox Fill (Shape (Width + 0) (Height + 0) \n                         "
 & "       \"Code View events:   Stop? \") \n                    (Boolean %"
 & "stopatCodeEvents =TRUE \"\")\n                    (Glue 10)\n          "
 & "          (Shape (Width + 0) (Height + 0) \"Weight: \")\n              "
 & "      (Shape (Width 80) (Numeric %waitatCodeEvents =1 \n               "
 & "                                (Min 0) (Max 100)))))\n            (Glu"
 & "e 6)\n            (Shape (Height 16 + 0)\n              (HBox Fill (Sha"
 & "pe (Width + 0) (Height + 0) \n                                \"Init:  "
 & " Stop? \") \n                    (Boolean %stopAtInit =TRUE \"\")\n    "
 & "                (Glue 10)\n                    (Shape (Width + 0) (Heig"
 & "ht + 0) \"Weight: \")\n                    (Shape (Width 80) (Numeric %"
 & "waitAtInit =1 \n                                               (Min 0) "
 & "(Max 100)))))\n            (Glue 6)\n            (Shape (Height 16 + 0)"
 & "\n              (HBox Fill (Shape (Width + 0) (Height + 0) \n          "
 & "                      \"Event:   Stop? \") \n                    (Boole"
 & "an %stopAtEvent =TRUE \"\")\n                    (Glue 10)\n           "
 & "         (Shape (Width + 0) (Height + 0) \"Weight: \")\n               "
 & "     (Shape (Width 80) (Numeric %waitAtEvent =1 \n                     "
 & "                          (Min 0) (Max 100)))))\n            (Glue 6)\n"
 & "            (Shape (Height 16 + 0)\n              (HBox Fill (Shape (Wi"
 & "dth + 0) (Height + 0) \n                                \"Pause:   Stop"
 & "? \") \n                    (Boolean %stopAtPause =TRUE \"\")\n        "
 & "            (Glue 10)\n                    (Shape (Width + 0) (Height +"
 & " 0) \"Weight: \")\n                    (Shape (Width 80) (Numeric %wait"
 & "AtPause =1 \n                                               (Min 0) (Ma"
 & "x 100)))))\n            (Glue 6)\n          )\n          (Glue 4)\n    "
 & "      (VBox";

CONST E2_0 =
   "\n            (Glue 5)\n            (Shape (Width + 0) (Height 16 + 0) "
 & "\"Cts:\")\n            (Button %eventCounts\n              (VBox\n     "
 & "           (Glue 6)\n                (HBox Fill (Shape (Width + 0) (Hei"
 & "ght 16 + 0) \n                                  (Text %ctOfInit \"0\"))"
 & ")\n                (Glue 6)\n                (HBox Fill (Shape (Width +"
 & " 0) (Height 16 + 0) \n                                  (Text %ctOfEven"
 & "t \"0\")))\n                (Glue 6)\n                (HBox Fill (Shape"
 & " (Width + 0) (Height 16 + 0) \n                                  (Text "
 & "%ctOfPause \"0\")))\n                (Glue 3))))\n          Fill\n     "
 & "     (Glue 4 + Inf)\n        )\n      )\n    )\n  )\n)\n";

BEGIN
END gefBundle.