Example #1
0
 def __init__(self, name='node', parent=None):
     super(NodeItem, self).__init__(name, parent)
     pixmap = QtGui.QPixmap(ICON_NODE_BASE)
     if pixmap.size().height() > NODE_ICON_SIZE:
         pixmap = pixmap.scaledToHeight(NODE_ICON_SIZE,
                                        QtCore.Qt.SmoothTransformation)
     self._properties['icon'] = ICON_NODE_BASE
     self._icon_item = QtWidgets.QGraphicsPixmapItem(pixmap, self)
     self._icon_item.setTransformationMode(QtCore.Qt.SmoothTransformation)
     self._text_item = QtWidgets.QGraphicsTextItem(self.name, self)
     self._x_item = XDisabledItem(self, 'DISABLED')
     self._input_items = {}
     self._output_items = {}
     self._widgets = {}
Example #2
0
    def add_output(self, name='output', multi_port=False, display_name=True):
        """
        Args:
            name (str): name for the port.
            multi_port (bool): allow multiple connections.
            display_name (bool): display the port name.

        Returns:
            PortItem: output item widget
        """
        port = PortItem(self)
        port.name = name
        port.port_type = OUT_PORT
        port.multi_connection = multi_port
        port.display_name = display_name
        text = QtWidgets.QGraphicsTextItem(port.name, self)
        text.font().setPointSize(8)
        text.setFont(text.font())
        text.setVisible(display_name)
        self._output_items[port] = text
        if self.scene():
            self.post_init()
        return port