def __init__(self, parent=None, **kwargs): QGraphicsItem.__init__(self, parent=parent) self.enabled = kwargs.get('enabled', True) self.color = kwargs.get('color', QColor(31, 32, 33, 255)) self.disabled_color = kwargs.get('disabled_color', QColor(125, 125, 125, 255)) self.selected_color = kwargs.get('selected_color', QColor(30, 35, 40, 255)) self.disabled_border_width = kwargs.get('disabled_border_width', 1.5) self.selected_border_width = kwargs.get('selected_border_width', 1.5) self.disabled_border_color = kwargs.get('disabled_border_color', QColor(40, 40, 40, 255)) self.selected_border_color = kwargs.get('selected_border_color', QColor(250, 210, 90, 255)) self.disabled_shadow_color = kwargs.get('disabled_shadow_color', QColor(35, 35, 35, 60)) self.selected_shadow_color = kwargs.get('selected_shadow_color', QColor(105, 55, 0, 60)) self.disabled_border_style = kwargs.get('disabled_border_style', Qt.DashDotLine) self.selected_border_style = kwargs.get('selected_border_style', Qt.DashLine) self._border_width = kwargs.get('border_width', 1.5) self._shadow_color = kwargs.get('shadow_color', QColor(0, 0, 0, 60)) self._border_color = kwargs.get('border_color', QColor(10, 10, 10, 255)) self._border_type = kwargs.get('border_type', Qt.SolidLine) self._current_pos = QPointF(0, 0) self._new_pos = QPointF(0, 0) self._width = kwargs.get('width', 120) self._height = kwargs.get('height', 40) self._sizes = [0, 0, self._width, self._height, 7, 7] # [x, y, width, height, radius_x, radius_x] self._is_hovered = False self._render_effects = True
def __init__(self, name, graph, w=8000, color=Colors.NodeBackgrounds, headColor=Colors.NodeNameRect, bUseTextureBg=False): QGraphicsItem.__init__(self) NodeBase.__init__(self, name, graph) self.setCacheMode(QGraphicsItem.DeviceCoordinateCache) self.opt_node_base_color = Colors.NodeBackgrounds self.opt_selected_pen_color = Colors.NodeSelectedPenColor self.opt_pen_selected_type = QtCore.Qt.SolidLine self._left_stretch = 0 self.color = color self.height_offset = 3 self.nodeMainGWidget = QGraphicsWidget(self) self.nodeMainGWidget.setObjectName('{0}MainLayout'.format(name)) self._w = 0 self.h = 40 self.sizes = [0, 0, self.w, self.h, 10, 10] self.w = w self.setFlag(QGraphicsItem.ItemIsMovable) self.setFlag(QGraphicsItem.ItemIsFocusable) self.setFlag(QGraphicsItem.ItemIsSelectable) self.setFlag(QGraphicsItem.ItemSendsGeometryChanges) self.custom_widget_data = {} # node name self.label = weakref.ref(NodeName(self, bUseTextureBg, headColor)) # set node layouts self.nodeMainGWidget.setParentItem(self) # main self.portsMainLayout = QGraphicsLinearLayout(QtCore.Qt.Horizontal) self.portsMainLayout.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) self.portsMainLayout.setContentsMargins(1, 1, 1, 1) self.nodeMainGWidget.setLayout(self.portsMainLayout) self.nodeMainGWidget.setX(self.nodeMainGWidget.x()) # inputs layout self.inputsLayout = QGraphicsLinearLayout(QtCore.Qt.Vertical) self.inputsLayout.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) self.inputsLayout.setContentsMargins(1, 1, 1, 1) self.portsMainLayout.addItem(self.inputsLayout) # outputs layout self.outputsLayout = QGraphicsLinearLayout(QtCore.Qt.Vertical) self.outputsLayout.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) self.outputsLayout.setContentsMargins(1, 1, 1, 1) self.portsMainLayout.addItem(self.outputsLayout) self.setZValue(1) self.tweakPosition() self.icon = None self._Constraints = {} self.asGraphSides = False self.isTemp = False