File:  [Coherent Logic Development] / freem_fileman / USER / DDBR4.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:19 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DDBR4	;SFISC/DCL-LOAD CURRENT LIST :13 AM  27 Dec 1993;10:28 AM  28 Jun 1994
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: LOADCL(DDBSA,DDBFLG,DDBPMSG,DDBL,DDBC,DDBLST)	;
    5: 	;DDBSA=source array by value
    6: 	;DDGFLG=no flags currently available
    7: 	;DDBPMSG=text to be displayed (centered) on top line
    8: 	;DDBL=display line default 1st screen/line (22 in most cases)
    9: 	;DDBC=location of column tab array used with right/left arrow keys
   10: 	;DDBLST=location of current list (BROWSER expects ^TMP("DDBLST",$J))
   11: 	I $G(DDBSA)']"" N X S X(1)="SOURCE ARRAY("_DDBSA_")" D BLD^DIALOG(202,.X) Q
   12: 	I '$D(@DDBSA) N X S X(1)="SOURCE ARRAY("_DDBSA_")" D BLD^DIALOG(202,.X) Q
   13: 	N DDBRE,DDBLN,DDBRPE,DDBPSA,DDBTO,I,X,Y
   14: 	N DDBFNO,DDBDM,DDBSF,DDBTL,DDBTPG,DDBZN,DDBFTR,DDBHDR,DDBST
   15: 	S DDBHDR=$$CTXT($G(DDBPMSG,"VA FileMan Browser"),$J("",IOM+1),IOM)
   16: 	S DDBTL=$P($G(@DDBSA@(0)),"^",3) S:DDBTL'>0 DDBTL=$O(@DDBSA@(" "),-1)
   17: 	I DDBTL'>0 D  I DDBTL'>0 D BLD^DIALOG(1700,"*NO TEXT* "_DDBSA) Q
   18: 	.N I S I=0 F  S I=$O(@DDBSA@(I)) Q:I'>0  S DDBTL=I
   19: 	.Q
   20: 	S DDBZN=$D(@DDBSA@(DDBTL,0))#2,DDBTPG=DDBTL\DDBSRL+(DDBTL#DDBSRL'<1),DDBDM=DDBSA="^TMP(""DDB"",$J)",DDBSF=1
   21: 	S DDBC=$G(DDBC,"^TMP(""DDBC"",$J)")
   22: 	S DDBPSA=0,DDBFLG=$G(DDBFLG)
   23: 	S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
   24: 	S (DDBRE,DDBRPE)="",DDBTO=0,DDBST=IOM
   25: 	S DDBLST=$G(DDBLST,"^TMP(""DDBLST"",$J)"),DDBLN=$S($D(@DDBLST@("A",DDBSA)):^(DDBSA),1:$O(@DDBLST@(" "),-1)+1)
   26: 	D SAVEDDB^DDBR2(DDBLST,DDBLN,1)
   27: 	Q
   28: 	;
   29: CTXT(X,T,W)	;Center X in T which is W characters wide (usually spaces) and W for screen width
   30: 	Q:X="" $G(T)
   31: 	N HW
   32: 	S W=$G(W,79),HW=W\2
   33: 	S $E(T,HW-($L(X)\2),HW-($L(X)\2)+$L(X))=X Q T
   34: OREF(X)	N X1,X2 S X1=$P(X,"(")_"(",X2=$$OR2($P(X,"(",2)) Q:X2="" X1 Q X1_X2_","
   35: OR2(%)	Q:%=")"!(%=",") "" Q:$L(%)=1 %  S:"),"[$E(%,$L(%)) %=$E(%,1,$L(%)-1) Q %

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>