deckscape/derived/MyBundle.m3


MODULE MyBundle;
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..21] OF TEXT {
  "Help.html",
  "pulldown.pbm",
  "Titles.fv",
  "Doc.fv",
  "leftArrow.pbm",
  "OpenURL.fv",
  "unmapped.pbm",
  "NWDiagonal",
  "Help.fv",
  "menuArrow.pbm",
  "Search.fv",
  "Deck.fv",
  "iconize.pbm",
  "MButton.fv",
  "rightArrow.pbm",
  "Workspace.fv",
  "FreeDoc.fv",
  "mapped.pbm",
  "Rename.fv",
  "macros.fv",
  "NEDiagonal",
  NIL
};

VAR Elements := ARRAY [0..21] OF TEXT {
  NIL (* E0 .. E0_0 *),
  E1,
  E2,
  E3,
  E4,
  E5,
  E6,
  E7,
  E8,
  E9,
  E10,
  E11,
  E12,
  E13,
  E14,
  E15,
  E16,
  E17,
  E18,
  E19,
  E20,
  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);
    ELSE (*skip*)
    END;
    RETURN TextWr.ToText (wr);
  END GetElt;

CONST E0 =
   "<HTML>\n<BODY>\n<H1>DeckScape Help</H1>\n\nThe DeckScape display contai"
 & "ns two areas: a menubar with entries\n<B>File</B> and <B>Decks</B>, and"
 & " a workspace area. The workspace area\ninitially contains one deck. Whe"
 & "n you click on the blue links in a\ndocument, the link is fetched and t"
 & "he new document is displayed on the\ndeck.  As you interact in DeckScap"
 & "e, the workspace will become\npopulated with multiple decks, pages that"
 & " have been \"torn off\" decks,\nand a variety of dialog boxes.\n\n<H2>T"
 & "he File menu</H2>\n\nThe <B>New Deck</B> command creates a new deck, in"
 & "itially displaying\nyour home page (the value of the environment variab"
 & "le\n<CODE>WWW_HOME</CODE>).<P>\n\nThe <B>Search...</B> command brings u"
 & "p a dialog that allows you to search\nfor a text string in all document"
 & "s you\'ve viewed while running\nDeckScape. Those documents which contai"
 & "n hits are copied into a new\ndeck.<P>\n\nThe <B>Help...</B> command br"
 & "ings up this help window.<P>\n\nThe <B>Quit</B> command exits DeckScape"
 & " and saves the current list of\npages in each deck into the file $HOME/"
 & ".deckscape.<P>\n\n\n<H2>The Decks menu</H2>\n\nThe entries in this menu"
 & " are the names of decks. Selecting a deck will\nbring it to the top of "
 & "the windows in the workspace. The name of the\ndeck is prefixed by a <e"
 & "m>closed</em> icon, then the deck will be\nopened and then brought to t"
 & "he top.\n\n<P>\n\nThe first two entries in this menu are <B>HotList</B>"
 & " and <B>Global History</B>.\nThese decks are provided autmoatically by "
 & "DeckScape and cannot be deleted. (The\nglobal history is currently not "
 & "implemented, however.)\n\n\n<H2>Manipulating Decks</H2>\n\nThe top bann"
 & "er line of the deck is used to manipulate the deck.  Close\nthe deck us"
 & "ing the close icon at the left. The downward pointing\ntriangle next to"
 & " the close icon is the base of a pulldown menu of deck\ncommands. Repos"
 & "ition the deck by dragging the title. Merge the\ncontents of a deck by "
 & "drag-and-dropping the <B>Merge</B> button onto\nanother deck. Leaf thro"
 & "ugh the contents of a deck using the left and\nright arrow buttons";

CONST E0_0 =
   ", and go to the bottom or top of the deck with the\n\"B\" and \"T\" but"
 & "tons. Resize the deck using the resize box in the upper\nright.<P>\n\nT"
 & "he second banner line displays the URL of the document at the top of\nt"
 & "he deck.  The \"H\" button copies to the top document to the hotlist\n("
 & "i.e., the deck whose name is \"HotList\"), and the \"D\" button deletes"
 & "\nthe document from the deck. You can \"tear off\" a page by\ndrag-and-"
 & "dropping its URL banner into the background of the workspace,\nand you "
 & "can move a page into a different deck by dropping its URL\nbanner into "
 & "the other deck.\n\n<H3>The Deck menu </H3>\n\n<p>\"Open URL...\" pops u"
 & "p a dialog in which you may enter a URL.  The document at that URL is p"
 & "laced in the deck.\n\n<p>\"Goto Page...\" displays a browser with the t"
 & "itles of all pages in the deck,\nand allows you to cause the deck to di"
 & "splay a selected page.\n\n<p>\"Rename Deck\" pops up a dialog in which "
 & "you my enter a new name for the deck.\n\n<p>\"Gather Up\" gathers all t"
 & "he deck\'s \"tear-off\" documents back into the deck.\n\n<p>\"Delete De"
 & "ck\" deletes the deck.\n\n\n<p>\"Reload\" refetches the displayed docum"
 & "ent, bypassing any and all caches.\n\n<p>\"Duplicate\" makes a duplicat"
 & "e copy of the displayed document, and inserts the duplicate into the de"
 & "ck.\n\n<p>\"Expand One Level\" makes a new deck containing the document"
 & "s generated by following all of the links in the displayed document.\nT"
 & "his command is quite cool. The pages will appear without images; just r"
 & "eload the page to get the image.\n\n\n<H3>The Tear-Off Page menu</H3>\n"
 & "\n<p>\"Back To Deck\" sends the displayed document back to its home dec"
 & "k.\n\n<p>\"Make New Deck\" makes a new deck from the displayed document"
 & ".\n\n<p>\"Reload\", \"Duplicate\", and \"Expand One Level\" are the sam"
 & "e as a\npage that is not torn off.\n\n</BODY>\n";

CONST E1 =
   "P1\n# pulldown.pbm\n11 12\n0 0 0 0 0 0 0 0 0 0 0\n0 1 1 1 1 1 1 1 1 1 0"
 & "\n0 1 1 1 1 1 1 1 1 1 0\n0 0 1 1 1 1 1 1 1 0 0\n0 0 1 1 1 1 1 1 1 0 0\n"
 & "0 0 0 1 1 1 1 1 0 0 0\n0 0 0 1 1 1 1 1 0 0 0\n0 0 0 0 1 1 1 0 0 0 0\n0 "
 & "0 0 0 1 1 1 0 0 0 0\n0 0 0 0 0 1 0 0 0 0 0\n0 0 0 0 0 1 0 0 0 0 0\n0 0 "
 & "0 0 0 0 0 0 0 0 0\n";

CONST E2 =
   "(ZChild %titlesDialog\n  (Insert \"macros.fv\")\n  (Shape (Width + inf)"
 & "\n    (Border (Pen 2)\n      (VBox\n        (HBox \n          (Shape (W"
 & "idth + inf) (ZMove (Text %titlesDlgBanner \"Goto Page ...\")))\n       "
 & "   (ZGrow (Pixmap \"grow.pbm\")))\n        (VBox\n          (Shape (Hei"
 & "ght 75 - 50 + Inf) (Browser %titlesBrowser Quick (BgColor \"VeryLightGr"
 & "ay\")))\n          Bar\n          (Glue 10)\n          (HBox (Glue 10) "
 & "\n            (NoStretch \"Document number: \") \n            (NoStretc"
 & "h (Numeric FirstFocus %titlesNumeric (Min 1))) (Glue 10)\n            F"
 & "ill)\n          (Glue 10)\n          (HBox \n            (DefaultBtn ti"
 & "tlesButton \"Goto\") \n            (CloseBtn \"Cancel\"))\n          (G"
 & "lue 10))))))";

CONST E3 =
   "(VBox\n  (Insert \"macros.fv\")\n  (HBox\n    (Shape (Width + Inf - Inf"
 & ")\n      (Source %source (Text %docName LeftAlign \"Doc Name\")))\n    "
 & "(Button %hotlistButton \"H\")\n    (Button %killButton \"D\"))\n  (Bar "
 & "2)\n  (Shape (Width - Inf) (Height - Inf)  (Generic %gen)))";

CONST E4 =
   "P4\r\n16 16\r\n\000\000\000\000\000\000\001\200\003\200\007\370\017\370"
 & "\037\370\037\370\017\370\007\370\003\200\001\200\000\000\000\000\000\000"
;

CONST E5 =
   "(ZChild %urlDialog\n  (Insert \"macros.fv\")\n  (Shape (Width + inf)\n "
 & "   (Border (Pen 2)\n      (VBox\n        (HBox \n           (Shape (Wid"
 & "th + inf) (ZMove (Text %urlDlgBanner \"Open URL ...\")))\n           (Z"
 & "Grow (Pixmap \"grow.pbm\")))\n        (VBox\n          (Rim (Pen 10)\n "
 & "           (Frame Lowered (BgColor \"VeryLightGray\")\n              (T"
 & "ypeIn %urlTypein (FirstFocus TRUE) ExpandOnDemand)))\n          (HBox \n"
 & "            (DefaultBtn urlButton \"Open\") \n            (Btn urlHomeB"
 & "utton \"Home\") \n            (CloseBtn \"Cancel\"))\n          (Glue 1"
 & "0))))))";

CONST E6 =
   "P4\r\n16 16\r\n\377\376\200\002\200\002\207\302\217\342\237\362\237\362"
 & "\237\362\237\362\237\362\217\342\207\302\200\002\200\002\377\376\000\000"
;

CONST E7 =
   "P4\n16 16\n\210\210DD\"\"\021\021\210\210DD\"\"\021\021\210\210DD\"\"\021"
 & "\021\210\210DD\"\"\021\021";

CONST E8 =
   "(ZChild %helpDialog (At 0.1 0.9 0.1 0.9)\n  (Insert \"macros.fv\")\n  ("
 & "Shape (Width + inf) (Height + inf)\n    (Border\n      (Pen 2)\n      ("
 & "VBox\n        (HBox\n          (Shape (Width + inf) (ZMove (Text \"Brow"
 & "ser Help\")))\n          (ZGrow (Pixmap \"grow.pbm\")))\n        (VBox\n"
 & "          (Generic %helpText)\n          (Bar)\n          (Glue 10) \n "
 & "         (HBox (DefaultCloseBtn \"OK\"))\n          (Glue 10))))))\n";

CONST E9 =
   "P4\r\n11 8\r\n\000\000\000\000\377\340\177\300?\200\037\000\016\000\004"
 & "\000";

CONST E10 =
   "(ZChild %searchDialog\n  (Insert \"macros.fv\")\n  (Shape\n    (Width +"
 & " inf)\n    (Border (Pen 2)\n      (VBox\n        (HBox \n          (Sha"
 & "pe (Width + inf) \n            (ZMove (Text \"Global Search\"))) \n    "
 & "      (ZGrow (Pixmap \"grow.pbm\")))\n        (VBox\n          (Rim (Pe"
 & "n 10)\n            (Frame Lowered (BgColor \"VeryLightGray\")\n        "
 & "      (TypeIn %searchTypein FirstFocus ExpandOnDemand)))\n          (HB"
 & "ox\n            (DefaultBtn searchSearchButton \"Search\")\n           "
 & " (CloseBtn \"Cancel\"))\n          (Glue 10))))))";

CONST E11 =
   "(Filter\n  (Insert \"macros.fv\")\n  (Target %target\n    (Stable \n   "
 & "   (Border (Pen 2)\n          (VBox %vBox\n            (HBox\n         "
 & "     (Button %iconize (Pixmap \"iconize.pbm\"))\n              (Menu (S"
 & "hape (Width 20) (Pixmap \"pulldown.pbm\"))\n               (VBox\n     "
 & "             (PopMButton (For urlDialog) (Text LeftAlign \"Open URL ..."
 & "\"))\n                  (Filter (MButton %popTitlesButton (Text LeftAli"
 & "gn \"Goto Page ...\")))\n                  (Filter (MButton %popRenameB"
 & "utton \n                    (Text LeftAlign \"Rename Deck ...\")))\n   "
 & "               (MButton %gatherButton (Text LeftAlign \"Gather Up\"))\n"
 & "                  (Filter Dormant \n\t\t    (MButton %indexButton (Text"
 & " LeftAlign \"Make Link Index\")))\n                  (Filter (MButton %"
 & "deleteButton (Text LeftAlign \"Delete Deck\")))\n                  Bar\n"
 & "                  (Filter (MButton %reloadDocButton (Text LeftAlign \"R"
 & "eload\")))\n                  (Filter (MButton %duplicateDocButton (Tex"
 & "t LeftAlign \"Duplicate\")))\n                  (Filter (MButton %expan"
 & "dDocButton (Text LeftAlign \"Expand One Level\")))))\n               (S"
 & "hape (Width + inf)\n                (ZMove (Text %deckName LeftAlign \""
 & "Deck Name\")))\n              (Filter (Source %mergeSource \"Merge\"))\n"
 & "              (Shape (Width + 0) (Text %locText \"?/?\"))\n            "
 & "  (Filter\n                (HBox\n                  (Button %bottomButt"
 & "on \"B\")\n                  (PageButton %prevButton (Back TRUE) (For t"
 & "Split)\n                    (Pixmap \"leftArrow.pbm\"))))\n            "
 & "  (Filter\n                (HBox\n                  (PageButton %nextBu"
 & "tton (For tSplit)\n                    (Pixmap \"rightArrow.pbm\"))\n  "
 & "                (Button %topButton \"T\")))\n              (ZGrow (Pixm"
 & "ap \"grow.pbm\")))\n            (Bar 2)\n            (ZSplit \n        "
 & "      (Shape (Width + Inf) (Height + Inf) \n                (TSplit %tS"
 & "plit (Circular FALSE)))\n              (Insert \"Titles.fv\")\n        "
 & "      (Insert \"OpenURL.fv\")\n              (Insert \"Rename.fv\")))))"
 & "))";

CONST E12 =
   "P4\r\n16 16\r\n\377\376\200\002\200\002\207\302\217\342\237\362\237\362"
 & "\237\362\237\362\237\362\217\342\207\302\200\002\200\002\377\376\000\000"
;

CONST E13 =
   "(Shape\n  (Insert \"macros.fv\")\n  (MButton %button\n    (HBox \n     "
 & " (Shape (Width + 0) (Pixmap %icon \"mapped.pbm\"))\n      (Text %text L"
 & "eftAlign \"xxxx\"))))";

CONST E14 =
   "P4\r\n16 16\r\n\000\000\000\000\000\000\001\200\001\300\037\340\037\360"
 & "\037\370\037\370\037\360\037\340\001\300\001\200\000\000\000\000\000\000"
;

CONST E15 =
   "(Shape (Width 600 + inf - 350) (Height 400 + inf - 100)\n  (Insert \"ma"
 & "cros.fv\")\n  (VBox\n    (HBox\n      (Menu\n        (Shape (Width 60)\n"
 & "          (HBox\n            Fill\n            (Shape (Width + 0) (HBox"
 & " \"File\" (Pixmap \"menuArrow.pbm\")))\n            Fill))\n        (VB"
 & "ox\n          (MButton %newDeckButton (Text LeftAlign \"New Deck\"))\n "
 & "         Bar\n          (MButton %flushCache (Text LeftAlign \"Flush Ca"
 & "che\"))\n          (MButton %caching (Text %cachingText LeftAlign \"Dis"
 & "able or Enable Caching\"))\n          (MButton %fgImages  (Text %fgImag"
 & "esText LeftAlign \"Bg or Fg Images\"))\n          (MButton %zippers (Te"
 & "xt %zippersText LeftAlign \"Disable or Enable Zippers\"))\n          Ba"
 & "r\n          (MButton %debug (Text LeftAlign \"Debug\"))\n          Bar"
 & "\n          (PopMButton (For searchDialog) (Text LeftAlign \"Search ..."
 & "\"))\n          (PopMButton (For helpDialog) (Text LeftAlign \"Help ..."
 & "\"))\n          (MButton %quitButton (Text LeftAlign \"Quit\"))))\n    "
 & "  (Menu\n        (Shape (Width 60)\n          (HBox\n            Fill\n"
 & "            (Shape (Width + 0) (HBox \"Decks\" (Pixmap \"menuArrow.pbm\""
 & ")))\n            Fill))\n        (VBox (VBox %permanentDeckMenuVBox) Ba"
 & "r (VBox %deckMenuVBox)))\n      Fill)\n    Bar\n    (ZSplit %zSplit \n "
 & "       (Color \"Black\") \n        (BgColor \"LightGray\")\n        (Li"
 & "ghtShadow \"White\")\n      (ZBackground (Target %target (BgColor \"Whi"
 & "te\") \"\"))\n      (Insert \"Help.fv\")\n      (Insert \"Search.fv\"))"
 & "))";

CONST E16 =
   "(ZChild Open\n  (Insert \"macros.fv\")\n   (Stable (Border (Pen 2)\n   "
 & "  (VBox %vBox\n        (HBox\n          (Button %iconize (Pixmap \"icon"
 & "ize.pbm\"))\n          (Menu\n            (Shape (Width 20) (Pixmap \"p"
 & "ulldown.pbm\"))\n            (VBox\n              (MButton %backButton "
 & "(Text LeftAlign \"Back To Deck\"))\n              (MButton %newButton ("
 & "Text LeftAlign \"Make New Deck\"))\n              Bar\n              (M"
 & "Button %reloadDocButton (Text LeftAlign \"Reload\"))\n              (MB"
 & "utton %duplicateDocButton (Text LeftAlign \"Duplicate\"))\n            "
 & "  (MButton %expandDocButton (Text LeftAlign \"Expand One Level\"))))\n "
 & "         (Shape (Width + Inf)\n            (ZMove (HBox \n             "
 & "    (Texture %freeDocPreName \"NWDiagonal\") \n                 (Shape "
 & "(Width + 0) (Text %freeDocName LeftAlign \"FreeDoc\'s Name\"))\n       "
 & "          (Texture %freeDocPostName \"NEDiagonal\"))))\n          (ZGro"
 & "w (Pixmap \"grow.pbm\")))\n        (Bar 2)\n        (Shape (Width + Inf"
 & " - Inf) (Height + Inf - Inf) (Generic %gen))))))\n";

CONST E17 =
   "P4\r\n16 16\r\n\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"
;

CONST E18 =
   "(ZChild %renameDialog\n  (Insert \"macros.fv\")\n  (Shape (Width + inf)"
 & "\n    (Border (Pen 2)\n      (VBox\n        (HBox \n           (Shape ("
 & "Width + inf) (ZMove (Text %renameDlgBanner \"Rename deck ...\")))\n    "
 & "       (ZGrow (Pixmap \"grow.pbm\")))\n        (VBox\n          (Rim (P"
 & "en 10)\n            (Frame Lowered (BgColor \"VeryLightGray\")\n       "
 & "       (TypeIn %renameTypein (FirstFocus TRUE) ExpandOnDemand)))\n     "
 & "     (HBox\n            (DefaultBtn renameButton \"Rename\") \n        "
 & "    (CloseBtn \"Cancel\"))\n          (Glue 10))))))";

CONST E19 =
   "#| FormsVBT macros |#\n#|=============================================="
 & "==============================|#\n\n(LabelFont (Family \"helvetica\") ("
 & "WeightName \"bold\") (Width \"*\") (PointSize 120))  \n  #| Used for st"
 & "atic text, including buttons and menus |#\n\n(Macro NoStretch BOA (item"
 & ")\n   `(Shape (Width + 0) ,item))\n\n(Macro DefaultBtn BOA (name label)"
 & "\n   `(HBox (Glue 10 + Inf) (Shape (Width 60) \n      (Border (Button %"
 & ",name ,label))) (Glue 10 + Inf)))\n\n(Macro Btn BOA (name label)\n   `("
 & "HBox (Glue 10 + Inf) (Shape (Width 60) \n      (Rim (Button %,name ,lab"
 & "el))) (Glue 10 + Inf)))\n\n(Macro CloseBtn BOA (label)\n   `(HBox (Glue"
 & " 10 + Inf) (Shape (Width 60) \n      (Rim (CloseButton ,label))) (Glue "
 & "10 + Inf)))\n\n(Macro DefaultCloseBtn BOA (label)\n   `(HBox (Glue 10 +"
 & " Inf) (Shape (Width 60) \n      (Border (CloseButton ,label))) (Glue 10"
 & " + Inf)))\n\n";

CONST E20 =
   "P4\n16 16\n\021\021\"\"DD\210\210\021\021\"\"DD\210\210\021\021\"\"DD\210"
 & "\210\021\021\"\"DD\210\210";

BEGIN
END MyBundle.