def setupParameters(self): # if self.node is not None: # # get known node parametres # for name in [ 'text_color', 'bg_color', 'opacity', 'border', 'justify', 'text' ]: param = self.node.getInputParamByName(name) if param is not None: if name == 'text': self.text = param.value #print '* text = %s' % self.text elif name == 'border': self.showBorder = param.value #print '* showBorder = %s' % self.showBorder elif name == 'opacity': self.opacity = param.value #print '* opacity = %f' % self.opacity elif name == 'bg_color': r = param.value[0] g = param.value[1] b = param.value[2] self.bgColor = QtGui.QColor(r * 255, g * 255, b * 255) elif name == 'text_color': r = param.value[0] g = param.value[1] b = param.value[2] self.textColor = QtGui.QColor(r * 255, g * 255, b * 255) #print '* text_color = %f %f %f' % ( r, g, b ) elif name == 'justify': if param.value == 0: self.justify = QtCore.Qt.AlignLeft elif param.value == 1: self.justify = QtCore.Qt.AlignHCenter elif param.value == 2: self.justify = QtCore.Qt.AlignRight self.label_widget = GfxNodeLabel(self.node.label, bgFill=False) self.label_widget.setBold() self.label_widget.setNormalColor(self.textColor) if self.isSelected(): self.label_widget.setSelected() self.text_widget = GfxNodeLabel(self.text, bgFill=False) self.text_widget.setNormalColor(self.textColor) self.text_widget.setNormal(True) self.text_widget.justify = self.justify self.label_widget.setParentItem(self) self.text_widget.setParentItem(self)
def addGfxNodeParam ( self, param ) : # if DEBUG_MODE : print ">> GfxNode.addGfxNodeParam (%s)" % param.label if param.isInput : labels = self.inputParamLabels connectors = self.inputConnectors else : labels = self.outputParamLabels connectors = self.outputConnectors label = GfxNodeLabel ( param.label, param ) label.setBgColor ( self.bgColor ) label.setNormalColor ( self.normalColor ) if not param.isInput : label.setBold () if param.help is not None : label.setWhatsThis ( self.node.help ) self.updateGfxNodeParamLabel ( param, label ) labels.append ( label ) connector = GfxNodeConnector ( param, UI.CONNECTOR_RADIUS, node = None ) if not param.isInput : connector.singleLinkOnly = False connectors.append ( connector )
def setupParams ( self, params, labels, connectors, updateConnectors = True ): # for param in params : # ignore attributes if param.provider != 'attribute' : label = GfxNodeLabel ( param.label, param ) label.setBgColor ( self.bgColor ) label.setNormalColor ( self.normalColor ) if not param.isInput : label.setBold () if param.help is not None : label.setWhatsThis ( self.node.help ) if param.type in VALID_RSL_PARAM_TYPES : label.setNormal () isVarying = ( param.detail == 'varying' ) isPrimitive = ( param.provider == 'primitive' ) label.setItalic ( isVarying ) label.setSelected ( param.shaderParam ) label.setAlternate ( isPrimitive ) # this allows to change param.shaderParam attribute by CTRL-click on label # and switch param.provide to "primitive" by ALT-click label.setProcessEvents ( True ) labels.append ( label ) if updateConnectors : connector = GfxNodeConnector ( param, UI.CONNECTOR_RADIUS, node = None ) if not param.isInput : connector.singleLinkOnly = False connectors.append ( connector )
def setupHeader ( self ) : # if self.node.type != 'variable' : self.header [ 'label' ] = GfxNodeLabel ( self.node.label ) self.header [ 'label' ].setBgColor ( self.bgColor ) self.header [ 'label' ].setNormalColor ( self.normalColor ) self.header [ 'label' ].setBold () self.header [ 'label' ].setSelected ( self.isSelected () ) if self.node.help is not None : self.header [ 'label' ].setWhatsThis ( self.node.help ) self.header [ 'name' ] = GfxNodeLabel ( self.node.name ) self.header [ 'name' ].setBgColor ( self.bgColor ) self.header [ 'name' ].setNormalColor ( self.normalColor ) self.header [ 'name' ].setItalic () self.header [ 'name' ].setProcessEvents ( False ) if self.hasSwatch : self.header [ 'swatch' ] = GfxNodeSwatch ( self.swatchSize )