home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / rbsrc / rb-eview.scr < prev    next >
Text File  |  1988-04-13  |  47KB  |  1 lines

  1. (                                              23:06 02/22/87 ) ( Last change:   Screen  008               hs  08:12 02/04/87 )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \ Load Screen                                  E 11:13 04/11/88                                                                 : MARKER ;                                                      2 45 THRU                                                       2 45 THRU                                                       BSAVE OVERLAY RBEVIEW                                           FORGET MARKER                                                   BYE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             \ Overlay Screen                                 16:48 04/13/88                                                                                                                                 FORTH DEFINITIONS DECIMAL                                       BSTART OVERLAY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ( variables -- window                          10:16 02/09/87 )                                                                 VARIABLE 'HELP                                                  VARIABLE FILL-CHAR                                              VARIABLE CURFILE                                                                                                                0 0  23 79 WINDOW CURRENTW       \ current window               1 1  21 77 WINDOW VIRTUALW       \ the work window              5 5  10 35 WINDOW FIELDW                                                                                                        0 0 0 0 WINDOW WND1                                             0 0 0 0 WINDOW WND2                                             0 0 0 0 WINDOW WND3                                                                                                             CREATE WNDS  WND1 , WND2 , WND3 ,                                                                                               ( constants                                    11:20 11/18/87 )                                                                 INCLUDE VIEW.DEF                                                                                                                1 CONSTANT VERT                  \ vertical                     2 CONSTANT HORZ                  \ horizontal                   3 CONSTANT RGT                   \ right                        4 CONSTANT LFT                   \ left                         5 CONSTANT UPP                                                  6 CONSTANT DWN                                                                                                                  0 EQU ANCHOR                    0 EQU CDETAIL                   0 EQU CSELECTOR                 0 EQU DUMMY                                                                                     0 CONSTANT SELECTOR                                             1 CONSTANT DETAIL                                               \                                                13:59 03/16/88                                                                 INCLUDE FIELD.DEF                                               INCLUDE FILES.DEF                                               INCLUDE LCGLOBAL.DEF                                                                                                            DICTIONARY VIEW.DCT TEST.VW                                     DICTIONARY WRK.DCT NULL                                         DICTIONARY D1.DCT NULL                                          DICTIONARY D2.DCT NULL                                                                                                          VARIABLE #CHARS #CHARS OFF                                                                                                                                                                                                                                                                                                      ( relative coords                              09:21 10/21/87 )                                                                 ( -- col row )                                                  : ?XY-WINDOW  ?XY CURRENTW WINDOW-ROW C@ - >R                                 CURRENTW WINDOW-COL C@ - R> ;                                                                                     ( col row -- addr len )                                         : RC->STR    100 * + S>D <# # # ASCII , HOLD # # #> ;                                                                                                                                           : TITS       PAD 80 BLANK                                                    0 24 FULLW REV 80 PAD WND-STR!                                  2 24 FULLW REV 30 LC.BUFF LC.DESCR WND-STR!                    45 24 FULLW REV " Design a View"  WND-CSTR! ;                                                                                                                                       ( coord                                        15:52 11/18/87 )                                                                 : COORD      70 24 FULLW REV ?XY RC->STR SWAP WND-STR! ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( help-disp                                    11:36 02/10/87 )                                                                                                                                 : CLEAR      VIRTUALW BOX-CLR                                                0 0 GOTOXY                                                      32 FILL-CHAR !                                                  0 CURRENTW WINDOW-COL !                                         0 0              ;                                                                                                 ( char -- t/f )                                                 : ISASCII   126 32 ISSET ;                                                                                                                                                                                                                                                                                                                                                                      ( draw-horz                                    11:41 11/18/87 )                                                                 : DRAW-HORZ   VW.BUFF VW.1ST C@                                               HORZ = IF ?XY NIP                                                         79 1 ?DO I OVER FULLW HIL 196 WND-CHAR!                              LOOP DROP EXIT                                          THEN                                                   VW.BUFF VW.2ND C@  ?DUP IF                                      CASE                                                              RGT OF ?XY FULLW HIL 195 ?XY SWAP 78 SWAP    ENDOF              LFT OF ?XY FULLW HIL 180 ?XY SWAP 1          ENDOF            ENDCASE                                                         ?DO I OVER FULLW HIL 196 WND-CHAR! LOOP DROP                    WND-CHAR!                                                       THEN ;                                                                                                              \ draw-verts                                     14:07 04/06/88                                                                 : DRAW-VERTS VW.BUFF VW.1ST C@ VERT =                                        IF ?XY DROP 23 1 ?DO DUP I FULLW HIL 179 WND-CHAR!                               LOOP DROP EXIT                                 THEN                                                            VW.BUFF VW.2ND C@ ?DUP IF                                        CASE                                                              DWN OF ?XY FULLW HIL 194 ?XY 1+ 23 SWAP ENDOF                   UPP OF ?XY FULLW HIL 193 ?XY    1       ENDOF                 ENDCASE                                                           ?DO DUP I FULLW HIL 179 WND-CHAR! LOOP DROP                     WND-CHAR!                                                    THEN ;                                                                                                                                                                             \ draw-lines                                     14:08 04/06/88                                                                 : DRAW-LINES  VW.BUFF VW.1ST C@                                               CASE                                                              VERT OF DRAW-VERTS DRAW-HORZ ENDOF                              HORZ OF DRAW-HORZ DRAW-VERTS ENDOF                            ENDCASE ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ( down                                         11:40 11/18/87 )                                                                                                                                 : UP   ?XY-WINDOW NIP 1 = IF ERRTONE 00 00                                                      ELSE 00 -1 THEN   ;                                                                             : DOWN ?XY-WINDOW NIP                                                  CURRENTW WINDOW-#ROW C@ 1- =                                    IF ERRTONE 00 00 ELSE 00 01 THEN ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ( right & left                                 11:51 02/09/87 )                                                                                                                                 : RIGHT ?XY-WINDOW DROP 1 = IF ERRTONE 00 00                                                ELSE -1 00 THEN   ;                                                                                                                                                 : LEFT ?XY-WINDOW DROP                                                 CURRENTW WINDOW-#COL C@ 1- =                                    IF ERRTONE 00 00 ELSE 01 00 THEN ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ( clear mark & set mark                        09:58 11/12/87 )                                                                 : CLR-MARK  ?XY DUP 0 SWAP FULLW NOR 32 WND-CHAR!                           79 SWAP FULLW NOR 32 WND-CHAR! DUP                               0 FULLW NOR 32 WND-CHAR!                                       23 FULLW NOR 32 WND-CHAR! ;                                                                                         : SET-MARK  ?XY DUP 0 SWAP FULLW NOR 16 WND-CHAR!                           79 SWAP FULLW NOR 17 WND-CHAR! DUP                               0 FULLW NOR 31 WND-CHAR!                                       23 FULLW NOR 30 WND-CHAR! ;                                                                                                                                                                                                                                                                                                                                                         \ go-v                                           14:14 03/16/88                                                                 : @1ST      VW.BUFF VW.1ST C@ ;                                 : @2ND      VW.BUFF VW.2ND C@ ;                                                                                                 : GO-V      VERT VW.BUFF VW.1ST C! 0 VW.BUFF VW.2ND C! 0 0 ;    : GO-H      HORZ VW.BUFF VW.1ST C! 0 VW.BUFF VW.2ND C! 0 0 ;                                                                    : DO-RGT    @1ST VERT = IF RGT VW.BUFF VW.2ND C! THEN 0 0 ;     : DO-LFT    @1ST VERT = IF LFT VW.BUFF VW.2ND C! THEN 0 0 ;                                                                     : DO-UP     @1ST HORZ = IF UPP VW.BUFF VW.2ND C! THEN 0 0 ;     : DO-DWN    @1ST HORZ = IF DWN VW.BUFF VW.2ND C! THEN 0 0 ;                                                                     : !2ND      VW.BUFF VW.2ND C! 0 0 ;                             : !1ST      VW.BUFF VW.1ST C! 0 0 ;                             ( process                                  hs  08:12 02/04/87 )                                                                 : PROCESS  PCKEY ?DUP 0= IF 100 + THEN                                     CASE                                                  168 OF -1 00 00    ENDOF ( f10   f1 ) 159 OF 0 0 0       ENDOF   27 OF 0  00 00    ENDOF ( esc   U  )  85 OF 0 DO-UP     ENDOF   72 OF 0 GO-H      ENDOF ( H     D  )  68 OF 0 DO-DWN    ENDOF  172 OF 0 UP        ENDOF ( up    dw ) 180 OF 0 DOWN      ENDOF  177 OF 0 LEFT      ENDOF ( lft   rg ) 175 OF 0 RIGHT     ENDOF   76 OF 0 DO-LFT    ENDOF ( L     V  )  86 OF 0 GO-V      ENDOF   78 OF 0 0 !2ND    ENDOF ( N     R  )  82 OF 0 DO-RGT    ENDOF            0 SWAP 0 SWAP 0 SWAP                                            ENDCASE CLR-MARK                                                ?XY ROT + >R + R> GOTOXY COORD                                  SET-MARK VIRTUALW BOX-CLR                                       DRAW-LINES ;                                         ( mode choice                                  16:42 10/27/87 )                                                                 : MODES  " Create    Modify    cUstomize print List" ;                                                                          MODES  3 10 10 CHOICE MODEC               \ operation mode      3  2  4 14 WINDOW MODEW                   \ mode window                                                                         : @MODE  " DataBases" NONE SINGLE MODEW OPEN-WINDOW                      MODEW MODEC CHOOSE                                              MODEW CLOSE-WINDOW                                              CASE                                                               0 OF           0 ENDOF                                          1 OF NOOP     -1 ENDOF                                          2 OF NOOP     -1 ENDOF                                       ENDCASE ;                                                                                                              \ screen labels                                  10:39 04/06/88                                                                 : !WND-XY    ( cl row baddr ----  )                                          SWAP DUP 1 = IF DROP 0 THEN SWAP                                DUP ROT SWAP W.RW C! W.CL C! ;                                                                                     : SCR#1  1 0 0 'WNDB !WND-XY 1 1 FULLW REV " One " WND-CSTR!             1 VW.BUFF VW.#WNDS C! ;                                                                                                : SCR#2  ( offc offr col rw -- )                                         2DUP 1 'WNDB !WND-XY ROT + -ROT + SWAP                          FULLW REV "  Two " WND-CSTR! 2 VW.BUFF VW.#WNDS C! ;                                                                   : SCR#3  ( offc offr col rw -- )                                         2DUP 2 'WNDB !WND-XY ROT + -ROT + SWAP                          FULLW REV " Three " WND-CSTR! 3 VW.BUFF VW.#WNDS C! ;  \ h.scr2&3                                       10:33 04/06/88                                                                 : H.SCR2&3  VW.BUFF VW.1ST C@ HORZ =                                        IF VW.BUFF VW.2ND C@                                             CASE                                                              0 OF 0 2 ?XY NIP 0 SWAP SCR#2 ENDOF                           UPP OF 2 0 ?XY DROP 1 SCR#2 1 2 ?XY NIP 0 SWAP                         SCR#3 ENDOF                                              DWN OF 1 2 ?XY NIP 0 SWAP SCR#2 2 2 ?XY SCR#3                          ENDOF                                                    ENDCASE                                                        THEN ;                                                                                                                                                                                                                                                                                                              \ v.scr2&3                                       09:01 04/06/88                                                                 : V.SCR2&3  VW.BUFF VW.1ST C@ VERT =                                        IF VW.BUFF VW.2ND C@                                             CASE                                                              0 OF 2 0 ?XY DROP 0 SCR#2 ENDOF                               RGT OF 2 1 ?XY DROP 0 SCR#2 2 2 ?XY SCR#3 ENDOF                 LFT OF 2 1 ?XY DROP 0 SCR#2 0 2 ?XY NIP 0 SWAP                         SCR#3 ENDOF                                              ENDCASE                                                        THEN ;                                                                                                              : LABEL-SCR  SCR#1 H.SCR2&3 V.SCR2&3 ;                                                                                          : ?QA        ?XY SWAP 1- SWAP ;                                                                                                 \ areas                                          14:16 04/06/88                                                                 : RCNONE @1ST HORZ = IF                                                  ?QA NIP DUP 0 'WNDB W.#ROWS C!                                  23 SWAP - 1 'WNDB W.#ROWS C! THEN                               @1ST VERT = IF                                                  ?QA DROP DUP 0 'WNDB W.#COLS C!                                 78 SWAP - 1 'WNDB W.#COLS C! THEN ;                                                                                    : RCUPP  ?QA 0 'WNDB W.#ROWS C! 0 'WNDB W.#COLS C!                       ?QA 1 'WNDB W.#ROWS C! 78 SWAP - 1 'WNDB W.#COLS C!             ?QA NIP 23 SWAP - 2 'WNDB W.#ROWS C! ;                                                                                 : RCDWN  ?QA NIP 0 'WNDB W.#ROWS C!                                      ?QA 23 SWAP - DUP 1 'WNDB W.#ROWS C! 2 'WNDB W.#ROWS C!         DUP 1 'WNDB W.#COLS C! 78 SWAP - 2 'WNDB W.#COLS C! ;  \ areas                                          14:16 04/06/88                                                                 : RCRGT ?QA DROP 0 'WNDB W.#COLS C!                                     ?QA 1 'WNDB W.#ROWS C! 78 SWAP - DUP 1 'WNDB W.#COLS C!         2 'WNDB W.#COLS C! ?QA NIP 23 SWAP - 2 'WNDB W.#ROWS C!         ;                                                                                                                                                                                                                                                       : RCLFT ?QA 0 'WNDB W.#ROWS C! DUP 0 'WNDB W.#COLS C!                   2 'WNDB W.#COLS C!                                              ?QA 23 SWAP - 2 'WNDB W.#ROWS C!                                78 SWAP - 1 'WNDB W.#COLS C! ;                                                                                                                                                                                                                          \ finished                                       08:16 04/06/88                                                                                                                                 : FINISHED   ?XY VW.BUFF VW.CROW C! VW.BUFF VW.CCOL C!                       LABEL-SCR                                                       23 78 2DUP 0 'WNDB W.#COLS C! 0 'WNDB W.#ROWS C!                2DUP 1 'WNDB W.#COLS C! 1 'WNDB W.#ROWS C!                      2 'WNDB W.#COLS C! 2 'WNDB W.#ROWS C!                           @2ND CASE                                                              0 OF RCNONE         ENDOF                                     UPP OF RCUPP          ENDOF                                     DWN OF RCDWN          ENDOF                                     RGT OF RCRGT          ENDOF                                     LFT OF RCLFT          ENDOF                                     ENDCASE ;                                                                                                     \ woowoo                                         10:10 04/11/88                                                                 : WOOWOO  ( --- )                                                 0 'WNDB W.#COLS WND1 WINDOW-#COL 4 CMOVE                        1 'WNDB W.#COLS WND2 WINDOW-#COL 4 CMOVE                        2 'WNDB W.#COLS WND3 WINDOW-#COL 4 CMOVE ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \                                                12:25 04/06/88                                                                 : .SHOWXY    ( buff --- )                                                    DUP W.RW C@ . SPACE DUP W.CL C@ . SPACE                         DUP W.#ROWS C@ . SPACE W.#COLS C@ . SPACE ;                                                                        : .P      CR ." Wnd1= " 0 'WNDB .SHOWXY                                   CR ." Wnd2= " 1 'WNDB .SHOWXY                                   CR ." Wnd3= " 2 'WNDB .SHOWXY CR ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \ testit                                         09:12 04/07/88                                                                 DICTIONARY T.DAT  LOCUS\QF#2.DAT                                                                                                ' NO.COND T.DAT WRK.BUFF 1 25 DCT-CHOICE TESTC                                                                                  : TESTIT      T.DAT OPEN-DICTIONARY 0                                         3 0 ?DO I 'WNDB W.VTYPE? C@ SELECTOR =                                  IF DROP I LEAVE THEN LOOP                               2* WNDS + @ DUP WND-CLR                                         TESTC DCT-CHOOSE DROP                                           T.DAT CLOSE-DICTIONARY ;                                                                                                                                                                                                                                                                                          \ @selector                                      08:26 04/07/88                                                                 : wnds    " One       Two       Three     " ;                   wnds 3 10 10 CHOICE TC                                                                                                          5 5 4 15 WINDOW SELW                                                                                                            : @SELECTOR " Selector in" NONE DOUBLE SELW OPEN-WINDOW                     VW.BUFF VW.#WNDS C@ TC 2+ !                                     BEGIN                                                             SELW TC CHOOSE ?DUP                                           UNTIL SELW CLOSE-WINDOW 1- DUP EQU CSELECTOR                    SELECTOR OVER 'WNDB W.VTYPE? C!                                 ANCHOR SWAP 'WNDB W.FILE C! ;                                                                                                                                                       \ sel-lne.bld                                    13:24 04/07/88                                                                 CREATE FMT.PAD 40 ALLOT                                                                                                         : scan.lne    ( --- 0-3 for offset, -1 for not found )                        -1 4 0 ?DO FLD.BUFF FLD.OFFSET @ I 'SEL                                    SEL.OFF @ = IF DROP I LEAVE THEN LOOP ;                                                                                                                                : new-fmt     ( cb --- len addr )                                             DROP FMT.PAD 40 BLANK                                           FLD.BUFF FLD.NAME FMT.PAD 1+ 20 CMOVE                           scan.lne DUP -1 <> IF 0 <# # #> FMT.PAD 27 + SWAP                                  CMOVE ELSE DROP THEN                         30 FMT.PAD ;                                                                                                      \ new-key                                        11:06 04/12/88                                                                 : new-key  PCKEY DUP 13 = IF DROP FLD.BUFF FLD.TYPE C@ 3 <> IF             0 4 0 ?DO I 'SEL SEL.OFF @ 0= IF DROP I 1+ LEAVE THEN                 LOOP                                                      ?DUP IF 1- 'SEL FLD.BUFF FLD.OFFSET @ OVER SEL.OFF !                    FLD.BUFF FLD.TYPE C@ OVER SEL.TYPE C!                           FLD.BUFF FLD.LENGTH C@ OVER SEL.LEN C!                          FLD.BUFF FLD.MS/LS @ SWAP SEL.MS/LS !                        THEN                                                       THEN 80 THEN ;                                                                                                                                                                                                                                                                                                                                                                       \ @fld                                           13:43 04/07/88                                                                                                                                 ' new-key ' new-fmt                                             ' NO.COND WRK.DCT FLD.BUFF 0 0 DCT-CHOICE TESTC                                                                                 : @SEL-FLDS " Selector Line" LISTL SINGLE FIELDW OPEN-WINDOW                FIELDW TESTC DCT-CHOOSE DROP                                    FIELDW CLOSE-WINDOW ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               \ free-det                                       14:52 04/11/88                                                                                                                                 : ?FREE-DET  ( --- 1-15 for slot, 0 for nothing )                            0 15 0 ?DO I CDETAIL 'DETAILS DT.OFFSET @ 0=                               IF DROP I 1+ LEAVE THEN LOOP ;                                                                                                                                                                                                                                                                                                                                                                                                          ' NO.COND D1.DCT FLD.BUFF 0 FLD.NAME 20 DCT-CHOICE FLDC                                                                                                                                                                                                         \ @field                                         13:34 04/11/88                                                                 : @FIELD  " Fields" LISTL DOUBLE FIELDW OPEN-WINDOW -CUR                  FIELDW FLDC DCT-CHOOSE                                          FIELDW CLOSE-WINDOW +CUR IF                                       FLD.BUFF FLD.TYPE C@ 3 <> IF     \ no relationships               ?FREE-DET ?DUP IF 1- CDETAIL 'DETAILS                             D1.DCT D.LST-READ @ OVER DT.FLD# !                              FLD.BUFF FLD.TYPE C@ OVER DT.TYPE C!                            FLD.BUFF FLD.OFFSET @ OVER DT.OFFSET !                          FLD.BUFF FLD.LENGTH C@ OVER DT.LEN C!                           FLD.BUFF FLD.MS/LS @ OVER DT.MS/LS !                            ?XY-WINDOW ROT TUCK DT.RW C! DT.CL C!                           FLD.BUFF FLD.NLEN C@ 0                                          ?DO FLD.BUFF FLD.NAME I + C@ EMIT LOOP THEN               THEN THEN 0 0 ;                                       \ lc/cr                                          14:28 04/11/88                                                                 : HOME   ?XY-WINDOW DROP 1- NEGATE 0 ;                                                                                          ( -- cl-off rw-off )                                            : LF/CR  HOME DROP                                                       DOWN NIP ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             \ dproc                                    hs  0 13:15 04/11/88                                                                 : DPROC    PCKEY ?DUP 0= IF 100 + THEN                                     CASE                                                  168 OF -1 00 00    ENDOF ( f10   f1 ) 159 OF 0 0 0       ENDOF   27 OF 0  00 00    ENDOF ( esc   f2 ) 160 OF 0 @FIELD    ENDOF   13 OF 0  LF/CR    ENDOF (          ) 171 OF 0 HOME      ENDOF  172 OF 0 UP        ENDOF ( up    dw ) 180 OF 0 DOWN      ENDOF  177 OF 0 LEFT      ENDOF ( lft   rg ) 175 OF 0 RIGHT     ENDOF  032 OF 0 LEFT      ENDOF                                                  0 SWAP 0 SWAP 0 SWAP                                            ENDCASE                                                         ?XY ROT + >R + R> GOTOXY COORD ;                                                                                                                                                                                                                     \ ?dvalid                                        14:57 04/12/88                                                                 : ?DVALID  ( #file  --- t/f )                                              DUP ANCHOR = IF DROP -1 EXIT THEN                               0 WRK.DCT D.HU @ 0 ?DO                                            FLD.BUFF I WRK.DCT DICT-READ                                    FLD.BUFF FLD.TYPE C@ 3 =                                        IF FLD.BUFF FLD.RELATION @ 2 PICK =                              IF FLD.BUFF FLD.OFFSET @ CDETAIL 'WNDB W.ROFF !                    -1 LEAVE THEN                                               THEN LOOP NIP ;                                                                                                                                                                                                                                                                                                                                                                    \ @detail                                        15:08 04/12/88                                                                                                                                 : @detail   ( #wnd --- file+1, or 0 )                                       BEGIN DUP 16 *                                                  " Wnd #1 -- DetailWnd #2 -- DetailWnd #3 -- Detail"             1+ + 16 STRPCK @ACTIVES ?DUP                                    0= IF 0 -1 ELSE 1- DUP ?DVALID IF 1+ -1 ELSE                       DROP 0 THEN THEN                                             UNTIL NIP ;                                                                                                                                                                                                                                                                                                                                                                                                                                         \ @det-file                                      10:43 04/11/88                                                                 : @DET-FILE ( #wnd --- )                                                    DUP @detail ?DUP                                                IF 1- D1.DCT OVER NAME>DCT                                         OVER 'WNDB W.FILE !                                             'WNDB W.#COLS CURRENTW WINDOW-#COL 4 CMOVE                      CURRENTW WND-CLR                                                1 1 CURRENTW WND-GOTOXY                                         D1.DCT OPEN-DICTIONARY                                          BEGIN DPROC UNTIL                                               D1.DCT CLOSE-DICTIONARY                                      ELSE DROP THEN ;                                                                                                                                                                                                                                    \ @detail                                        10:18 04/11/88                                                                 : @DETAILS  VW.BUFF VW.#WNDS C@ 0                                           ?DO I 'WNDB W.VTYPE? C@ DETAIL =                                    IF I EQU CDETAIL                                                   I @DET-FILE THEN LOOP ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      \ vwinit                                         08:50 04/07/88                                                                 : VWINIT  VW.BUFF SIZEOF VIEW ERASE                                       WRK.DCT ANCHOR NAME>DCT                                         3 0 ?DO                                                               DETAIL I 'WNDB W.VTYPE? C!                                      ANCHOR I 'WNDB W.FILE C!                                       LOOP ;                                                                                                           5 5  4  45 WINDOW INFW                                                                                                          : @DESCR " View Description" EDITL SINGLE INFW OPEN-WINDOW               2 2 INFW NOR " Description:" WND-CSTR!                         15 2 INFW VW.BUFF VW.DESCR 30 @STRING DROP                       INFW CLOSE-WINDOW ;                                                                                                    ( view-add                                     10:19 11/17/87 )                                                                 : VIEW-ADD VWINIT @DESCR CLS                                               TITS WRK.DCT OPEN-DICTIONARY                                    1 1 CURRENTW WND-GOTOXY                                         SET-MARK DRAW-LINES                                             0 FLD.BUFF FLD.FLG C! -CUR                                      BEGIN PROCESS UNTIL +CUR                                        FINISHED WOOWOO                                                 @SELECTOR @SEL-FLDS @DETAILS                                    VW.BUFF VIEW.DCT ADD-ITEM DROP                                  CLR-MARK +CUR CLS                                               WRK.DCT CLOSE-DICTIONARY ;                                                                                                                                                                                                                           \ @view                                          14:14 04/13/88                                                                 3 3 10 35 WINDOW VIEWW                                                                                                          ' NO.COND VIEW.DCT VW.BUFF 0 VW.DESCR 30 DCT-CHOICE VIEWC                                                                       : @VIEW   ( --- 0/none,view+1 )                                           " Actives Views" LISTL SINGLE VIEWW OPEN-WINDOW                 VIEWW VIEWC DCT-CHOOSE                                          VIEWW CLOSE-WINDOW ;                                                                                                                                                                  : VIEW-DEL ( --- )                                                         @VIEW ?DUP IF 1- VIEW.DCT DEL-ITEM THEN ;                                                                                                                                            \ @mode                                          14:21 04/13/88                                                                 : MODES  " Create    Delete    " ;                                                                                              MODES  2 10 10 CHOICE MODEC               \ operation mode                                                                      3  2  4 14 WINDOW MODEW                   \ mode window                                                                         : @MODE  " Views" NONE SINGLE MODEW OPEN-WINDOW                          MODEW MODEC CHOOSE                                              MODEW CLOSE-WINDOW ;                                                                                                                                                                                                                                                                                                                                                                   \ rbeview                                        14:18 04/13/88                                                                 : RBEVIEW  ( --- )                                                         " View Maintenance" @ACTIVES ?DUP IF                             1- EQU ANCHOR                                                   VIEW.DCT ANCHOR NAME>VIEW                                       VIEW.DCT OPEN-DICTIONARY                                        @MODE                                                           CASE                                                              1 OF VIEW-ADD ENDOF                                             2 OF VIEW-DEL ENDOF                                           ENDCASE                                                         VIEW.DCT CLOSE-DICTIONARY THEN ;                                                                                                                                                                                                                    \ Excises                                        16:50 04/13/88                                                                 EXCISE ANCHOR CDETAIL                                           EXCISE CSELECTOR DUMMY