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