source: WorldVistAEHR/trunk/r/VA_FILEMAN-ARJT-DI-DD-DM-DT-%DT-%RCR/DDBRS.m@ 691

Last change on this file since 691 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 2.3 KB
Line 
1DDBRS ;SFISC/DCL-SET UP SPLIT SCREEN ;NOV 04, 1996@13:55
2 ;;22.0;VA FileMan;;Mar 30, 1999
3 ;Per VHA Directive 10-93-142, this routine should not be modified.
4TB(IOTM,IOBM,TA) ;Set Top and Bottom Margins in Target Array
5 ;pass IOTM, IOBM and TA all by reference **
6 N I,X
7 I (((IOBM-IOTM)+1)#2) S IOBM=IOBM-1
8 S TA(0,"IOTM")=IOTM
9 S TA(0,"IOBM")=IOBM
10ETA S X=((IOBM+1)-(IOTM-1)\2)-2
11 S TA(1,"IOTM")=IOTM
12 S TA(1,"IOBM")=IOTM+X
13 S TA(2,"IOBM")=IOBM
14 S TA(2,"IOTM")=IOBM-X
15ETB D
16 .N IOTM,IOBM
17 .F I=+$G(I):1:2 S IOTM=TA(I,"IOTM"),IOBM=TA(I,"IOBM") D
18 ..S TA(I,"DDBSY")=(IOTM-2)_";"_(IOTM-1)_";"_(IOBM-1)_";"_(IOBM)
19 ..S TA(I,"DDBSRL")=(IOBM-IOTM)+1
20 ..Q
21 .Q
22 Q
23 ;
24ENTB(TA,DDBLD) ;called to reset DDBSY and DDBSRL for resizing split screen
25 ;TA PASSED BY REFERENCE
26 N I
27 S I=1
28 D ETB
29 F I=1,2 S TA(I,"DDBTPG")=TA(I,"DDBTL")\TA(I,"DDBSRL")+(TA(I,"DDBTL")#TA(I,"DDBSRL")'<1)
30 F I="DDBTPG","DDBSY","DDBSRL" S @I=TA(TA,I)
31 I DDBLD<0 S TA(1,"DDBL")=TA(1,"DDBL")-$S(TA(1,"DDBL")>0:1,1:0) Q
32 S TA(1,"DDBL")=TA(1,"DDBL")+$S(TA(1,"DDBL")<TA(1,"DDBTL"):1,1:0) Q
33 Q
34 ;
35INIT(SUB,TA) ;Finish saving variables for TA pass TA by reference **
36 N I G:$G(SUB)]"" SUB
37 F SUB=1,2 D SUB
38 Q
39SUB F I="DDBSRL","DDBHDR","DDBHDRC","DDBTL","DDBSA","DDBSF","DDBST","DDBZN","DDBDM","DDBC","DDBPSA","DDBRPE","DDBPMSG","DDBTPG" S TA(SUB,I)=@I
40 S TA(SUB,"DDBL")=+$G(DDBL)
41 Q
42 ;
43SR(X,Y,ARRAY) ;Save, Restore, Array - Pass Array by reference **
44 D INIT(X,.ARRAY)
45 S X=""
46 F S X=$O(ARRAY(Y,X)) Q:X="" S @X=ARRAY(Y,X)
47 S ARRAY=Y ;* * active array * *
48 Q
49 ;
50FULL(TA) ;Full Screen
51 ;TA passed by reference
52 I TA=1 S DDBL=DDBL+(DDBSRL+2)
53 N I,X
54 F I="IOBM","IOTM","DDBSY","DDBSRL" S @I=TA(0,I)
55 S DDBTPG=DDBTL\DDBSRL+(DDBTL#DDBSRL'<1)
56 S I=1 D ETA
57 W @IOSTBM
58 S TA=0 ;* * active array * *
59 S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
60 D PSR^DDBR0(1)
61 Q
62 ;
63SPLIT ;Split Screen
64 N I
65 F I="IOBM","IOTM","DDBSY","DDBSRL" S @I=DDBRSA(2,I)
66 S DDBTPG=DDBTL\DDBSRL+(DDBTL#DDBSRL'<1)
67 S I=1
68 D INIT("",.DDBRSA)
69 W @IOSTBM
70 S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
71 D PSR^DDBR0(1)
72 D SR(2,1,.DDBRSA)
73 W @IOSTBM
74 S DDBL=DDBL-(DDBSRL+2),DDBRSA(1,"DDBL")=DDBL
75 S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
76 D PSR^DDBR0(1)
77 Q
78 ;
79 ;;NOTE: DDBRSA=0 - full screen
80 ;; DDBRSA=1 - top of split screen
81 ;; DDBRSA=2 - bottom of split screen
Note: See TracBrowser for help on using the repository browser.