Exemple #1
0
	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 )
Exemple #2
0
	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 )