1 .* ***********************************************************
  2 .* *                                                         *
  3 .* *                                                         *
  4 .* * Copyright, (C) Honeywell Information Systems Inc., 1981 *
  5 .* *                                                         *
  6 .* *                                                         *
  7 .* ***********************************************************
  8 .*                                      LEVEL 1, 2, 3, 4 HEADS
  9 .srv ENTRY "%InputFileName%"(3)         ;.* set local variables
 10 .srv LEVEL "%InputFileName%"(2,1)
 11 .srv FORM 5                             ;.* start with exact form
 12 .srv FONT "l4exact"
 13 .srv FONT_SIZE 10
 14 .srv MHBOX                              ;.* define the flag
 15 .*
 16 .*                                      ;.* general form
 17 .ts "%ENTRY%" = "exact" | "%ENTRY%" = "x"
 18 .srv FORM 5
 19 .*                                      module name forms
 20 .ur .ts ("%Parameter%"(1,13) = "N^H__^Ha_^Hm_^He:") | ("%Parameter%"(1,5) = "Name:")
 21 .srv FORM 1
 22 .ur .ts ("%Parameter%"(1,16) ="N^H__^Ha_^Hm_^He_^Hs:") | ("%Parameter%"(1,6) = "Names:")
 23 .srv FORM 2
 24 .*                                      subroutine entry forms
 25 .ur .ts ("%Parameter%"(1,16) = "E^H__^Hn_^Ht_^Hr_^Hy:") | ("%Parameter%"(1,6) = "Entry:")
 26 .srv FORM 3
 27 .ur .ts ("%Parameter%"(1,22) = "E^H__^Hn_^Ht_^Hr_^Hi_^He_^Hs:") | ("%Parameter%"(1,8) = "Entries:")
 28 .srv FORM 4
 29 .*
 30 .ur .ifi break_title "%Parameter%"      ;.* break into title lines per given !s
 31 .ts "%ENTRY%" = "hbox" | "%ENTRY%" = "mhbox"
 32 .ur .ifi %ENTRY% "%Parameter%"          ;.* build box(s) as needed
 33 .ur .go FORM_%FORM%
 34 .*                                      FORM 5 - AS IS
 35 .la FORM_5
 36 .ts "%ENTRY%" = "setup"                 ;.* naught to do if setting up
 37 .rt
 38 .brb                                    ;.* clean up
 39 .srv TOC_ENTRY "%TITLE%"
 40 .if "%ENTRY%" = "exact" | "%ENTRY%" = "x" ;.* if exact entry
 41 .then
 42 .ts "%DeviceClass%" = "bitmap"
 43 .srv FONT "l%LEVEL%exact"               ;.* set font to level
 44 .else
 45 .srv FONT "l%LEVEL%font"                ;.* set font to level
 46 .srv FONT_SIZE 10
 47 .ts %LEVEL% = 1
 48 .srv FONT_SIZE 12
 49 .endif
 50 .*
 51 .ur .ur .spt %%{2 + %MPM_SPACE%}%%      ;.* put in needed space
 52 .tbb h                                  ;.* build the header
 53 .all
 54 .inl 0
 55 .ur .fnt %FONT% %FONT_SIZE%
 56 .srv TITLEI 1
 57 .la TITLE_LOOP_1
 58 .ur .ur %PAD%%%TITLE%TITLEI%%%
 59 .brf
 60 .srv TITLEI %TITLEI% + 1
 61 .ts %TITLEI% <= %TITLEN%
 62 .go TITLE_LOOP_1
 63 .fnt
 64 .ur .ur .spf %%{%LABELSPACE% + %MPM_SPACE%}%%
 65 .tbe
 66 .ts "%TEXT_TYPE%" = "prose"
 67 .go toc_line
 68 .rt
 69 .*                                      FORM 1, 2 - Name:, Names:
 70 .la FORM_1
 71 .la FORM_2
 72 .ts "%DeviceClass%" = "bitmap"
 73 .srv FONT "l2font"
 74 .ur .srv TOC_ENTRY "%%[ltrim [after "%TITLE%" ":"]]%%"
 75 .srv SECTION_MARK
 76 .ts "%section%" = ""                    ;.* does PageNo need setting up?
 77 .go TEST_LAYOUT                         ;.* no
 78 .srv SECTION_MARK "-"
 79 .ts "%PageNo%" = "1"
 80 .ur .brp %section%%SECTION_MARK%1
 81 .*
 82 .la TEST_LAYOUT
 83 .ts "%DOCUMENT_TYPE%module" ^= "%LAYOUT%" ;.* did we change layout?
 84 .ur .ifi %DOCUMENT_TYPE%_module_layout
 85 .*
 86 .ts "%ENTRY%" = "mh"
 87 .go MH
 88 .ts "%ENTRY%" ^= "hbox" & "%ENTRY%" ^= "mhbox"
 89 .ifi hbox                               ;.* build the page head box
 90 .*
 91 .ts "%ENTRY%" = "setup"
 92 .rt
 93 .ts "%ENTRY%" = "h"
 94 .brp
 95 .*
 96 .la MH
 97 .ts 0%MHBOX% = 0                        ;.* if no midpage box
 98 .ur .ur .spt %%{2 + %MPM_SPACE%}%%      ;.* put in needed space
 99 .tbb h                                  ;.* build the header
100 .ts 0%MHBOX% ^= 0                       ;.* if there is a midpage box
101 .spf 1                                  ;.* one more space
102 .fif
103 .inl 0
104 .ur .fnt %FONT% %FONT_SIZE%
105 .srv TITLEI 1
106 .la TITLE_LOOP_3
107 .ur .ur %PAD%%%TITLE%TITLEI%%%
108 .brf
109 .srv TITLEI %TITLEI% + 1
110 .ts %TITLEI% <= %TITLEN%
111 .go TITLE_LOOP_3
112 .ur .ur .spf %%{%LABELSPACE% + %MPM_SPACE%}%%
113 .fnt
114 .tbe
115 .srv MHBOX 0
116 .go toc_line
117 .*                                      FORM 3, 4, - Entry:, Entries:
118 .la FORM_3
119 .la FORM_4
120 .ts "%DeviceClass%" = "bitmap"
121 .srv FONT "l2font"
122 .ur .srv TOC_ENTRY "%%[after "%TITLE%" ":"]%%"
123 .ts "%DOCUMENT_TYPE%module" ^= "%LAYOUT%"
124 .ur .ifi %DOCUMENT_TYPE%_module_layout
125 .ur .go FORM34_%DOCUMENT_TYPE%
126 .*
127 .la FORM34_plm
128 .la FORM34_init
129 .spt 2
130 .ur .tlh 2 0 |%Parameter%|
131 .go toc_line
132 .*
133 .la FORM34_mpm
134 .la FORM34_photo
135 .ts "%ENTRY%" = "setup"
136 .rt
137 .ifi conditional_bar_3
138 .tbb h                                  ;.* build the header
139 .fif
140 .inl 0
141 .ur .fnt %FONT% %FONT_SIZE%
142 .ur %Parameter%
143 .fnt
144 .spf 2
145 .tbe
146 .*                                      TOC LINES
147 .la toc_line
148 .ts "%ENTRY%" ^= "exact" & "%ENTRY%" ^= "x" & "%TOCING%" ^= ""
149 .ur .ifi l%LEVEL%toc "%TOC_ENTRY%"
150 .rt