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 setupParams ( self, params, labels, connectors ): for param in params : # ignore attributes if param.provider != 'attribute' : label = GfxNodeLabel ( param.label ) label.brush = self.BrushNodeNormal label.PenNormal = self.PenBorderNormal if not param.isInput : label.font.setBold( True ) if param.shaderParam : #label.font.setBold( True ) label.PenNormal = self.PenNodeShaderParam labels.append( label ) connector = GfxNodeConnector ( param, 5 ) if not param.isInput: connector.singleLinkOnly = False if param.encodedTypeStr() in self.paramsBrushes.keys() : connector.brush = self.paramsBrushes[ param.encodedTypeStr() ] connectors.append ( connector )