All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kflow.base-widgets.3.2-RC1.source-code.process-diagram.html Maven / Gradle / Ivy

The newest version!
<#setting number_format="computer">

<#assign diagram = bpmSession.getProcessDiagram(task, messageSource)>

<#assign counter = 0>

<#list diagram.getNodes() as node> <#assign type = node.getClass().getSimpleName()> <#assign name = node.getName()> <#assign x = node.getBoundary().getX()> <#assign y = node.getBoundary().getY()> <#assign w = node.getBoundary().getWidth()> <#assign h = node.getBoundary().getHeight()> <#assign bgcolor = node.getBackgroundColor()> <#assign counter = counter + 1> <#if type == "AutoTaskNode"> <#-- rectangle gradient --> <#-- rectangle --> <#-- gear figure -->
${name}
<#elseif type == "EndNode"> <#assign resizeFactor = w / 30.0> ${name} <#elseif type == "ExclusiveGateway"> <#-- outline --> <#-- cross --> ${name} <#elseif type == "HumanTaskNode"> <#-- rectangle gradient --> <#-- rectangle --> id="active_task" class="task_rect" width="${w}" height="${h}" rx="10" ry="10" stroke="black" stroke-width="1" fill="url(#bgh${counter})" /> <#if node.isActive()> <#-- human figure -->
${name}
<#elseif type == "IntermediateSignalNode"> <#assign resizeFactor = w / 30.0> ${name} <#elseif type == "IntermediateTimerNode"> <#assign resizeFactor = w / 30.0> ${name} <#elseif type == "ParallelGateway"> <#-- outline --> <#-- cross --> ${name} <#elseif type == "StartNode"> <#assign resizeFactor = w / 30.0> ${name} <#elseif type == "StartTimerNode"> <#assign resizeFactor = w / 30.0> ${name} <#elseif type == "SubprocessNode"> <#assign resizeFactor = w / 30.0> <#-- rectangle gradient --> <#-- rectangle --> <#-- plus sign with border -->
${name}
<#-- sequence flows --> <#list diagram.getTransitions() as trans> <#list trans.getPoints() as point> <#if point != trans.getPoints()?first> <#assign x = point.getX()> <#assign y = point.getY()> <#assign prev_x = prevPoint.getX()> <#assign prev_y = prevPoint.getY()> marker-end="url(#<#if trans.isVisited()>visited_end<#else>end)" /> <#assign prevPoint = point> <#-- sequence flow labels --> <#list trans.getPoints() as point> <#if point != trans.getPoints()?first> <#assign x = point.getX()> <#assign y = point.getY()> <#assign prev_x = prevPoint.getX()> <#assign prev_y = prevPoint.getY()> <#if prevPoint == trans.getPoints()?first> <#if (prev_x == x) > <#if (prev_y > y) > <#-- up --> ${trans.getName()} <#elseif (prev_y < y) > <#-- down --> ${trans.getName()} <#elseif (prev_y == y) > <#if (prev_x > x) > <#-- left --> ${trans.getName()} <#elseif (prev_x < x) > <#-- right --> ${trans.getName()} <#assign prevPoint = point>
<#-- border -->




© 2015 - 2025 Weber Informatics LLC | Privacy Policy