示例#1
0
    def paint(self, painter, option, widget):  # NODE

        w = self.getNodeWidth()
        # h = self.getTitleWidth()[1]

        # draw shadow
        painter.setPen(QtCore.Qt.NoPen)
        painter.setBrush(QtCore.Qt.darkGray)
        painter.drawRoundedRect(-8, -8, w, 20, 3, 3)

        # choose module color
        gradient = QtGui.QRadialGradient(-10, -10, 40)

        # update the face node based on the state of internal nodes.
        if self._role == 'Macro':
            if self._macroParent.isProcessing():
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.gray).lighter(70))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkGray).lighter(70))
            elif (option.state & QtGui.QStyle.State_Sunken) or (
                    self._macroParent.inComputeErrorState()):
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.red).lighter(150))
                gradient.setColorAt(1,
                                    QtGui.QColor(QtCore.Qt.red).lighter(170))
            elif self._macroParent.inValidateErrorState():
                gradient.setColorAt(
                    0,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(190))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(170))
            elif self._macroParent.inInitUIErrorState():
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.red).lighter(150))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(170))
            else:
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.gray).lighter(150))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkGray).lighter(150))

        # let the src and sink nodes update themselves normally
        else:
            conf = self.getCurState()
            if self._computeState is conf:
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.gray).lighter(70))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkGray).lighter(70))
            elif (option.state & QtGui.QStyle.State_Sunken) or (
                    self._computeErrorState is conf):
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.red).lighter(150))
                gradient.setColorAt(1,
                                    QtGui.QColor(QtCore.Qt.red).lighter(170))
            elif self._validateError is conf:
                gradient.setColorAt(
                    0,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(190))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(170))
            else:
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.gray).lighter(150))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkGray).lighter(150))

        # draw module box (apply color)
        painter.setBrush(QtGui.QBrush(gradient))
        if self.beingHovered or self.isSelected():
            #painter.setPen(QtGui.QPen(QtCore.Qt.red, 1))
            fade = QtGui.QColor(QtCore.Qt.red)
            fade.setAlpha(100)
            painter.setPen(QtGui.QPen(fade, 2))
        else:
            #painter.setPen(QtGui.QPen(QtCore.Qt.black, 0))
            fade = QtGui.QColor(QtCore.Qt.black)
            fade.setAlpha(50)
            painter.setPen(QtGui.QPen(fade, 0))

        painter.drawRoundedRect(-10, -10, w, 20, 3, 3)

        # title
        painter.setPen(QtGui.QPen(QtCore.Qt.black, 0))
        painter.setFont(self.title_font)

        buf = self.getMacroNodeName()

        # paint the node title
        painter.drawText(-5, -9, w, 20,
                         (QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter),
                         str(buf))
示例#2
0
    def paint(self, painter, option, widget):  # PORT
        # choose module color
        gradient = QtGui.QRadialGradient(-1, -1, 10)
        if option.state & QtGui.QStyle.State_Sunken:
            gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.red).lighter(150))
            gradient.setColorAt(1,
                                QtGui.QColor(QtCore.Qt.darkRed).lighter(150))
        # elif self._beingHovered:
        #    gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.darkRed).lighter(150))
        #    gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.red).lighter(150))
        elif isinstance(self, InPort):
            # if self.menuWidget:
            if self.isREQUIRED():
                # gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.yellow).lighter(200))
                # gradient.setColorAt(1,
                # QtGui.QColor(QtCore.Qt.darkYellow).lighter(200))
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.blue).lighter(200))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkBlue).lighter(200))
                # gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.gray).lighter(300))
                # gradient.setColorAt(0,
                # QtGui.QColor(QtCore.Qt.darkGray).lighter(150))
            else:
                gradient.setColorAt(0,
                                    QtGui.QColor(QtCore.Qt.green).lighter(200))
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.darkGreen).lighter(150))
            #    gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.gray).lighter(150))
            # gradient.setColorAt(1,
            # QtGui.QColor(QtCore.Qt.darkGray).lighter(100))
        elif isinstance(self, OutPort):
            # if self.menuWidget:
            # orange=QtGui.QColor().fromRgbF(1.,0.5,0.)
            # gradient.setColorAt(0, orange.lighter(200))
            # gradient.setColorAt(1, orange.lighter(100))
            # gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.blue).lighter(300))
            # gradient.setColorAt(1,
            # QtGui.QColor(QtCore.Qt.darkBlue).lighter(300))
            if self.dataIsNone():
                gradient.setColorAt(1,
                                    QtGui.QColor(QtCore.Qt.red).lighter(300))
                gradient.setColorAt(
                    0,
                    QtGui.QColor(QtCore.Qt.darkRed).lighter(150))
            elif self.dataHasChanged():
                # gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.gray).lighter(200))
                # gradient.setColorAt(0,
                # QtGui.QColor(QtCore.Qt.darkGray).lighter(100))
                gradient.setColorAt(1,
                                    QtGui.QColor(QtCore.Qt.blue).lighter(200))
                gradient.setColorAt(
                    0,
                    QtGui.QColor(QtCore.Qt.darkBlue).lighter(200))
            else:
                gradient.setColorAt(
                    1,
                    QtGui.QColor(QtCore.Qt.yellow).lighter(200))
                gradient.setColorAt(
                    0,
                    QtGui.QColor(QtCore.Qt.darkYellow).lighter(150))
        # else:
        # gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.blue).lighter(175))
        # gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.darkBlue).lighter(175))
        # gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.gray).lighter(150))
        # gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.darkGray).lighter(100))
        #    if self.dataIsNone():
        #        gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.red).lighter(150))
        #        gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.darkRed).lighter(100))
        #    elif self.dataHasChanged():
        #        gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.gray).lighter(150))
        #        gradient.setColorAt(1, QtGui.QColor(QtCore.Qt.darkGray).lighter(100))
        #    else:
        #        gradient.setColorAt(0, QtGui.QColor(QtCore.Qt.yellow).lighter(200))
        # gradient.setColorAt(1,
        # QtGui.QColor(QtCore.Qt.darkYellow).lighter(150))

        # draw module box (apply color)
        painter.setBrush(QtGui.QBrush(gradient))
        #painter.setPen(QtGui.QPen(QtCore.Qt.black, 0))
        fade = QtGui.QColor(QtCore.Qt.black)
        fade.setAlpha(50)
        painter.setPen(QtGui.QPen(fade, 0))

        # if isinstance(self,InPort):
        #    if self.isREQUIRED():
        #        painter.setPen(QtGui.QPen(QtCore.Qt.red, 0))
        #    else:
        #        painter.setPen(QtGui.QPen(QtCore.Qt.black, 0))
        #        #painter.setPen(QtGui.QPen(QtCore.Qt.yellow, 0))

        if self.isMemSaver():
            painter.drawPolygon(self.portShape_memSave)
        else:
            if self.menuWidget:
                painter.drawEllipse(1, 0, 5, 5)
            else:
                painter.drawPolygon(self.portShape)