@=~ ~p typesetter = texinfo ~p maximum_input_line_length = infinity ~O~~{ $/Visual/VisPattern.gnrc+instance=ProgramView:inst ~} ~O~~{ ~ ~} ~O~~{ ~ ~} ~$~+=~{ SYMBOL ProgramDefinition INHERITS VP_Form COMPUTE THIS.VP_OptDrawing = ADDROF(ProgramDefinitionDrawing); END; SYMBOL Components INHERITS VP_Set, VP_ContainerSSS COMPUTE THIS.VP_OblContainerName="Components"; THIS.VP_OptBorderDimensions = 5; THIS.VP_OptDistanceMin = 5; THIS.VP_OptContainerKind = 2; THIS.VP_OptFrameStyle = "-fill white -outline black"; THIS.VP_OptStartSize = VisIntVector(300,200); THIS.VP_OptInsPointShape = "mrectangle"; THIS.VP_OptInsPointSize = VLREGION(0,0,80,30); END; SYMBOL _List_Component INHERITS VP_ListContext END; SYMBOL Component INHERITS VP_MovableContext END; ~} ~$~+=~{ SYMBOL Components INHERITS VP_ProgramView_Set END; SYMBOL Component INHERITS VP_ProgramView_MovableContext END; ~} ~$~+=~{ SYMBOL Task INHERITS VP_TextTerminal, VP_Movable COMPUTE THIS.VP_OptText=CONSTITUENT TaskName.persName; THIS.VP_OptFrameDrawing=NEW(IconDrawing("taskdef")); END; SYMBOL Procedure INHERITS VP_TextTerminal, VP_Movable COMPUTE THIS.VP_OptText=CONSTITUENT ProcedureName.persName; THIS.VP_OptFrameDrawing=NEW(IconDrawing("procdef")); END; SYMBOL Type INHERITS VP_TextTerminal, VP_Movable COMPUTE THIS.VP_OptText=CONSTITUENT TypeName.persName; THIS.VP_OptFill=CONSTITUENT TypeName.persColor; THIS.VP_OptFrameDrawing=NEW(IconDrawing("types")); END; ~} ~$~+=~{ SYMBOL Type INHERITS VP_ProgramView_MovableContext END; ~} ~$~+=~{ SYMBOL ComputerMappings INHERITS VP_SimpleList, VP_ContainerSSS COMPUTE THIS.VP_OblContainerName="ComputerMappings"; THIS.VP_OptMinWidth2=100; THIS.VP_OptElementDistance=5; THIS.VP_OptAlignInWidth=VisAlignLeft; END; SYMBOL _List_VirtualComputer INHERITS VP_ListContext END; SYMBOL VirtualComputer INHERITS VP_TextTerminal COMPUTE THIS.VP_OptText = GETVLSTRING(sprintf(VLStringBuffer,"%s -> %s",VLCharPtr(THIS.persName), IF(strcmp(THIS.persRealComputerName,""),VLCharPtr(THIS.persRealComputerName),"(UNDEFINED)"))); END; ~}