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.