- VALM00 ;MJK/ALB - List Manager (cont.);10:04 AM 7 Dec 1992
- ;;1;List Manager;;Aug 13, 1993
- ;
- KEYS(PRTCL,KILL) ; -- set up default objects
- N X,I,Y,NUM,CNT
- K:$G(KILL) VALMKEY
- I VALM("DEFS") D
- .S VALMKEY(10001)=+$O(^ORD(101,"B","VALM NEXT SCREEN",0))_"^NEXT^10001"
- .S VALMKEY(10002)=+$O(^ORD(101,"B","VALM PREVIOUS SCREEN",0))_"^PREV^10002"
- .S VALMKEY(10003)=+$O(^ORD(101,"B","VALM QUIT",0))_"^QUIT^10003"
- S VALMKEY=$G(VALMKEY)+0
- G:PRTCL="" KEYSQ
- S X=+$O(^ORD(101,"B",PRTCL,0)),(VALMKEY,I)=0,NUM=9999
- F S I=$O(^ORD(101,X,10,I)) Q:'I S Y=$G(^(I,0)) I $P(Y,U,2)]"" D
- .S:'$P(Y,U,3) $P(Y,U,3)=NUM,NUM=NUM-1
- .S VALMKEY(+$P(Y,U,3))=$P(Y,U,1,3),VALMKEY=VALMKEY+1
- S VALMKEY=VALMKEY_U_PRTCL
- KEYSQ Q
- ;
- ATR ; -- set default video ctrls
- N FLD,COL,WIDTH,ON,OFF
- S FLD=""
- F S FLD=$O(VALMDDF(FLD)) Q:FLD="" D
- .S (ON,OFF)="",X=VALMDDF(FLD),COL=+$P(X,U,2),WIDTH=+$P(X,U,3)
- .D ATRFLD(.FLD,.ON,.OFF)
- .D:ON]"" CNTRL^VALM10(0,.COL,.WIDTH,.ON,.OFF,1)
- Q
- ;
- ATRFLD(FLD,ON,OFF) ; -- get field video ctrls ; ON/OFF by reference only
- N CTRL,M
- S CTRL=$P(VALMDDF(FLD),U,5)
- F M=1:1:$L(CTRL) D ONOFF($E(CTRL,M),.ON,.OFF)
- ATRFLDQ Q
- ;
- ONOFF(CTRL,ON,OFF) ; -- get video ctrls ; ON/OFF by reference only
- N I
- S I=$F("HRUB",CTRL) S:I I=I-1
- S ON=ON_@($P("IOINHI^IORVON^IOUON^IOBON","^",I))
- S OFF=OFF_@($P("IOINORM^IORVOFF^IOUOFF^IOBOFF","^",I))
- Q
- ;
- SETUP(NAME) ; -- on-the-fly list
- D @NAME
- S Y=1 F X="ARRAY" I '$D(VALM(X)) S Y=0 G SETUPQ
- I $E(VALM("ARRAY"))'="" S VALM("ARRAY")=" "_VALM("ARRAY")
- S VALM("IFN")=0
- S:'$D(VALM("TM")) VALM("TM")=$S('$D(VALM("HDR")):2,1:5)
- S:'$D(VALM("BM")) VALM("BM")=$S('$D(VALM("HDR")):16,1:14)
- S:'$D(VALM("TYPE")) VALM("TYPE")=2 ; def to display
- S:'$D(VALM("TITLE")) VALM("TITLE")="Standard List Display"
- I '$G(VALM("MAX")) S VALM("MAX")=1
- S:'$D(VALM("FIXED")) VALM("FIXED")=0
- S:'$D(VALM("RM")) VALM("RM")=240
- S:'$D(VALM("DEFS")) VALM("DEFS")=1
- S:'$D(VALMCC) VALMCC=1
- S:'$D(VALM("HIDDEN")) VALM("HIDDEN")="VALM HIDDEN ACTIONS"
- SETUPQ Q Y
- ;
- VALM00 ;MJK/ALB - List Manager (cont.);10:04 AM 7 Dec 1992
- +1 ;;1;List Manager;;Aug 13, 1993
- +2 ;
- KEYS(PRTCL,KILL) ; -- set up default objects
- +1 NEW X,I,Y,NUM,CNT
- +2 IF $GET(KILL)
- KILL VALMKEY
- +3 IF VALM("DEFS")
- Begin DoDot:1
- +4 SET VALMKEY(10001)=+$ORDER(^ORD(101,"B","VALM NEXT SCREEN",0))_"^NEXT^10001"
- +5 SET VALMKEY(10002)=+$ORDER(^ORD(101,"B","VALM PREVIOUS SCREEN",0))_"^PREV^10002"
- +6 SET VALMKEY(10003)=+$ORDER(^ORD(101,"B","VALM QUIT",0))_"^QUIT^10003"
- End DoDot:1
- +7 SET VALMKEY=$GET(VALMKEY)+0
- +8 IF PRTCL=""
- GOTO KEYSQ
- +9 SET X=+$ORDER(^ORD(101,"B",PRTCL,0))
- SET (VALMKEY,I)=0
- SET NUM=9999
- +10 FOR
- SET I=$ORDER(^ORD(101,X,10,I))
- IF 'I
- QUIT
- SET Y=$GET(^(I,0))
- IF $PIECE(Y,U,2)]""
- Begin DoDot:1
- +11 IF '$PIECE(Y,U,3)
- SET $PIECE(Y,U,3)=NUM
- SET NUM=NUM-1
- +12 SET VALMKEY(+$PIECE(Y,U,3))=$PIECE(Y,U,1,3)
- SET VALMKEY=VALMKEY+1
- End DoDot:1
- +13 SET VALMKEY=VALMKEY_U_PRTCL
- KEYSQ QUIT
- +1 ;
- ATR ; -- set default video ctrls
- +1 NEW FLD,COL,WIDTH,ON,OFF
- +2 SET FLD=""
- +3 FOR
- SET FLD=$ORDER(VALMDDF(FLD))
- IF FLD=""
- QUIT
- Begin DoDot:1
- +4 SET (ON,OFF)=""
- SET X=VALMDDF(FLD)
- SET COL=+$PIECE(X,U,2)
- SET WIDTH=+$PIECE(X,U,3)
- +5 DO ATRFLD(.FLD,.ON,.OFF)
- +6 IF ON]""
- DO CNTRL^VALM10(0,.COL,.WIDTH,.ON,.OFF,1)
- End DoDot:1
- +7 QUIT
- +8 ;
- ATRFLD(FLD,ON,OFF) ; -- get field video ctrls ; ON/OFF by reference only
- +1 NEW CTRL,M
- +2 SET CTRL=$PIECE(VALMDDF(FLD),U,5)
- +3 FOR M=1:1:$LENGTH(CTRL)
- DO ONOFF($EXTRACT(CTRL,M),.ON,.OFF)
- ATRFLDQ QUIT
- +1 ;
- ONOFF(CTRL,ON,OFF) ; -- get video ctrls ; ON/OFF by reference only
- +1 NEW I
- +2 SET I=$FIND("HRUB",CTRL)
- IF I
- SET I=I-1
- +3 SET ON=ON_@($PIECE("IOINHI^IORVON^IOUON^IOBON","^",I))
- +4 SET OFF=OFF_@($PIECE("IOINORM^IORVOFF^IOUOFF^IOBOFF","^",I))
- +5 QUIT
- +6 ;
- SETUP(NAME) ; -- on-the-fly list
- +1 DO @NAME
- +2 SET Y=1
- FOR X="ARRAY"
- IF '$DATA(VALM(X))
- SET Y=0
- GOTO SETUPQ
- +3 IF $EXTRACT(VALM("ARRAY"))'=""
- SET VALM("ARRAY")=" "_VALM("ARRAY")
- +4 SET VALM("IFN")=0
- +5 IF '$DATA(VALM("TM"))
- SET VALM("TM")=$SELECT('$DATA(VALM("HDR")):2,1:5)
- +6 IF '$DATA(VALM("BM"))
- SET VALM("BM")=$SELECT('$DATA(VALM("HDR")):16,1:14)
- +7 ; def to display
- IF '$DATA(VALM("TYPE"))
- SET VALM("TYPE")=2
- +8 IF '$DATA(VALM("TITLE"))
- SET VALM("TITLE")="Standard List Display"
- +9 IF '$GET(VALM("MAX"))
- SET VALM("MAX")=1
- +10 IF '$DATA(VALM("FIXED"))
- SET VALM("FIXED")=0
- +11 IF '$DATA(VALM("RM"))
- SET VALM("RM")=240
- +12 IF '$DATA(VALM("DEFS"))
- SET VALM("DEFS")=1
- +13 IF '$DATA(VALMCC)
- SET VALMCC=1
- +14 IF '$DATA(VALM("HIDDEN"))
- SET VALM("HIDDEN")="VALM HIDDEN ACTIONS"
- SETUPQ QUIT Y
- +1 ;