Listing: 1 IMPLEMENTATION MODULE MsgBox2; 2 (* 3 * REPERTOIRE 4 * Release 1.6 5 * By Charles Bradford and Cole Brecheen 6 * (c) Copyright 1985-1992 PMI 7 * Green Bay, Wisconsin 8 * All rights reserved 9 * (414) 468-6040 10 * 11 * $Header: D:/logfiles/mods/msgbox2.mov 1.5 10 Mar 1991 15:29:52 coleb $ 12 * 13 *) 14 15 16 IMPORT ControlUtils; 17 IMPORT DspFiles; 18 IMPORT FramePainter; 19 IMPORT FrameManager; 20 IMPORT GenLists; 21 IMPORT InputManager; 22 IMPORT ListUtils; 23 IMPORT M2Strings; 24 IMPORT Numbers; 25 IMPORT NumTypes; 26 IMPORT PosUtils; 27 IMPORT ScrnTypes; 28 IMPORT ScrnUtl1; 29 IMPORT ScrnUtl2; 30 IMPORT SYSTEM; 31 IMPORT VWindows; 32 33 VAR 34 Initialized : BOOLEAN; 35 36 PROCEDURE Init(); 37 BEGIN 38 IF Initialized THEN 39 RETURN; 40 ELSE 41 Initialized := TRUE; 42 END; 43 ControlUtils.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 44 DspFiles.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 45 FramePainter.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 46 FrameManager.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 47 GenLists.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 48 InputManager.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 49 ListUtils.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 50 M2Strings.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 51 Numbers.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 52 NumTypes.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 53 PosUtils.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 54 ScrnTypes.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 55 ScrnUtl1.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 56 ScrnUtl2.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 57 VWindows.Init(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 58 END Init; ***** ^ not supported yet 59 60 61 PROCEDURE sub( n1, n2: CARDINAL ): CARDINAL; 62 BEGIN 63 IF n1 > n2 THEN 64 RETURN n1 - n2; 65 ELSE 66 RETURN 0; 67 END; 68 END sub; ***** ^ not supported yet 69 70 CONST 71 lftcol = 4; 72 toprow = 3; 73 rtcol = 42; 74 btmrow = 14; 75 midcol = 24; 76 midrow = 9; 77 78 (* These define starting points for msg box areas that we 79 use if we can't put the box inside the current frame. *) 80 81 82 PROCEDURE FindExteriorCoords( locatn: VWindows.Compass; ListWidth, ***** ^ not supported yet 83 ListHeight: CARDINAL; VAR col1, row1, col2, row2: CARDINAL ); 84 BEGIN 85 CASE locatn OF ***** ^ not supported yet 86 VWindows.West, VWindows.NW, VWindows.SW : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 87 col1 := lftcol; 88 | VWindows.North, VWindows.South : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 89 col1 := midcol; 90 | VWindows.East, VWindows.NE, VWindows.SE : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 91 col1 := rtcol; 92 END; 93 CASE locatn OF ***** ^ not supported yet 94 VWindows.North, VWindows.NW, VWindows.NE : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 95 row1 := toprow; 96 | VWindows.East, VWindows.West : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 97 row1 := midrow; 98 | VWindows.South, VWindows.SE, VWindows.SW : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 99 row1 := btmrow; 100 END; 101 col2 := col1 + ListWidth + 3; 102 row2 := row1 + ListHeight + 3; 103 END FindExteriorCoords; ***** ^ not supported yet 104 105 106 PROCEDURE FindBestCoords( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 107 locatn: VWindows.Compass; ListWidth, ListHeight : CARDINAL; ***** ^ not supported yet 108 VAR col1, row1, col2, row2: CARDINAL ); 109 VAR 110 width, height : CARDINAL; 111 BEGIN 112 width := TheFrame^.endcol - TheFrame^.startcol + 1; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 113 height := TheFrame^.endrow - TheFrame^.startrow + 1; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 114 CASE locatn OF ***** ^ not supported yet 115 VWindows.West, VWindows.NW, VWindows.SW : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 116 col1 := TheFrame^.startcol + 4; ***** ^ not supported yet ***** ^ not supported yet 117 col2 := TheFrame^.startcol + (width DIV 2); ***** ^ not supported yet ***** ^ not supported yet 118 | VWindows.East, VWindows.NE, VWindows.SE : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 119 col1 := sub( TheFrame^.endcol, width DIV 2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 120 col2 := sub( TheFrame^.endcol, 4 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 121 ELSE 122 col1 := TheFrame^.startcol + (width DIV 4); ***** ^ not supported yet ***** ^ not supported yet 123 col2 := sub( TheFrame^.endcol, width DIV 4 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 124 END; 125 CASE locatn OF ***** ^ not supported yet 126 VWindows.North, VWindows.NW, VWindows.NE : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 127 row1 := TheFrame^.startrow + 4; ***** ^ not supported yet ***** ^ not supported yet 128 row2 := TheFrame^.startrow + (height DIV 2); ***** ^ not supported yet ***** ^ not supported yet 129 | VWindows.South, VWindows.SE, VWindows.SW : ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 130 row1 := sub( TheFrame^.endrow, height DIV 2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 131 row2 := sub( TheFrame^.endrow, 4 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 132 ELSE 133 row1 := TheFrame^.startrow + (height DIV 4); ***** ^ not supported yet ***** ^ not supported yet 134 row2 := sub( TheFrame^.endrow, height DIV 4 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 135 END; 136 IF (row1 >= row2) OR (col1 >= col2) THEN 137 FindExteriorCoords( locatn, ListWidth, ListHeight, ***** ^ not supported yet ***** ^ not supported yet 138 col1, row1, col2, row2 ); ***** ^ not supported yet 139 END; 140 END FindBestCoords; ***** ^ not supported yet 141 142 143 PROCEDURE LstMsgBox( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 144 locatn : VWindows.Compass; VAR TheList: GenLists.GenList ); ***** ^ not supported yet ***** ^ not supported yet 145 VAR 146 MsgFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 147 LinesAdded, BytesAdded : INTEGER; 148 StartLine, CursorLine, CursorCol, 149 col1, row1, col2, row2 : CARDINAL; 150 BytePos: LONGINT; 151 DummyName: ScrnTypes.AFrameName; ***** ^ not supported yet 152 153 BEGIN 154 StartLine := 1; 155 CursorLine := 1; 156 CursorCol := 1; 157 BytePos := NumTypes.L0; ***** ^ not supported yet ***** ^ not supported yet 158 ListUtils.ReformPara( TheList, 0, 32, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 159 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 160 (* We're reformatting twice here -- first to help us find 161 a good location for the window, and second to 162 determine how large the window should be. *) 163 164 FindBestCoords( TheFrame, locatn, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 165 ListUtils.LongestLine(TheList), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 166 GenLists.ListLength(TheList), col1, row1, col2, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 167 row2 ); ***** ^ not supported yet 168 ScrnTypes.InitDisplayFrame( MsgFrame, TheFrame^.WindowHandle ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 169 170 StartLine := 1; 171 CursorLine := 1; 172 CursorCol := 1; 173 BytePos := NumTypes.L0; ***** ^ not supported yet ***** ^ not supported yet 174 ListUtils.ReformPara( TheList, 0, (col2 - col1) - 1, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 175 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 176 177 row2 := Numbers.Min( row2, row1 + GenLists.ListLength(TheList) + 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 178 row2 := Numbers.Max( row2, row1 + 3 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 179 (*Make sure we've got at least a two line window.*) 180 MsgFrame^.startcol := col1; ***** ^ not supported yet ***** ^ not supported yet 181 MsgFrame^.startrow := row1; ***** ^ not supported yet ***** ^ not supported yet 182 MsgFrame^.endcol := col2; ***** ^ not supported yet ***** ^ not supported yet 183 MsgFrame^.endrow := row2; ***** ^ not supported yet ***** ^ not supported yet 184 MsgFrame^.action := 'I'; ***** ^ not supported yet ***** ^ not supported yet 185 MsgFrame^.normfor := TheFrame^.msgfor; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 186 MsgFrame^.normbak := TheFrame^.msgbak; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 187 MsgFrame^.normatrb := TheFrame^.msgatrb; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 188 ScrnUtl1.SetNormalColors( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 189 ScrnUtl2.ListToFrame( TheList, MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 190 FramePainter.ShowDisplayFrame( MsgFrame, 0, 0, 0, 0 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 191 InputManager.ControlFrame( MsgFrame, 1, '', FALSE, DummyName ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 192 FrameManager.EraseFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 193 ScrnUtl2.CloseDisplayFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 194 InputManager.LookAlive( TheFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 195 END LstMsgBox; ***** ^ not supported yet 196 197 198 PROCEDURE StrMsgBox( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 199 locatn : VWindows.Compass; TheStr : ARRAY OF CHAR ); ***** ^ not supported yet ***** ^ not supported yet 200 VAR 201 TmpList: GenLists.GenList; ***** ^ not supported yet 202 BEGIN 203 GenLists.NewList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 204 GenLists.ListInsert( TheStr, GenLists.StrCode, TmpList, 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 205 LstMsgBox( TheFrame, locatn, TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 206 GenLists.DisposeList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 207 END StrMsgBox; ***** ^ not supported yet 208 209 210 PROCEDURE LstMsgBoxExterior( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 211 locatn : VWindows.Compass; VAR TheList: GenLists.GenList ); ***** ^ not supported yet ***** ^ not supported yet 212 VAR 213 MsgFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 214 LinesAdded, BytesAdded : INTEGER; 215 StartLine, CursorLine, CursorCol, 216 col1, row1, col2, row2 : CARDINAL; 217 BytePos: LONGINT; 218 DummyName: ScrnTypes.AFrameName; ***** ^ not supported yet 219 220 BEGIN 221 StartLine := 1; 222 CursorLine := 1; 223 CursorCol := 1; 224 BytePos := NumTypes.L0; ***** ^ not supported yet ***** ^ not supported yet 225 ListUtils.ReformPara( TheList, 0, 32, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 226 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 227 (* We're reformatting twice here -- first to help us find 228 a good location for the window, and second to 229 determine how large the window should be. *) 230 231 StartLine := 1; 232 (* Reset StartLine because it moves to end of paragraph 233 in ReformPara above. *) 234 FindExteriorCoords( locatn, ListUtils.LongestLine(TheList), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 235 GenLists.ListLength(TheList), col1, row1, col2, row2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 236 ScrnTypes.InitDisplayFrame( MsgFrame, TheFrame^.WindowHandle ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 237 238 StartLine := 1; 239 CursorLine := 1; 240 CursorCol := 1; 241 BytePos := NumTypes.L0; ***** ^ not supported yet ***** ^ not supported yet 242 ListUtils.ReformPara( TheList, 0, (col2 - col1) - 1, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 243 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 244 245 row2 := Numbers.Min( row2, row1 + GenLists.ListLength(TheList) + 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 246 row2 := Numbers.Max( row2, row1 + 3 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 247 (*Make sure we've got at least a two line window.*) 248 MsgFrame^.startcol := col1; ***** ^ not supported yet ***** ^ not supported yet 249 MsgFrame^.startrow := row1; ***** ^ not supported yet ***** ^ not supported yet 250 MsgFrame^.endcol := col2; ***** ^ not supported yet ***** ^ not supported yet 251 MsgFrame^.endrow := row2; ***** ^ not supported yet ***** ^ not supported yet 252 MsgFrame^.action := 'I'; ***** ^ not supported yet ***** ^ not supported yet 253 MsgFrame^.normfor := TheFrame^.msgfor; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 254 MsgFrame^.normbak := TheFrame^.msgbak; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 255 MsgFrame^.normatrb := TheFrame^.msgatrb; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 256 ScrnUtl1.SetNormalColors( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 257 ScrnUtl2.ListToFrame( TheList, MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 258 FramePainter.ShowDisplayFrame( MsgFrame, 0, 0, 0, 0 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 259 InputManager.ControlFrame( MsgFrame, 1, '', FALSE, DummyName ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 260 FrameManager.EraseFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 261 ScrnUtl2.CloseDisplayFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 262 InputManager.LookAlive( TheFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 263 END LstMsgBoxExterior; ***** ^ not supported yet 264 265 266 PROCEDURE StrMsgBoxExterior( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 267 locatn : VWindows.Compass; TheStr : ARRAY OF CHAR ); ***** ^ not supported yet ***** ^ not supported yet 268 VAR 269 TmpList: GenLists.GenList; ***** ^ not supported yet 270 BEGIN 271 GenLists.NewList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 272 GenLists.ListInsert( TheStr, GenLists.StrCode, TmpList, 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 273 LstMsgBoxExterior( TheFrame, locatn, TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 274 GenLists.DisposeList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 275 END StrMsgBoxExterior; ***** ^ not supported yet 276 277 278 PROCEDURE MsgOkay( TheFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 279 locatn : VWindows.Compass; TheStr : ARRAY OF CHAR ): BOOLEAN; ***** ^ not supported yet ***** ^ not supported yet 280 VAR 281 TmpList: GenLists.GenList; ***** ^ not supported yet 282 MsgFrame: ScrnTypes.DisplayFrame; ***** ^ not supported yet 283 LinesAdded, BytesAdded : INTEGER; 284 StartLine, CursorLine, CursorCol, 285 col1, row1, col2, row2, ListEnd : CARDINAL; 286 BytePos: LONGINT; 287 NextFrame: ScrnTypes.AFrameName; ***** ^ not supported yet 288 blank: CHAR; 289 BEGIN 290 291 blank := ' '; 292 GenLists.NewList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 293 GenLists.ListInsert( TheStr, GenLists.StrCode, TmpList, 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 294 295 ListUtils.InsertIntoElmt( TmpList, 1, SYSTEM.ADR(blank), 1, 0 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 296 (* We insert a blank so that ReformPara will know to put 297 a leading blank on each line; keeps message from crowding 298 left edge of box. *) 299 300 StartLine := 1; 301 CursorLine := 1; 302 CursorCol := 1; 303 BytePos := NumTypes.L0; ***** ^ not supported yet ***** ^ not supported yet 304 ListUtils.ReformPara( TmpList, 1, 32, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 305 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 306 (* We're reformatting twice here -- first to help us find 307 a good location for the window, and second to 308 determine how large the window should be. *) 309 310 StartLine := 1; 311 (* Reset StartLine because it moves to end of paragraph 312 in ReformPara above. *) 313 FindExteriorCoords( locatn, ListUtils.LongestLine(TmpList), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 314 GenLists.ListLength(TmpList), col1, row1, col2, row2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 315 316 ListUtils.ReformPara( TmpList, 1, (col2 - col1) - 1, StartLine, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 317 CursorLine, CursorCol, LinesAdded, BytesAdded, BytePos ); ***** ^ not supported yet 318 ListEnd := GenLists.ListLength(TmpList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 319 320 ScrnTypes.InitDisplayFrame( MsgFrame, TheFrame^.WindowHandle ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 321 322 row2 := Numbers.Min( row2, row1 + ListEnd + 3 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 323 row2 := Numbers.Max( row2, row1 + 3 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 324 (*Make sure we've got at least a two line window.*) 325 MsgFrame^.startcol := col1; ***** ^ not supported yet ***** ^ not supported yet 326 MsgFrame^.startrow := row1; ***** ^ not supported yet ***** ^ not supported yet 327 MsgFrame^.endcol := col2; ***** ^ not supported yet ***** ^ not supported yet 328 MsgFrame^.endrow := row2; ***** ^ not supported yet ***** ^ not supported yet 329 MsgFrame^.action := 'I'; ***** ^ not supported yet ***** ^ not supported yet 330 MsgFrame^.EntryBox := VWindows.SingleBox; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 331 MsgFrame^.normfor := TheFrame^.msgfor; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 332 MsgFrame^.normbak := TheFrame^.msgbak; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 333 MsgFrame^.normatrb := TheFrame^.msgatrb; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 334 ScrnUtl1.SetNormalColors( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 335 336 ScrnUtl2.ListToFrame( TmpList, MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 337 338 ControlUtils.AddMenuItem( MsgFrame, 4, ListEnd + 3, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 339 'Okay', 4, ORD('O'), 'Okay' ); ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 340 ControlUtils.AddMenuItem( MsgFrame, 12, ListEnd + 3, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 341 'Cancel', 6, ORD('C'), 'Cancel' ); ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 342 343 FramePainter.ShowDisplayFrame( MsgFrame, 0, 0, 0, 0 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 344 InputManager.ControlFrame( MsgFrame, 1, '', FALSE, NextFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 345 FrameManager.EraseFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 346 ScrnUtl2.CloseDisplayFrame( MsgFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 347 InputManager.LookAlive( TheFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 348 349 GenLists.DisposeList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 350 RETURN PosUtils.Equal( NextFrame, 'Okay' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 351 END MsgOkay; ***** ^ not supported yet 352 353 BEGIN 354 Initialized := FALSE; 355 Init(); ***** ^ not supported yet ***** ^ not supported yet 356 END MsgBox2. ***** ^ not supported yet 509 errors