| 1 | ENJINJ3 ;(WASH ISC)/JA/TJK-Screen Input ;2.26.97 | 
|---|
| 2 | ;;7.0;ENGINEERING**35**;;Aug 17, 1993 | 
|---|
| 3 | ;  Modified with **35** to handle escape sequences (ex: arrow keys) | 
|---|
| 4 | Z ; | 
|---|
| 5 | S DJSM=0,DJLG=+DJJ(V)+1 | 
|---|
| 6 | D INITKB^XGF($C(9,13)) S X=$$READ^XGF("") S DJZ='$D(DTOUT) S:'DJZ X="^" | 
|---|
| 7 | I X="",$G(XGRT)]"" D | 
|---|
| 8 | . ; can only use jump navigation when data not entered in field | 
|---|
| 9 | . I "UP^LEFT"[XGRT D  Q | 
|---|
| 10 | . . ; jump to previous field that is not read-only | 
|---|
| 11 | . . N I,J,K | 
|---|
| 12 | . . S I=V,K=0 F  S I=$O(^ENG(6910.9,DJN,1,"A",I),-1) Q:I<1  D  Q:K | 
|---|
| 13 | . . . S J=$O(^ENG(6910.9,DJN,1,"A",I,0)) | 
|---|
| 14 | . . . I '$P($G(^ENG(6910.9,DJN,1,J,0)),U,7) S K=I | 
|---|
| 15 | . . S X="^"_$S(K:K,1:V) | 
|---|
| 16 | . I XGRT="PREV" S X="^U" Q | 
|---|
| 17 | . I XGRT="NEXT" S X="^D" Q | 
|---|
| 18 | S:X="" DJSM=1 | 
|---|
| 19 | D RESETKB^XGF | 
|---|
| 20 | ; | 
|---|
| 21 | Z1 I $L(X)>(DJLG-1) W @IOBS," ",*7 X XY S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="" W V(V) W:$D(DJDB) DJDB K DJDB X XY G Z | 
|---|
| 22 | I X?1"^".E!(X?1"?".E) S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="" X XY W @DJHIN X XY W V(V) W:$D(DJDB) DJDB W @DJLIN K DJDB X XY Q | 
|---|
| 23 | Q | 
|---|
| 24 | N R !,"Repaint screen(Y/N): N//",DJX:DTIME I DJX["?" W !,*7,"Please enter 'Y'es or 'N'o." G N | 
|---|
| 25 | Q:"Yy"'[$E(DJX)!(DJX="")  S DJSV=V D N^ENJDPL S V=DJSV Q | 
|---|
| 26 | B S $P(DJDB," ",DJJ(V)-$L(V(V)))="" Q | 
|---|
| 27 | D S $P(DJDB,".",DJJ(V))="." Q | 
|---|