Annotation of freem_fileman/USER/DDGF0.m, revision 1.1
1.1 ! snw 1: DDGF0 ;SFISC/MKO-SETUP, CLEANUP ;09:58 AM 9 Sep 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: ;
! 5: D INIT^DDGLIB0() Q:$G(DIERR)
! 6: D SET,GETKEY
! 7: Q
! 8: ;
! 9: SET ;Setup variables
! 10: D:$D(DT)[0 DT^DICRW
! 11: S (DIOVRD,DDGFR)=1,DDGFREF="^TMP(""DDGF"",$J)",DDGFCHG=0
! 12: K @DDGFREF,DDGFFM
! 13: Q
! 14: ;
! 15: END ;Clear screen, clean up variables
! 16: I $D(DDGFFM)#2 D RECOMP
! 17: KILL ;
! 18: D:$G(DIERR) MSG^DIALOG("BW")
! 19: X:$D(DDGLZOSF) DDGLZOSF("EON"),DDGLZOSF("TRMOFF")
! 20: D KILL^DDGLIB0()
! 21: K:$D(DDGFREF) @DDGFREF,DDGFREF
! 22: K ^TMP("DDGFH",$J)
! 23: K DDGF,DDGFBV,DDGFCHG,DDGFE,DDGFFILE,DDGFFM,DDGFLIM,DDGFMSG
! 24: K DDGFPG,DDGFR,DDGFWID,DDGFWIDB
! 25: K DDH
! 26: Q
! 27: ;
! 28: RECOMP ;Recompile form
! 29: N DDGFLIST
! 30: S DDGFLIST=$NA(^TMP("DDGFOF",$J))
! 31: D MSG^DDGF("Recompiling ...")
! 32: ;
! 33: D GETBLKS(+DDGFFM,DDGFLIST)
! 34: S DDSQUIET=1 D EN^DDSZ(DDGFFM) K DDSQUIET
! 35: I $D(@DDGFLIST) D
! 36: . N DDGFI
! 37: . S DDGFI=""
! 38: . F S DDGFI=$O(@DDGFLIST@(DDGFI)) Q:'DDGFI D EN^DDSZ(DDGFI)
! 39: . K @DDGFLIST
! 40: ;
! 41: D MSG^DDGF("")
! 42: S DX=0,DY=IOSL-1 X IOXY
! 43: Q
! 44: ;
! 45: GETBLKS(F,L) ;
! 46: ;Determine if any of the blocks loaded are
! 47: ;used on other forms.
! 48: ; L(Form#)="" Other forms that need recompiling
! 49: ;
! 50: N P,B
! 51: S P=0 F S P=$O(@DDGFREF@("F",P)) Q:'P D
! 52: . S B=0
! 53: . F S B=$O(@DDGFREF@("F",P,B)) Q:'B D:'$D(@L@("B",B))
! 54: .. S @L@("B",B)=""
! 55: .. D OTHER(B,F,L)
! 56: K @L@("B")
! 57: Q
! 58: ;
! 59: OTHER(B,F,L) ;
! 60: ;Return list L of forms other than F that use block B
! 61: ; L(Form#)=""
! 62: N F1
! 63: S F1=""
! 64: F S F1=$O(^DIST(.403,"AB",B,F1)) Q:F1="" I F1'=F S @L@(F1)=""
! 65: S F1="" F S F1=$O(^DIST(.403,"AC",B,F1)) Q:F1="" I F1'=F S @L@(F1)=""
! 66: Q
! 67: ;
! 68: GETKEY ;Get key sequences and defaults
! 69: N AU,AD,AR,AL,F1,F2,F3,F4,I,K,N,T
! 70: S AU=$P(DDGLKEY,U,2)
! 71: S AD=$P(DDGLKEY,U,3)
! 72: S AR=$P(DDGLKEY,U,4)
! 73: S AL=$P(DDGLKEY,U,5)
! 74: S F1=$P(DDGLKEY,U,6)
! 75: S F2=$P(DDGLKEY,U,7)
! 76: S F3=$P(DDGLKEY,U,8)
! 77: S F4=$P(DDGLKEY,U,9)
! 78: ;
! 79: F N="","S","D" D
! 80: . S DDGF(N_"IN")="",DDGF(N_"OUT")=""
! 81: . F I=1:1 S T=$P($T(@(N_"MAP")+I),";;",2,999) Q:T="" D
! 82: .. S @("K="_$P(T,";",2))
! 83: .. I DDGF(N_"IN")'[(U_K) D
! 84: ... S DDGF(N_"IN")=DDGF(N_"IN")_U_K
! 85: ... S DDGF(N_"OUT")=DDGF(N_"OUT")_$P(T,";")_U
! 86: . S DDGF(N_"IN")=DDGF(N_"IN")_U
! 87: . S DDGF(N_"OUT")=$E(DDGF(N_"OUT"),1,$L(DDGF(N_"OUT"))-1)
! 88: Q
! 89: ;
! 90: MAP ;Keys for main screen
! 91: ;;LNU;AU; line up
! 92: ;;LND;AD; line down
! 93: ;;CHR;AR; char right
! 94: ;;CHL;AL; char left
! 95: ;;ELR;$C(9); element right
! 96: ;;ELL;"Q"; element left
! 97: ;;TBR;"S"; tab right
! 98: ;;TBL;"A"; tab left
! 99: ;;EXIT;F1_"E"; exit
! 100: ;;QUIT;F1_"Q"; quit
! 101: ;;ROWCOL;"R"; row/col indicator toggle
! 102: ;;SCT;F1_AU; top of screen
! 103: ;;SCB;F1_AD; bottom of screen
! 104: ;;SCR;F1_AR; right edge of screen
! 105: ;;SCL;F1_AL; left edge of screen
! 106: ;;SAVE;F1_"S"; save changes
! 107: ;;SELECT;" "; select an element
! 108: ;;SELECT;$C(13); select an element
! 109: ;;SELFILE;F1_1; select file
! 110: ;;VIEW;F1_"V"; view toggle
! 111: ;;EDIT;F3; edit caption or data length
! 112: ;;FLDADD;F2_"F"; add a new field
! 113: ;;BKADD;F2_"B"; add a new block
! 114: ;;NXTPG;F1_F1_AD; go to next page
! 115: ;;PRVPG;F1_F1_AU; go to previous page
! 116: ;;CLSPG;F1_"C"; close popup page
! 117: ;;PGSEL;F1_"P"; select another page
! 118: ;;PGADD;F2_"P"; add a new page
! 119: ;;PGEDIT;F4_"P"; edit page attributes
! 120: ;;FMSEL;F1_"M"; select another form
! 121: ;;FMADD;F2_"M"; add a new form
! 122: ;;FMEDIT;F4_"M"; edit form attributes
! 123: ;;HELP;F1_"H"
! 124: ;;
! 125: SMAP ;Keys for moving selected gadgets
! 126: ;;LNU;AU; line up
! 127: ;;LND;AD; line down
! 128: ;;CHR;AR; char right
! 129: ;;CHL;AL; char left
! 130: ;;TBR;$C(9); tab right
! 131: ;;TBR;"S"; " "
! 132: ;;TBL;"Q"; tab left
! 133: ;;TBL;"A"; " "
! 134: ;;ROWCOL;"R"; row/col indicator toggle
! 135: ;;SCT;F1_AU; top of screen
! 136: ;;SCB;F1_AD; bottom of screen
! 137: ;;SCR;F1_AR; right edge of screen
! 138: ;;SCL;F1_AL; left edge of screen
! 139: ;;SUBPG;F1_"D"; go into a multiples pop-up page
! 140: ;;DESELECT;" "; deselect an element
! 141: ;;DESELECT;$C(13); deselect an element
! 142: ;;EDIT;F4; edit properties
! 143: ;;REORDER;F1_"O" ; reorder fields in block
! 144: ;;
! 145: DMAP ;Keys for changing data length
! 146: ;;CHR;AR; char right
! 147: ;;CHL;AL; char left
! 148: ;;DONE;$C(13); done
! 149: ;;DONE;" "; done
! 150: ;;DONE;F3; done
! 151: ;;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>