Example #1
0
    def _setup_inputs(self):
        for inp in self._inputs:
            self.scene().removeItem(inp[0])
            self.scene().removeItem(inp[1])

        self._inputs = list()

        n = self.desc.num_inputs

        for i in range(n):
            pos = _pin_pos(self.rect(), 0, (2 * i + 1) / (n * 2))

            pin = Pin(self, self.desc.get_pin(f'in{i}'))
            pin.setPos(pos)

            pen = QPen(Qt.black, 2, c=Qt.RoundCap)
            r = self.rect()
            yy = r.height() * (2 * i + 1) / (n * 2)
            ext = QGraphicsLineItem(pos.x() + Pin._SIZE.width() / 2,
                                    pos.y() + Pin._SIZE.height() / 2,
                                    r.width() / 3,
                                    pos.y() + Pin._SIZE.height() / 2, self)
            ext.setPen(pen)
            ext.setFlag(QGraphicsItem.ItemStacksBehindParent)
            self._inputs.append((pin, ext))
Example #2
0
    def __init__(self, simulator, desc):
        super().__init__(simulator, desc)

        self.setRect(QRectF(QPoint(), self._SIZE))

        self._inputs = list()

        r = self.rect()

        pin = Pin(self, desc.get_pin('out'))
        pin.setPos(_pin_pos(self.rect(), 1, 0.5))
        pin.setZValue(1)

        pen = QPen(Qt.black, 2, c=Qt.RoundCap)
        ext1 = QGraphicsLineItem(r.right() + _EXT_LENGTH,
                                 r.height() / 2, r.right(),
                                 r.height() / 2, self)
        ext1.setPen(pen)
        ext1.setFlag(QGraphicsItem.ItemStacksBehindParent)

        self._setup_inputs()