def __init__(self, parent): super(PortList, self).__init__(parent) layout = QtWidgets.QGraphicsLinearLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(4) layout.setOrientation(QtCore.Qt.Vertical) self.setLayout(layout)
def __init__(self, parent): super(ItemHolder, self).__init__(parent) layout = QtWidgets.QGraphicsLinearLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout)
def __init__(self, parent, graph, name, color, dataType, connectionPointType): super(BasePort, self).__init__(parent) self._node = parent self._graph = graph self._name = name self._dataType = dataType self._connectionPointType = connectionPointType self.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)) layout = QtWidgets.QGraphicsLinearLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self._color = color self._inCircle = None self._outCircle = None self._labelItem = None self._inCircleHolder = ItemHolder(self) self._outCircleHolder = ItemHolder(self) self._labelItemHolder = ItemHolder(self) self.layout().addItem(self._inCircleHolder) self.layout().setAlignment(self._inCircleHolder, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.layout().addItem(self._labelItemHolder) self.layout().setAlignment(self._labelItemHolder, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter) self.layout().addItem(self._outCircleHolder) self.layout().setAlignment(self._outCircleHolder, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
def __init__ (self, text, parent = None): super (NodeHeader, self).__init__ (parent) self.setSizePolicy (QtWidgets.QSizePolicy (QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) layout = QtWidgets.QGraphicsLinearLayout () layout.setContentsMargins (0, 0, 0, 0) layout.setSpacing (3) layout.setOrientation (QtCore.Qt.Horizontal) self.setLayout (layout) self._titleWidget = NodeTitle (text, self) layout.addItem (self._titleWidget) layout.setAlignment (self._titleWidget, QtCore.Qt.AlignCenter | QtCore.Qt.AlignTop)
def __init__(self, graph, name): super(Node, self).__init__() self.__name = name self.__graph = graph self.__color = self.__defaultColor self.__unselectedColor = self.__defaultUnselectedColor self.__selectedColor = self.__defaultSelectedColor self.__unselectedPen = QtGui.QPen(self.__defaultUnselectedPen) self.__selectedPen = QtGui.QPen(self.__defaultSelectedPen) self.__linePen = QtGui.QPen(self.__defaultLinePen) self.setMinimumWidth(60) self.setMinimumHeight(20) self.setSizePolicy( QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) layout = QtWidgets.QGraphicsLinearLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) layout.setOrientation(QtCore.Qt.Vertical) self.setLayout(layout) self.__headerItem = NodeHeader(self.__name, self) layout.addItem(self.__headerItem) layout.setAlignment(self.__headerItem, QtCore.Qt.AlignCenter | QtCore.Qt.AlignTop) self.__ports = [] self.__inputPortsHolder = PortList(self) self.__ioPortsHolder = PortList(self) self.__outputPortsHolder = PortList(self) layout.addItem(self.__inputPortsHolder) layout.addItem(self.__ioPortsHolder) layout.addItem(self.__outputPortsHolder) self.__selected = False self.__dragging = False