CLASS Sub-Process
Highlights/Dependencies |
---|
|
GraphRep Code |
---|
GRAPHREP sizing:asymmetrical SHADOW on AVAL sSubProcessType: "Type" AVAL sLoopType: "Loop type" AVAL sCompensation: "For compensation" AVAL sSequential: "Sequential execution" AVAL sRefSubProcess: "Referenced subprocess" #-- COLOR DEFINITIONS -- SET colBrd: (rgbval("$0044aa")) SET colFFm: (rgbval("white")) SET colFTo: (rgbval("$8FC2FF")) #TABLE x:-1.4cm y:-0.75cm w:2.8cm h:1.5cm cols:4 rows:3 TABLE x:-1.68cm y:-0.9cm w:3.36cm h:1.8cm cols:4 rows:3 w1:0.1cm w2:50% w3:50% w4:0.1cm h1:0.1cm h2:100% h3:0.1cm # min width IF (tabw2 < 1.3cm) SET tabw2:1.3cm tabw3:1.3cm tabx0:-1.4cm tabx1:-1.3cm tabx2:0cm tabx3:1.3cm tabx4:1.4cm ENDIF # min height IF (tabh2 < 1.3cm) SET tabh2:1.3cm taby0:-0.75cm taby1:-0.65cm taby2:0.65cm taby3:0.75cm ENDIF STRETCH off SET tabw:(tabx4 - tabx0) tabh:(taby3 - taby0) IF (sSubProcessType = "Call activity") PEN w:0.12cm color:(colBrd) ELSIF (sSubProcessType = "Event") PEN w:0.06cm color:(colBrd) style:dash ELSE PEN w:0.06cm color:(colBrd) ENDIF IF (sSubProcessType = "Transaction") CLIP_ROUNDRECT x:(tabx0-0.1cm) y:(taby0-0.1cm) w:(tabw+0.21cm) h:(tabh+0.21cm) rx:.2cm ry:.2cm GRADIENT_RECT x:(tabx0-0.1cm) y:(taby0-0.1cm) w:(tabw+0.21cm) h:(tabh+0.21cm) style:downdiag color1:(colFFm) color2:(colFTo) CLIP_OFF ROUNDRECT x:(tabx0) y:(taby0) w:(tabw) h:(tabh) rx:.2cm ry:.2cm ROUNDRECT x:(tabx0-0.1cm) y:(taby0-0.1cm) w:(tabw+0.21cm) h:(tabh+0.21cm) rx:.2cm ry:.2cm ELSE CLIP_ROUNDRECT x:(tabx0) y:(taby0) w:(tabw) h:(tabh) rx:.2cm ry:.2cm GRADIENT_RECT x:(tabx0) y:(taby0) w:(tabw) h:(tabh) style:downdiag color1:(colFFm) color2:(colFTo) CLIP_OFF ROUNDRECT x:(tabx0) y:(taby0) w:(tabw) h:(tabh) rx:.2cm ry:.2cm ENDIF # print the rectangle with the '+' FILL color:white FONT h:13pt color:(colBrd) bold PEN w:0.06cm color:(colBrd) IF ((sLoopType = "Not specified") AND (sCompensation = "No")) IF (sSubProcessType = "Ad-Hoc") # box with '+' left ROUNDRECT x:(tabx2 - 0.4cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm rx:.05cm ry:.05cm FONT h:13pt color:(colBrd) bold line-orientation:90 TEXTBOX "+" TEXT "+" x:(tabx2 - texth/2 - 0.185cm) y:(taby2 + 0.03cm) FONT h:13pt color:(colBrd) bold IF (sRefSubProcess != "") HOTSPOT "Referenced subprocess" x:(tabx2 - 0.4cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm ENDIF # box with '~' right TEXTBOX "~" TEXT "~" x:(tabx2 + textw/2 - 0.06cm) y:(taby2 - (texth/2) - 0.06cm) ELSE # box with '+' middle ROUNDRECT x:(tabx2 - 0.2cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm rx:.05cm ry:.05cm FONT h:13pt color:(colBrd) bold line-orientation:90 TEXTBOX "+" TEXT "+" x:(tabx2 - texth/2 + 0.025cm) y:(taby2 + 0.03cm) FONT h:13pt color:(colBrd) bold IF (sRefSubProcess != "") HOTSPOT "Referenced subprocess" x:(tabx2 - 0.2cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm ENDIF ENDIF ELSE IF (sSubProcessType = "Ad-Hoc") # box with '+' middle ROUNDRECT x:(tabx2 - 0.2cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm rx:.05cm ry:.05cm FONT h:13pt color:(colBrd) bold line-orientation:90 TEXTBOX "+" TEXT "+" x:(tabx2 - texth/2 + 0.025cm) y:(taby2 + 0.03cm) FONT h:13pt color:(colBrd) bold IF (sRefSubProcess != "") HOTSPOT "Referenced subprocess" x:(tabx2 - 0.2cm) y:(taby2 - 0.3cm) w:.4cm h:.4cm ENDIF # box with '~' right TEXTBOX "~" TEXT "~" x:(tabx2 + textw/2 + 0.15cm) y:(taby2 - (texth/2) - 0.06cm) IF (sLoopType = "Standard") ARC x:(tabx2 - 0.45cm) y:(taby2 - 0.15cm) rx:0.15cm ry:0.15cm x1:(tabx2 - 0.2cm) y1:(taby3) x2:(tabx2 - 0.6cm) y2:(taby3) POLYLINE ({(tabx2 - 0.65cm), taby2, (tabx2 - 0.5cm), taby2, (tabx2 - 0.45cm), taby2 - 0.15cm}) ELSIF (sLoopType = "Multi-instance") IF (sSequential = "No") LINE x1:(tabx2 - 0.52cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.52cm) y2:(taby2 + 0.03cm) LINE x1:(tabx2 - 0.42cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.42cm) y2:(taby2 + 0.03cm) LINE x1:(tabx2 - 0.32cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.32cm) y2:(taby2 + 0.03cm) ELSE LINE x1:(tabx2 - 0.55cm) y1:(taby2 - 0.2cm) x2:(tabx2 - 0.27cm) y2:(taby2 - 0.2cm) LINE x1:(tabx2 - 0.55cm) y1:(taby2 - 0.1cm) x2:(tabx2 - 0.27cm) y2:(taby2 - 0.1cm) LINE x1:(tabx2 - 0.55cm) y1:(taby2) x2:(tabx2 - 0.27cm) y2:(taby2) ENDIF ELSE # (sCompensation) PEN w:0.04cm color:(colBrd) POLYGON ({tabx2 - 0.6cm, taby2 - 0.1cm, tabx2 - 0.47cm, taby2 - 0.23cm, tabx2 - 0.47cm, taby2 + 0.02cm}) POLYGON ({tabx2 - 0.42cm, taby2 - 0.1cm, tabx2 - 0.3cm, taby2 - 0.23cm, tabx2 - 0.3cm, taby2 + 0.02cm}) ENDIF ELSE # box with '+' right ROUNDRECT x:(tabx2) y:(taby2 - 0.3cm) w:.4cm h:.4cm rx:.05cm ry:.05cm FONT h:13pt color:(colBrd) bold line-orientation:90 TEXTBOX "+" TEXT "+" x:(tabx2 - texth/2 + 0.225cm) y:(taby2 + 0.03cm) FONT h:13pt color:(colBrd) bold IF (sRefSubProcess != "") HOTSPOT "Referenced subprocess" x:(tabx2) y:(taby2 - 0.3cm) w:.4cm h:.4cm ENDIF IF (sLoopType = "Standard") ARC x:(tabx2 - 0.25cm) y:(taby2 - 0.15cm) rx:0.15cm ry:0.15cm x1:(tabx2) y1:(taby3) x2:(tabx2 - 0.4cm) y2:(taby3) POLYLINE ({(tabx2 - 0.25cm) - 0.2cm, taby2, (tabx2 - 0.25cm) - 0.05cm, taby2, (tabx2 - 0.25cm) + 0.00cm, taby2 - 0.15cm}) ELSIF (sLoopType = "Multi-instance") IF (sSequential = "No") LINE x1:(tabx2 - 0.32cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.32cm) y2:(taby2 + 0.03cm) LINE x1:(tabx2 - 0.22cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.22cm) y2:(taby2 + 0.03cm) LINE x1:(tabx2 - 0.12cm) y1:(taby2 - 0.25cm) x2:(tabx2 - 0.12cm) y2:(taby2 + 0.03cm) ELSE LINE x1:(tabx2 - 0.35cm) y1:(taby2 - 0.2cm) x2:(tabx2 - 0.07cm) y2:(taby2 - 0.2cm) LINE x1:(tabx2 - 0.35cm) y1:(taby2 - 0.1cm) x2:(tabx2 - 0.07cm) y2:(taby2 - 0.1cm) LINE x1:(tabx2 - 0.35cm) y1:(taby2) x2:(tabx2 - 0.07cm) y2:(taby2) ENDIF ELSE # (sCompensation) PEN w:0.04cm color:(colBrd) POLYGON ({tabx2 - 0.4cm, taby2 - 0.1cm, tabx2 - 0.27cm, taby2 - 0.23cm, tabx2 - 0.27cm, taby2 + 0.02cm}) POLYGON ({tabx2 - 0.2cm, taby2 - 0.1cm, tabx2 - 0.07cm, taby2 - 0.23cm, tabx2 - 0.07cm, taby2 + 0.02cm}) ENDIF ENDIF ENDIF FONT IF (sRefSubProcess != "") ATTR "Referenced subprocess" x:(tabx2) y:(taby1+(tabh2/2)-(0.2cm)) w:c:(tabw2+tabw3) h:c:(tabh2-0.2cm) line-break:rigorous format:"%m" ELSE ATTR "Name" x:(tabx2) y:(taby1+(tabh2/2)-(0.2cm)) w:c:(tabw2+tabw3) h:c:(tabh2-0.2cm) line-break:rigorous ENDIF AVAL sOpenQuest: "Open questions" IF (LEN sOpenQuest.trim()) FONT "Arial" h:10.0pt bold color:("red") TEXT "?" x:(tabx4 - 0.2cm) y:(taby0 - 0.45cm) ENDIF
|
Graphical Representation |
---|
|
4914 Views