| 1 | IBDF5 ;ALB/CJM - ENCOUNTER FORM (edit a form);NOV 16,1992 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ;displays the form for editing using the list processor | 
|---|
| 4 | ; | 
|---|
| 5 | ;these variables should always be defined while editing a form | 
|---|
| 6 | ;IBFORM - contains the form description | 
|---|
| 7 | INIT ; | 
|---|
| 8 | ; | 
|---|
| 9 | Q:'$$FORMDSCR^IBDFU1C(.IBFORM) | 
|---|
| 10 | D IDXFORM^IBDF5A() | 
|---|
| 11 | Q | 
|---|
| 12 | EXIT ; | 
|---|
| 13 | K @VALMAR | 
|---|
| 14 | Q | 
|---|
| 15 | HDR ;the screen header, a ruler | 
|---|
| 16 | S VALMHDR(1)=$$PADRIGHT^IBDFU("",4) ;VALMHDR(2)=VALMHDR(2)_0 | 
|---|
| 17 | F I=1:1:16 S VALMHDR(1)=VALMHDR(1)_$J(I,10) | 
|---|
| 18 | Q | 
|---|
| 19 | DELETE  ;allows user to select a block for deletion | 
|---|
| 20 | N IBBLK,IBVALMBG,TOP,BOT | 
|---|
| 21 | S VALMBCK="R",IBVALMBG=$G(VALMBG) | 
|---|
| 22 | S VALMBG=IBVALMBG | 
|---|
| 23 | D FULL^VALM1 | 
|---|
| 24 | S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,IOSL) | 
|---|
| 25 | Q:'IBBLK | 
|---|
| 26 | Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.1,IBBLK,0)),"^")) | 
|---|
| 27 | D TOPNBOT^IBDFU5(IBBLK,.TOP,.BOT) | 
|---|
| 28 | D DLTBLK^IBDFU3(IBBLK,IBFORM,357.1) | 
|---|
| 29 | S VALMBCK="R" | 
|---|
| 30 | D IDXFORM^IBDF5A(TOP,BOT) | 
|---|
| 31 | Q | 
|---|
| 32 | ; | 
|---|
| 33 | MOVE ;allows the user to select a block and move it | 
|---|
| 34 | N IBBLK,NODE0,BLKWIDTH,BLKHT,STARTCOL,STARTROW,TOP1,BOT1,TOP2,BOT2 | 
|---|
| 35 | S VALMBCK="R" | 
|---|
| 36 | ;D FULL^VALM1 | 
|---|
| 37 | S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,5) | 
|---|
| 38 | I IBBLK D | 
|---|
| 39 | .S NODE0=$G(^IBE(357.1,IBBLK,0)) | 
|---|
| 40 | .S BLKWIDTH=+$P(NODE0,"^",6),BLKHT=+$P(NODE0,"^",7),STARTCOL=+$P(NODE0,"^",5),STARTROW=+$P(NODE0,"^",4) | 
|---|
| 41 | .S TOP1=STARTROW,BOT1=(TOP1+BLKHT)-1 | 
|---|
| 42 | .I STARTROW!(IBFORM("HT")>BLKHT) K DIR S DIR(0)="NA^1:"_(IBFORM("HT")-BLKHT+1)_":0",DIR("A")="Move the TOP MARGIN of the block to which row?: ",DIR("B")=STARTROW+1 D ^DIR K DIR Q:$D(DIRUT)  S STARTROW=X-1 | 
|---|
| 43 | .I STARTCOL!(IBFORM("WIDTH")>BLKWIDTH) K DIR S DIR(0)="NA^1:"_(IBFORM("WIDTH")-BLKWIDTH+1)_":0",DIR("A")="Move the LEFT MARGIN of the block to which column?: ",DIR("B")=STARTCOL+1 D ^DIR K DIR Q:$D(DIRUT)  S STARTCOL=X-1 | 
|---|
| 44 | .K DIE,DA S DIE=357.1,DA=IBBLK,DR=".04////^S X=STARTROW;.05////^S X=STARTCOL" D ^DIE K DIE,DA,DR | 
|---|
| 45 | .S VALMBCK="R" | 
|---|
| 46 | .D TOPNBOT^IBDFU5(IBBLK,.TOP2,.BOT2) S TOP1=$S(TOP1<TOP2:TOP1,1:TOP2) S BOT1=$S(BOT1>BOT2:BOT1,1:BOT2) | 
|---|
| 47 | .D IDXFORM^IBDF5A(TOP1,BOT1) | 
|---|
| 48 | .S VALMBG=STARTROW-7 S:VALMBG<1 VALMBG=1 | 
|---|
| 49 | Q | 
|---|
| 50 | RESIZE ;allows user to select a block & re-size it | 
|---|
| 51 | N IBBLK,BLKWIDTH,BLKHT,STARTCOL,STARTROW,TOP1,TOP2,BOT1,BOT2 | 
|---|
| 52 | S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,5) | 
|---|
| 53 | I IBBLK D | 
|---|
| 54 | .D NOWSIZE S TOP1=STARTROW,BOT1=(TOP1+BLKHT)-1 | 
|---|
| 55 | .D NEWSIZE | 
|---|
| 56 | .D TOPNBOT^IBDFU5(IBBLK,.TOP2,.BOT2) S TOP1=$S(TOP1<TOP2:TOP1,1:TOP2) S BOT1=$S(BOT1>BOT2:BOT1,1:BOT2) | 
|---|
| 57 | .D IDXFORM^IBDF5A(TOP1,BOT1) | 
|---|
| 58 | S VALMBCK="R" | 
|---|
| 59 | Q | 
|---|
| 60 | NOWSIZE ;what size is the block, and where does it start? returns BLKWIDTH,BLKHT,STARTROW,STARTCOL | 
|---|
| 61 | N NODE0 | 
|---|
| 62 | S NODE0=$G(^IBE(357.1,IBBLK,0)) | 
|---|
| 63 | S BLKWIDTH=+$P(NODE0,"^",6),BLKHT=+$P(NODE0,"^",7),STARTCOL=+$P(NODE0,"^",5),STARTROW=+$P(NODE0,"^",4) | 
|---|
| 64 | Q | 
|---|
| 65 | NEWSIZE ;allows user to change the size of a block | 
|---|
| 66 | K DIR S DIR(0)="NA^"_(STARTROW+1)_":"_(IBFORM("HT"))_":0",DIR("A")="Move the BOTTOM MARGIN of the block to which row?: ",DIR("B")=(STARTROW+BLKHT) D ^DIR K DIR Q:$D(DIRUT)  S BLKHT=(X-STARTROW) | 
|---|
| 67 | K DIR S DIR(0)="NA^"_(STARTCOL+1)_":"_IBFORM("WIDTH")_":0",DIR("A")="Move the RIGHT MARGIN of the block to which column?: ",DIR("B")=(STARTCOL+BLKWIDTH) D ^DIR K DIR Q:$D(DIRUT)  S BLKWIDTH=(X-STARTCOL) | 
|---|
| 68 | K DIE,DA S DIE=357.1,DA=IBBLK,DR=".06////^S X=BLKWIDTH;.07////^S X=BLKHT" D ^DIE K DIE,DA,DR | 
|---|
| 69 | D UNCMPBLK^IBDF19(IBBLK) | 
|---|
| 70 | Q | 
|---|
| 71 | SHIFT ;allows the user to shift a group of blocks within a rectangular region on the form | 
|---|
| 72 | D SHIFT^IBDF10("B") | 
|---|
| 73 | D IDXFORM^IBDF5A() | 
|---|
| 74 | S VALMBCK="R" | 
|---|
| 75 | Q | 
|---|