in code/nxt-integration/src/main/kotlin/org/fbme/integration/nxt/refactorings/DeclarationExtractor.kt [32:59]
fun extractEvents(
events: List<EventDeclaration>,
functionBlockDeclaration: FunctionBlockDeclaration,
type: Type,
shift: CoordinateShift
): List<EventDeclaration> {
val externalEvents: MutableList<EventDeclaration> = ArrayList()
val xShift = shift.getX(type)
var yShift = shift.getY(type)
for (event in events) {
val externalConnections = findConnections(event, type, oldNetworkEventConnections)
if (!externalConnections.isEmpty()) {
val copyEvent = event.copy() as EventDeclaration
declarationPortPathMap[copyEvent] = PortPathNetworkCoordinates(
createEventPortPath(functionBlockDeclaration, event),
Point(
functionBlockDeclaration.x + xShift,
functionBlockDeclaration.y + yShift
)
)
saveExternalConnections(type, copyEvent, externalConnections)
externalEvents.add(copyEvent)
}
yShift += shift.yDiff
}
shift.setY(type, yShift)
return externalEvents
}