Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBDF13

IBDF13.m

Go to the documentation of this file.
  1. IBDF13 ;ALB/CJM - ENCOUNTER FORM - EDITING TOOLKIT BLKS ; 24-JUN-1993
  1. ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
  1. ;
  1. LIST ;displays list of toolkit blocks, then allows editng
  1. N IBFORM,IBTKFORM,IBTKBLK,IBFASTXT,IOVL,IOHL,IOBRC,IOBLC,IOTRC,IOTLC,IBBLK,BLKLIST,D0,DA,IBDEVICE
  1. S (IBTKFORM,IBFASTXT,IBBLK)=0,IBTKBLK=1
  1. S IBFORM("NAME")="LIST OF TOOLKIT BLOCKS",IBFORM("TOOLKIT")=1,IBFORM("COMPILED")=0,IBFORM("HT")=80,IBFORM("WIDTH")=133,IBFORM("PAGE_HT")=80,IBFORM("PAGES")=1,IBFORM("SCAN")=1,IBFORM("SCAN","ICR")=1,IBFORM("SCAN",1)=1
  1. ;
  1. D DEVICE^IBDFUA(1,.IBDEVICE)
  1. K XQORS,VALMEVL
  1. D PRNTPRMS^IBDFU1C(.IBPRINT,0,1,0,0)
  1. S IBFORM=$$TKFORM^IBDFU2C
  1. D EN^VALM("IBDF EDIT TOOL KIT BLOCKS") ;list processor displays list of toolkit blocks
  1. Q
  1. ;
  1. SELECT() ;allows the user to select from the displayed list of TK blocks
  1. N CHOICE,IBBLK
  1. S IBBLK=""
  1. D EN^VALM2($G(XQORNOD(0)),"S")
  1. S CHOICE=$O(VALMY("")) S:CHOICE IBBLK=$G(@VALMAR@("IDX",CHOICE,CHOICE))
  1. Q IBBLK
  1. EDITBLK ;allows user to select a blk, then displays it for edit
  1. ;allows user to discard or save changes to the block
  1. ;
  1. ;If IBBLK and IBBLK2 are used to point to two copies of the block, one in the workspace and the other on the form
  1. ;the copy on the form is not edited, the copy in the workspace is
  1. N IBBLK,IBBLK2,IBTKODR,IBJUNK,IFSAVE
  1. ;N IBMEMARY
  1. S VALMBCK="R"
  1. S IBBLK2=""
  1. S IBBLK=$$SELECT
  1. I IBBLK D
  1. .S (IBBLK2,IBTKODR,IBJUNK)=""
  1. .D COPYBLK^IBDF5B(IBBLK,.IBBLK2,.IBBLK,.IBTKODR,.IBJUNK) I 'IBBLK S IBBLK=IBBLK2,IBBLK2="" Q ;sets IBBLK to the work copy, IBBLK2 to the copy actually on the form
  1. D:IBBLK2 EN^VALM("IBDF FORM BLOCK EDIT")
  1. I IBBLK,IBBLK2 D
  1. .S IFSAVE=$$ASKSAVE^IBDF5B
  1. .I IFSAVE D SAVECOPY^IBDF5B(.IBBLK,.IBBLK2,IBTKODR) S IBBLK=IBBLK2,IBBLK2=""
  1. .I 'IFSAVE D DLTCOPY^IBDF5B(IBBLK) S IBBLK=IBBLK2,IBBLK2=""
  1. S IBPRINT("WITH_DATA")=0
  1. D:'$G(IBFASTXT) IDXBLKS^IBDF7
  1. Q
  1. DLTBLOCK ;allows user to select a blk, then deletes it
  1. N IBBLK
  1. S VALMBCK="R"
  1. S IBBLK=$$SELECT
  1. I IBBLK Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.1,IBBLK,0)),"^")) D DLTBLK^IBDFU3(IBBLK,IBFORM,357.1),IDXBLKS^IBDF7
  1. Q
  1. CHGORDER ;allows user to select a blk, then change it's order in the toolkit
  1. N IBBLK
  1. S VALMBCK="R"
  1. S IBBLK=$$SELECT
  1. I IBBLK K DIE,DA S DIE=357.1,DA=IBBLK,DR=".14R" D ^DIE K DIE,DA,DR,DIC
  1. D IDXBLKS^IBDF7
  1. Q
  1. NEWBLK ;creates a new toolkit block
  1. N IBBLK
  1. S VALMBCK="R"
  1. S IBBLK=$$CREATE^IBDF5C()
  1. D:IBBLK IDXBLKS^IBDF7
  1. Q
  1. COPYBLK ;allows the user to select a block to copy
  1. N IBBLK,CHOICE,NEWBLK
  1. S VALMBCK="R"
  1. D FULL^VALM1
  1. K DIR S DIR(0)="SO^1:ON THE LIST OF TOOLKIT BLOCKS;2:ON A TOOLKIT FORM;3:ON A FORM NOT IN THE TOOLKIT"
  1. S DIR("A")="WHERE IS THE BLOCK THAT YOU WANT COPIED?"
  1. D ^DIR K DIR
  1. Q:(Y=-1)!$D(DIRUT)
  1. S CHOICE=Y,IBBLK=""
  1. D:CHOICE=1 RE^VALM4
  1. S:CHOICE=1 IBBLK=$$SELECT
  1. S:CHOICE=2 IBBLK=$$SELECT2(1)
  1. S:CHOICE=3 IBBLK=$$SELECT2(0)
  1. I IBBLK S NEWBLK=$$COPYBLK^IBDFU2(IBBLK,IBFORM,357.1,357.1,0,0,$$TKORDER()) I NEWBLK D
  1. .K DIE,DA S DIE=357.1,DA=NEWBLK,DR=".01;.13R;.14R" D ^DIE
  1. .I '$G(DA) D DLTCNTNT^IBDFU3(NEWBLK,357.1)
  1. .K DIE,DA,DR,DIC
  1. .D IDXBLKS^IBDF7
  1. S VALMBCK="R"
  1. Q
  1. TKORDER() ;returns an unused number for the list of toolkit blocks
  1. N NUMBER
  1. F NUMBER=1:1:10000 Q:'$D(^IBE(357.1,"D",NUMBER))
  1. Q NUMBER
  1. SELECT2(TK) ;allows the user to select a form, then a block from it
  1. ;TK=0 if form is not to be chosen from the TK
  1. ;TK=1 if the form is to be chosen from the TK
  1. ;TK="" means ask the user whether or not the form is in the TK
  1. N IBFORM,IBBLK
  1. S IBBLK=""
  1. S IBFORM=$$SLCTFORM^IBDFU4($G(TK))
  1. I IBFORM D
  1. .W !!,"NOW CHOOSE THE BLOCK TO COPY!",!
  1. .S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,IOSL)
  1. Q IBBLK