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))
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)