IBDF5 ;ALB/CJM - ENCOUNTER FORM (edit a form);NOV 16,1992 ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 ;displays the form for editing using the list processor ; ;these variables should always be defined while editing a form ;IBFORM - contains the form description INIT ; ; Q:'$$FORMDSCR^IBDFU1C(.IBFORM) D IDXFORM^IBDF5A() Q EXIT ; K @VALMAR Q HDR ;the screen header, a ruler S VALMHDR(1)=$$PADRIGHT^IBDFU("",4) ;VALMHDR(2)=VALMHDR(2)_0 F I=1:1:16 S VALMHDR(1)=VALMHDR(1)_$J(I,10) Q DELETE ;allows user to select a block for deletion N IBBLK,IBVALMBG,TOP,BOT S VALMBCK="R",IBVALMBG=$G(VALMBG) S VALMBG=IBVALMBG D FULL^VALM1 S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,IOSL) Q:'IBBLK Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.1,IBBLK,0)),"^")) D TOPNBOT^IBDFU5(IBBLK,.TOP,.BOT) D DLTBLK^IBDFU3(IBBLK,IBFORM,357.1) S VALMBCK="R" D IDXFORM^IBDF5A(TOP,BOT) Q ; MOVE ;allows the user to select a block and move it N IBBLK,NODE0,BLKWIDTH,BLKHT,STARTCOL,STARTROW,TOP1,BOT1,TOP2,BOT2 S VALMBCK="R" ;D FULL^VALM1 S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,5) I IBBLK D .S NODE0=$G(^IBE(357.1,IBBLK,0)) .S BLKWIDTH=+$P(NODE0,"^",6),BLKHT=+$P(NODE0,"^",7),STARTCOL=+$P(NODE0,"^",5),STARTROW=+$P(NODE0,"^",4) .S TOP1=STARTROW,BOT1=(TOP1+BLKHT)-1 .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 .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 .K DIE,DA S DIE=357.1,DA=IBBLK,DR=".04////^S X=STARTROW;.05////^S X=STARTCOL" D ^DIE K DIE,DA,DR .S VALMBCK="R" .D TOPNBOT^IBDFU5(IBBLK,.TOP2,.BOT2) S TOP1=$S(TOP1BOT2:BOT1,1:BOT2) .D IDXFORM^IBDF5A(TOP1,BOT1) .S VALMBG=STARTROW-7 S:VALMBG<1 VALMBG=1 Q RESIZE ;allows user to select a block & re-size it N IBBLK,BLKWIDTH,BLKHT,STARTCOL,STARTROW,TOP1,TOP2,BOT1,BOT2 S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,5) I IBBLK D .D NOWSIZE S TOP1=STARTROW,BOT1=(TOP1+BLKHT)-1 .D NEWSIZE .D TOPNBOT^IBDFU5(IBBLK,.TOP2,.BOT2) S TOP1=$S(TOP1BOT2:BOT1,1:BOT2) .D IDXFORM^IBDF5A(TOP1,BOT1) S VALMBCK="R" Q NOWSIZE ;what size is the block, and where does it start? returns BLKWIDTH,BLKHT,STARTROW,STARTCOL N NODE0 S NODE0=$G(^IBE(357.1,IBBLK,0)) S BLKWIDTH=+$P(NODE0,"^",6),BLKHT=+$P(NODE0,"^",7),STARTCOL=+$P(NODE0,"^",5),STARTROW=+$P(NODE0,"^",4) Q NEWSIZE ;allows user to change the size of a block 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) 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) K DIE,DA S DIE=357.1,DA=IBBLK,DR=".06////^S X=BLKWIDTH;.07////^S X=BLKHT" D ^DIE K DIE,DA,DR D UNCMPBLK^IBDF19(IBBLK) Q SHIFT ;allows the user to shift a group of blocks within a rectangular region on the form D SHIFT^IBDF10("B") D IDXFORM^IBDF5A() S VALMBCK="R" Q