summaryrefslogtreecommitdiff
path: root/blocks/Xcos/ports/ControlPort.py
blob: 684bf6058b2550e617023d48231d00b5004b87ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from common.AAAAAA import *


def ControlPort(outroot, attribid, parentattribid, ordering, geometry,
                value='', forSplitBlock=False,
                style=None):
    func_name = 'ControlPort'
    if style is None:
        style = func_name

    if forSplitBlock:
        outnode = addNode(outroot, func_name, connectable=0,
                          dataType='UNKNOW_TYPE', **{'id': attribid},
                          ordering=ordering, parent=parentattribid,
                          style=style, visible=0)
    else:
        outnode = addNode(outroot, func_name, **{'id': attribid},
                          parent=parentattribid, ordering=ordering,
                          initialState="-1.0",
                          style=style, value=value)

    return outnode


def addControlPortForSplit(outroot, splitBlock, sourceVertex, targetVertex,
                           sourceType, targetType, inputCount,
                           outputCount, nextAttrib, nextAttribForSplit, waypoints):
    inputCount += 1
    geometry = {}
    geometry['width'] = 8
    geometry['height'] = 8
    geometry['x'] = -8
    geometry['y'] = -4
    ControlPort(outroot, nextAttrib, splitBlock, inputCount, geometry, forSplitBlock=True)
    nextAttrib += 1
    nextAttribForSplit += 1
    return (inputCount, outputCount, nextAttrib, nextAttribForSplit)