Esempio n. 1
0
    def setupUi(self, StringWidget):
        #
        self.widget = StringWidget
        self.labels = []
        self.controls = []

        font = QtGui.QFont()
        labelFontMetric = QtGui.QFontMetricsF(font)
        label_wi = 0
        char_wi = labelFontMetric.width('x')
        array_size = self.widget.param.arraySize
        if array_size > 0:
            label_wi = char_wi * (len(str(array_size - 1)) + 2)  # [0]

        for i in range(self.widget.param.arraySize):
            self.labels.append(QtModule.QLabel(StringWidget))
            self.labels[i].setMinimumSize(QtCore.QSize(label_wi, UI.HEIGHT))
            self.labels[i].setMaximumSize(QtCore.QSize(label_wi, UI.HEIGHT))
            self.labels[i].setAlignment(QtCore.Qt.AlignRight)
            self.labels[i].setText('[' + str(i) + ']')

            self.controls.append(QtModule.QLineEdit(StringWidget))
            self.controls[i].setMinimumSize(
                QtCore.QSize(UI.LABEL_WIDTH, UI.HEIGHT))
            self.controls[i].setMaximumSize(QtCore.QSize(UI.MAX, UI.HEIGHT))

            hl = QtModule.QHBoxLayout()
            hl.setStretch(0, 0)
            hl.setStretch(1, 1)
            hl.addWidget(self.labels[i])
            hl.addWidget(self.controls[i])
            self.widget.param_vl.addLayout(hl)

        self.connectSignals(StringWidget)
        QtCore.QMetaObject.connectSlotsByName(StringWidget)
Esempio n. 2
0
    def setupUi(self, StringWidget):
        #
        hl = QtModule.QHBoxLayout()
        self.widget = StringWidget

        self.selector = QtModule.QComboBox(StringWidget)
        self.selector.setEditable(False)
        self.selector.setMinimumSize(
            QtCore.QSize(UI.COMBO_WIDTH, UI.COMBO_HEIGHT))
        self.selector.setMaximumSize(QtCore.QSize(UI.MAX, UI.COMBO_HEIGHT))

        rangeList = self.widget.param.getRangeValues()

        for (label, value) in rangeList:
            #print "label = %s value = %s" % ( label, value )
            self.selector.addItem(label, value)

        spacer = QtModule.QSpacerItem(UI.HEIGHT, UI.HEIGHT,
                                      QtModule.QSizePolicy.Expanding,
                                      QtModule.QSizePolicy.Minimum)

        hl.addWidget(self.selector)
        hl.addItem(spacer)
        self.widget.param_vl.addLayout(hl)

        QtCore.QMetaObject.connectSlotsByName(StringWidget)
        self.connectSignals(StringWidget)
Esempio n. 3
0
    def setupUi(self, StringWidget):
        #
        hl = QtModule.QHBoxLayout()
        hl.setStretch(1, 1)

        self.widget = StringWidget

        self.stringEdit = QtModule.QLineEdit(StringWidget)

        self.stringEdit.setMinimumSize(QtCore.QSize(
            UI.LABEL_WIDTH, UI.HEIGHT))  # UI.EDIT_WIDTH
        self.stringEdit.setMaximumSize(QtCore.QSize(UI.MAX, UI.HEIGHT))

        self.btnBrowseDir = QtModule.QToolButton(StringWidget)
        self.btnBrowseDir.setText('...')
        self.btnBrowseDir.setMinimumSize(
            QtCore.QSize(UI.BROWSE_WIDTH, UI.HEIGHT))
        self.btnBrowseDir.setMaximumSize(
            QtCore.QSize(UI.BROWSE_WIDTH, UI.HEIGHT))

        hl.addWidget(self.stringEdit)
        hl.addWidget(self.btnBrowseDir)
        self.widget.param_vl.addLayout(hl)
        QtCore.QMetaObject.connectSlotsByName(StringWidget)
        self.connectSignals(StringWidget)
Esempio n. 4
0
    def updateNodeParams(self, node):
        #
        self.ui.list_inputs.clear()
        self.ui.list_outputs.clear()

        linkedFont = QtGui.QFont()
        linkedFont.setItalic(True)
        linkedBrush = QtGui.QBrush()
        linkedBrush.setColor(QtCore.Qt.blue)
        # setup input params list
        for param in node.inputParams:
            item = QtModule.QListWidgetItem(param.label)
            item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(param))
            item.setData(QtCore.Qt.UserRole + 2, QtCore.QVariant(node))
            if node.isInputParamLinked(param):
                item.setFont(linkedFont)
                item.setForeground(linkedBrush)
            self.ui.list_inputs.addItem(item)
        # setup output params list
        for param in node.outputParams:
            item = QtModule.QListWidgetItem(param.label)
            item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(param))
            item.setData(QtCore.Qt.UserRole + 2, QtCore.QVariant(node))
            if node.isOutputParamLinked(param):
                item.setFont(linkedFont)
                item.setForeground(linkedBrush)
            self.ui.list_outputs.addItem(item)
Esempio n. 5
0
	def mousePressEvent ( self, event ) :
		#if DEBUG_MODE : print ">> mousePressEvent"
		#if DEBUG_MODE : print self
		self.hilite( True )
		if event.modifiers () == QtCore.Qt.ControlModifier :
			# start new ConnectorNode
			self.state = 'traceNodeConnector'
			if  usePyQt4 :
				self.getScene ().emit ( QtCore.SIGNAL ( 'startNodeConnector' ), self, event.scenePos () )
			else :
				self.getScene ().startNodeConnector.emit ( self, event.scenePos () )
		else :
			if not self.isNode () :
				# start new link
				self.state = 'traceNodeLink'
				if  usePyQt4 :
					self.getScene ().emit ( QtCore.SIGNAL ( 'startNodeLink' ), self  )
				else :
					#if DEBUG_MODE : print '* startNodeLink.emit '
					#if DEBUG_MODE : print self
					self.getScene ().startNodeLink.emit ( self )
		if self.state != 'idle' :
			self.grabMouse ()
			event.accept ()
		else :
			QtModule.QGraphicsItem.mousePressEvent ( self, event )
 def onEditNodeStrAttrLabel(self):
     #
     oldLabel = self.editNode.label
     newLabel = str(self.ui.label_lineEdit.text()).strip()
     if newLabel == '':
         if usePyQt4:
             self.disconnect(self.ui.label_lineEdit,
                             QtCore.SIGNAL('editingFinished()'),
                             self.onEditNodeStrAttrLabel)
         else:
             self.ui.label_lineEdit.editingFinished.disconnect(
                 self.onEditNodeStrAttrLabel)
         newLabel = oldLabel
         self.ui.label_lineEdit.setText(newLabel)
         if usePyQt4:
             self.connect(self.ui.label_lineEdit,
                          QtCore.SIGNAL('editingFinished()'),
                          self.onEditNodeStrAttrLabel)
         else:
             self.ui.label_lineEdit.editingFinished.connect(
                 self.onEditNodeStrAttrLabel)
     if newLabel != oldLabel:
         self.editNode.label = newLabel
         if usePyQt4:
             self.emit(QtCore.SIGNAL('changeNodeLabel'), oldLabel, newLabel)
         else:
             self.changeNodeLabel.emit(oldLabel, newLabel)
Esempio n. 7
0
 def buildRecentProjectsMenu(self):
     #
     print '>> buildRecentProjectsMenu ...'
     if usePyQt4:
         #self.recentProjects = app_settings.value ( 'RecentProjects' ).toStringList ()
         print '>> self.recentProjects:', self.recentProjects
         self.ui.menuRecent_Projects.clear()
         if len(self.recentProjects):
             icon = QtGui.QIcon.fromTheme(
                 'folder', QtGui.QIcon(':/file_icons/resources/open.png'))
             # QtGui.QIcon ( ':/file_icons/resources/recentFile.png' ) 'folder'
             for i, fname in enumerate(self.recentProjects):
                 # QtCore.QFileInfo ( fname ).fileName ()
                 action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname),
                                           self)
                 action.setData(QtCore.QVariant(fname))
                 self.connect(action, QtCore.SIGNAL('triggered()'),
                              self.onOpenRecentProject)
                 self.ui.menuRecent_Projects.addAction(action)
     else:
         #self.recentProjects = app_settings.value ( 'RecentProjects' )
         print '>> self.recentProjects:', self.recentProjects
         self.ui.menuRecent_Projects.clear()
         if len(self.recentProjects):
             icon = QtGui.QIcon.fromTheme(
                 'folder', QtGui.QIcon(':/file_icons/resources/open.png'))
             # QtGui.QIcon ( ':/file_icons/resources/recentFile.png' ) 'folder'
             for i, fname in enumerate(self.recentProjects):
                 # QtCore.QFileInfo ( fname ).fileName ()
                 action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname),
                                           self)
                 action.setData(fname)
                 action.triggered.connect(self.onOpenRecentProject)
                 self.ui.menuRecent_Projects.addAction(action)
Esempio n. 8
0
	def setupUi ( self, FloatWidget ) :
		#
		self.widget = FloatWidget
		self.labels = []
		self.controls = []
		
		font = QtGui.QFont ()
		labelFontMetric = QtGui.QFontMetricsF ( font )
		label_wi = 0
		char_wi = labelFontMetric.width ( 'x' )
		array_size = self.widget.param.arraySize
		if array_size > 0 :
			label_wi =  char_wi * ( len ( str ( array_size - 1 ) ) + 2 ) # [0]
		
		for i in range ( self.widget.param.arraySize ) :
			self.labels.append ( QtModule.QLabel ( FloatWidget ) )
			self.labels [ i ].setMinimumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) )
			self.labels [ i ].setMaximumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) )
			self.labels [ i ].setAlignment ( QtCore.Qt.AlignRight )
			self.labels [ i ].setText ( '[' + str ( i ) + ']' )
			
			self.controls.append ( QtModule.QLineEdit ( FloatWidget ) )
			self.controls [ i ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			self.controls [ i ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			
			sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND,  UI.SP_MIN )
			
			hl = QtModule.QHBoxLayout ()
			hl.addWidget ( self.labels [ i ] )
			hl.addWidget ( self.controls [ i ] )
			hl.addItem ( sp )
			self.widget.param_vl.addLayout ( hl )
		
		self.connectSignals ( FloatWidget )
		QtCore.QMetaObject.connectSlotsByName ( FloatWidget )
Esempio n. 9
0
 def buildRecentNetworksMenu(self):
     #
     if usePyQt4:
         #self.recentNetworks = app_settings.value ( 'RecentNetworks' ).toStringList ()
         self.ui.menuRecent_Networks.clear()
         if len(self.recentNetworks):
             for i, fname in enumerate(self.recentNetworks):
                 icon = QtGui.QIcon.fromTheme(
                     'document-new',
                     QtGui.QIcon(':/file_icons/resources/new.png'))
                 # QtCore.QFileInfo ( fname ).fileName ()
                 action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname),
                                           self)
                 action.setData(QtCore.QVariant(fname))
                 self.connect(action, QtCore.SIGNAL('triggered()'),
                              self.onOpenRecentNetwork)
                 self.ui.menuRecent_Networks.addAction(action)
     else:
         #self.recentNetworks = app_settings.value ( 'RecentNetworks' )
         self.ui.menuRecent_Networks.clear()
         if len(self.recentNetworks):
             for i, fname in enumerate(self.recentNetworks):
                 icon = QtGui.QIcon.fromTheme(
                     'document-new',
                     QtGui.QIcon(':/file_icons/resources/new.png'))
                 # QtCore.QFileInfo ( fname ).fileName ()
                 action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname),
                                           self)
                 action.setData(fname)
                 action.triggered.connect(self.onOpenRecentNetwork)
                 self.ui.menuRecent_Networks.addAction(action)
Esempio n. 10
0
 def addRecentProject(self, project):
     #
     print '>> addRecentProject ', project
     if project is not None:
         if usePyQt4:
             recent_projects_max = getDefaultValue(app_settings, '',
                                                   'recent_projects_max')
             if project not in self.recentProjects:
                 self.recentProjects.prepend(QtCore.QString(project))
             while self.recentProjects.count() > recent_projects_max:
                 self.recentProjects.takeLast()
             recentProjects = QtCore.QVariant(
                 self.recentProjects
             ) if self.recentProjects else QtCore.QVariant()
             app_settings.setValue('RecentProjects', recentProjects)
         else:
             recent_projects_max = getDefaultValue(app_settings, '',
                                                   'recent_projects_max')
             if project not in self.recentProjects:
                 self.recentProjects.insert(0, project)
                 while len(self.recentProjects) > recent_projects_max:
                     self.recentProjects.pop()
                 app_settings.setValue('RecentProjects',
                                       self.recentProjects)
                 print '* project added recentProjects =', self.recentProjects
         print '* recentProjects =', self.recentProjects
Esempio n. 11
0
 def disconnectSignals(self, PointWidget):
     #
     for i in range(self.widget.param.arraySize):
         if usePyQt4:
             PointWidget.disconnect(self.controls[i][0],
                                    QtCore.SIGNAL('editingFinished()'),
                                    self.onFloatEditEditingFinished)
             PointWidget.disconnect(self.controls[i][1],
                                    QtCore.SIGNAL('editingFinished()'),
                                    self.onFloatEditEditingFinished)
             PointWidget.disconnect(self.controls[i][2],
                                    QtCore.SIGNAL('editingFinished()'),
                                    self.onFloatEditEditingFinished)
             PointWidget.disconnect(self.controls[i][3],
                                    QtCore.SIGNAL('activated(int)'),
                                    self.onCurrentIndexChanged)
         else:
             self.controls[i][0].editingFinished.disconnect(
                 self.onFloatEditEditingFinished)
             self.controls[i][1].editingFinished.disconnect(
                 self.onFloatEditEditingFinished)
             self.controls[i][2].editingFinished.disconnect(
                 self.onFloatEditEditingFinished)
             self.controls[i][3].activated.disconnect(
                 self.onCurrentIndexChanged)
Esempio n. 12
0
    def buildGui(self):
        # build the gui created with QtDesigner
        self.ui = Ui_ExportShaderDialog()
        self.ui.setupUi(self)
        if self.editNode is not None:
            #
            self.setWindowTitle('ExportShader: %s (%s)' %
                                (self.editNode.label, self.editNode.name))

            separator = QtModule.QListWidgetItem('---- exported shader ----')
            separator.setFlags(QtCore.Qt.NoItemFlags)
            self.ui.list_nodes.addItem(separator)

            item = QtModule.QListWidgetItem(self.editNode.label)
            node_var = QtCore.QVariant(self.editNode)
            item.setData(QtCore.Qt.UserRole + 1, node_var)
            self.ui.list_nodes.addItem(item)

            separator = QtModule.QListWidgetItem('---- connected nodes ----')
            separator.setFlags(QtCore.Qt.NoItemFlags)
            self.ui.list_nodes.addItem(separator)

            #childrenList = []
            #childrenList = self.editNode.getChildrenList ( childrenList )
            self.computed_code = self.editNode.getComputedCode(CodeOnly=True)
            print '*** (%s) children list: ' % self.editNode.label
            for node in self.editNode.visitedNodes:  #childrenList :
                print '* (%s)' % node.label
                item = QtModule.QListWidgetItem(node.label)
                item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(node))
                self.ui.list_nodes.addItem(item)
Esempio n. 13
0
		def setupUi(self, nodeLibraryView):
				nodeLibraryView.setObjectName(_fromUtf8("nodeLibraryView"))
				nodeLibraryView.resize(447, 443)
				self.verticalLayout = QtModule.QVBoxLayout(nodeLibraryView)
				self.verticalLayout.setSpacing(0)
				self.verticalLayout.setContentsMargins(2, 2, 2, 0)
				self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
				self.horizontalLayout = QtModule.QHBoxLayout()
				self.horizontalLayout.setSpacing(-1)
				self.horizontalLayout.setContentsMargins(8, -1, 8, -1)
				self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
				self.btn_reload = QtModule.QPushButton(nodeLibraryView)
				self.btn_reload.setMinimumSize(QtCore.QSize(60, 20))
				self.btn_reload.setMaximumSize(QtCore.QSize(60, 20))
				self.btn_reload.setObjectName(_fromUtf8("btn_reload"))
				self.horizontalLayout.addWidget(self.btn_reload)
				spacerItem = QtModule.QSpacerItem(40, 20, QtModule.QSizePolicy.Expanding, QtModule.QSizePolicy.Minimum)
				self.horizontalLayout.addItem(spacerItem)
				self.horizontalLayout.setStretch(1, 1)
				self.verticalLayout.addLayout(self.horizontalLayout)
				self.nodeList = NodeList(nodeLibraryView)
				self.nodeList.setObjectName(_fromUtf8("nodeList"))
				self.verticalLayout.addWidget(self.nodeList)
				self.verticalLayout.setStretch(1, 1)

				self.retranslateUi(nodeLibraryView)
				
				if  usePyQt4 :
					QtCore.QObject.connect(self.btn_reload, QtCore.SIGNAL(_fromUtf8("clicked()")), nodeLibraryView.onReload)
				else :
					self.btn_reload.clicked.connect( nodeLibraryView.onReload)
				QtCore.QMetaObject.connectSlotsByName(nodeLibraryView)
Esempio n. 14
0
 def startDrag(self, dropActions):
     #
     if DEBUG_MODE: print('>> NodeTreeView::startDrag')
     selectedIdx = self.selectedIndexes()
     # for idx in selectedIdx :
     idx = selectedIdx[0]
     item = self.model().itemFromIndex(idx)
     #print "item = %s" % item.text()
     # set custom data
     data = QtCore.QByteArray()
     stream = QtCore.QDataStream(data, QtCore.QIODevice.WriteOnly)
     itemName = item.text()
     if usePyQt4:
         itemFilename = item.data(QtCore.Qt.UserRole + 4).toString()
     else:
         itemFilename = item.data(QtCore.Qt.UserRole + 4)
     if not usePyQt5:
         if usePySide:
             stream.writeString(itemFilename)
         else:
             stream << itemFilename
     else:
         stream.writeBytes(itemFilename)
     if DEBUG_MODE: print('* write itemFilename = %s' % (itemFilename))
     mimeData = QtCore.QMimeData()
     mimeData.setData('application/x-text', data)
     # set drag
     drag = QtGui.QDrag(self)
     drag.setMimeData(mimeData)
     #drag.setPixmap ( QtGui.QPixmap(':/node.png') )
     if not usePyQt5:
         drag.start(QtCore.Qt.CopyAction)
     else:
         drag.exec_(QtCore.Qt.CopyAction)
Esempio n. 15
0
	def disconnectSignals ( self, FloatWidget ) :
		#
		if usePyQt4 :
			FloatWidget.disconnect ( self.floatEdit, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished )
			FloatWidget.disconnect ( self.slider, QtCore.SIGNAL ( 'valueChanged(int)' ), self.onSliderValueChanged )
		else :
			self.floatEdit.editingFinished.disconnect ( self.onFloatEditEditingFinished )
			self.slider.valueChanged.disconnect ( self.onSliderValueChanged )
Esempio n. 16
0
	def disconnectSignals ( self ) :
		#
		if usePyQt4 :
			QtCore.QObject.disconnect ( self.node, QtCore.SIGNAL ( 'nodeUpdated' ), self.onUpdateNode )
			QtCore.QObject.disconnect ( self.node, QtCore.SIGNAL ( 'nodeParamsUpdated' ), self.onUpdateNodeParams )
		else :
			self.node.nodeUpdated.disconnect ( self.onUpdateNode )
			self.node.nodeParamsUpdated.disconnect ( self.onUpdateNodeParams )
Esempio n. 17
0
 def onSave(self):
     # get data from Gui for current renderer before saving
     self.getDataFromGui()
     if usePyQt4:
         self.emit(QtCore.SIGNAL('presetChanged'))
         self.emit(QtCore.SIGNAL('savePreset'))
     else:
         self.presetChanged.emit()
         self.savePreset.emit()
Esempio n. 18
0
 def connectSignals(self, IntWidget):
     #
     if usePyQt4:
         IntWidget.connect(self.intEdit, QtCore.SIGNAL('editingFinished()'),
                           self.onIntEditEditingFinished)
         IntWidget.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'),
                           self.onSliderValueChanged)
     else:
         self.intEdit.editingFinished.connect(self.onIntEditEditingFinished)
         self.slider.valueChanged.connect(self.onSliderValueChanged)
Esempio n. 19
0
 def connectSignals(self):
     #
     if usePyQt4:
         self.connect(self.nameEdit, QtCore.SIGNAL('editingFinished()'),
                      self.nodeLabelChanged)
         self.connect(self.showConnectButton,
                      QtCore.SIGNAL('toggled(bool)'), self.showConnections)
     else:
         self.nameEdit.editingFinished.connect(self.nodeLabelChanged)
         self.showConnectButton.toggled.connect(self.showConnections)
Esempio n. 20
0
 def connectSignals(self):
     if usePyQt4:
         QtCore.QObject.connect(self, QtCore.SIGNAL('selectionChanged()'),
                                self.view.onSelectionChanged)
         QtCore.QObject.connect(self, QtCore.SIGNAL('startNodeLink'),
                                self.view.onStartNodeLink)
         QtCore.QObject.connect(self, QtCore.SIGNAL('traceNodeLink'),
                                self.view.onTraceNodeLink)
         QtCore.QObject.connect(self, QtCore.SIGNAL('endNodeLink'),
                                self.view.onEndNodeLink)
         QtCore.QObject.connect(self, QtCore.SIGNAL('startNodeConnector'),
                                self.view.onStartNodeConnector)
         QtCore.QObject.connect(self, QtCore.SIGNAL('traceNodeConnector'),
                                self.view.onTraceNodeConnector)
         QtCore.QObject.connect(self, QtCore.SIGNAL('endNodeConnector'),
                                self.view.onEndNodeConnector)
         QtCore.QObject.connect(self, QtCore.SIGNAL('onGfxNodeRemoved'),
                                self.view.onRemoveNode)
         QtCore.QObject.connect(self, QtCore.SIGNAL('onGfxLinkRemoved'),
                                self.view.onRemoveLink)
     else:
         self.selectionChanged.connect(self.view.onSelectionChanged)
         self.startNodeLink.connect(self.view.onStartNodeLink)
         self.traceNodeLink.connect(self.view.onTraceNodeLink)
         self.endNodeLink.connect(self.view.onEndNodeLink)
         self.startNodeConnector.connect(self.view.onStartNodeConnector)
         self.traceNodeConnector.connect(self.view.onTraceNodeConnector)
         self.endNodeConnector.connect(self.view.onEndNodeConnector)
         self.onGfxNodeRemoved.connect(self.view.onRemoveNode)
         self.onGfxLinkRemoved.connect(self.view.onRemoveLink)
Esempio n. 21
0
	def setupUi ( self, NormalWidget ) :
		#
		self.widget = NormalWidget
		self.labels = []
		self.controls = []
		
		font = QtGui.QFont ()
		labelFontMetric = QtGui.QFontMetricsF ( font )
		label_wi = 0
		char_wi = labelFontMetric.width ( 'x' )
		array_size = self.widget.param.arraySize
		if array_size > 0 :
			label_wi =  char_wi * ( len ( str ( array_size - 1 ) ) + 2 ) # [0]
		
		for i in range ( self.widget.param.arraySize ) :
			self.labels.append ( QtModule.QLabel ( NormalWidget ) )
			self.labels [ i ].setMinimumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) )
			self.labels [ i ].setMaximumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) )
			self.labels [ i ].setAlignment ( QtCore.Qt.AlignRight )
			self.labels [ i ].setText ( '[' + str ( i ) + ']' )
			
			elem = []
			
			elem.append ( QtModule.QLineEdit( NormalWidget ) )
			elem.append ( QtModule.QLineEdit( NormalWidget ) )
			elem.append ( QtModule.QLineEdit( NormalWidget ) )
			elem.append ( QtModule.QComboBox ( NormalWidget ) )
			
			elem [ 0 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			elem [ 1 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			elem [ 2 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			
			elem [ 0 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			elem [ 1 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			elem [ 2 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
			
			elem [ 3 ].setEditable ( False )
			elem [ 3 ].setMaximumSize ( QtCore.QSize( UI.MAX, UI.COMBO_HEIGHT ) )
			
			for label in VALID_RSL_SPACES :
				elem [ 3 ].addItem ( label )
			space = self.widget.param.spaceArray [ i ]
			if space != None :
				elem [ 3 ].setCurrentIndex ( elem [ 3 ].findText ( space ) )

			self.controls.append ( elem )
			
			sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND, UI.SP_MIN )
			
			hl = QtModule.QHBoxLayout ()
			hl.addWidget ( self.labels [ i ] )
			hl.addWidget ( elem [ 0 ] )
			hl.addWidget ( elem [ 1 ] )
			hl.addWidget ( elem [ 2 ] )
			hl.addWidget ( elem [ 3 ] )
			hl.addItem ( sp )
			self.widget.param_vl.addLayout ( hl )
		
		self.connectSignals ( NormalWidget )
		QtCore.QMetaObject.connectSlotsByName ( NormalWidget )
Esempio n. 22
0
 def connectSignals(self, ColorWidget):
     # register signal propertyChanged for updating the gui
     #self.connect( self.colorProperty, QtCore.SIGNAL('propertyChanged()'), self.onPropertyChanged )
     if usePyQt4:
         ColorWidget.connect(ColorWidget, QtCore.SIGNAL('clicked()'),
                             self.onClicked)
         ColorWidget.connect(self.selector, QtCore.SIGNAL('activated(int)'),
                             self.onCurrentIndexChanged)
     else:
         ColorWidget.clicked.connect(self.onClicked)
         self.selector.activated.connect(self.onCurrentIndexChanged)
Esempio n. 23
0
 def buildGui(self):
     #
     #print ( '>>> ColorField.buildGui' )
     # install a custom filter in order to avoid subclassing
     self.colorFieldEventFilter = ColorFieldEventFilter(self)
     self.colorEdit = QtModule.QLabel(self)
     self.colorEdit.setMinimumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT))
     self.colorEdit.setMaximumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT))
     self.setMinimumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT))
     self.setMaximumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT))
     self.colorEdit.installEventFilter(self.colorFieldEventFilter)
Esempio n. 24
0
    def setupUi(self, ColorWidget):
        #
        print('>> Ui_ColorWidget_array.setupUi (%s)' % ColorWidget.param.label)
        self.widget = ColorWidget
        self.labels = []
        self.controls = []

        font = QtGui.QFont()
        labelFontMetric = QtGui.QFontMetricsF(font)
        label_wi = 0
        char_wi = labelFontMetric.width('x')
        array_size = self.widget.param.arraySize
        if array_size > 0:
            label_wi = char_wi * (len(str(array_size - 1)) + 2)  # [0]

        for i in range(self.widget.param.arraySize):
            self.labels.append(QtModule.QLabel(ColorWidget))
            self.labels[i].setMinimumSize(QtCore.QSize(label_wi, UI.HEIGHT))
            self.labels[i].setMaximumSize(QtCore.QSize(label_wi, UI.HEIGHT))
            self.labels[i].setAlignment(QtCore.Qt.AlignRight)
            self.labels[i].setText('[' + str(i) + ']')

            elem = []

            elem.append(ColorField(ColorWidget, self.widget.param.value[i], i))
            elem.append(QtModule.QComboBox(ColorWidget))

            elem[1].setEditable(False)
            elem[1].setMaximumSize(QtCore.QSize(UI.MAX, UI.COMBO_HEIGHT))

            for label in VALID_RSL_COLOR_SPACES:
                elem[1].addItem(label)
            space = self.widget.param.spaceArray[i]
            if space != None:
                elem[1].setCurrentIndex(elem[1].findText(space))

            self.controls.append(elem)

            sp = QtModule.QSpacerItem(0, 0, UI.SP_EXPAND, UI.SP_MIN)

            hl = QtModule.QHBoxLayout()
            hl.setContentsMargins(UI.SPACING, UI.SPACING, UI.SPACING,
                                  UI.SPACING)
            hl.setSpacing(UI.SPACING)

            hl.addWidget(self.labels[i])
            hl.addWidget(elem[0])
            hl.addWidget(elem[1])
            hl.addItem(sp)
            self.widget.param_vl.addLayout(hl)

        self.connectSignals(ColorWidget)
        QtCore.QMetaObject.connectSlotsByName(ColorWidget)
Esempio n. 25
0
 def connectSignals(self, StringWidget):
     #
     if usePyQt4:
         StringWidget.connect(self.stringEdit,
                              QtCore.SIGNAL('editingFinished()'),
                              self.onStringEditEditingFinished)
         StringWidget.connect(self.btnBrowseDir, QtCore.SIGNAL('clicked()'),
                              self.onBrowseFile)
     else:
         self.stringEdit.editingFinished.connect(
             self.onStringEditEditingFinished)
         self.btnBrowseDir.clicked.connect(self.onBrowseFile)
Esempio n. 26
0
 def connectSignals(self, ColorWidget):
     #
     for i in range(self.widget.param.arraySize):
         elem = self.controls[i]
         if usePyQt4:
             ColorWidget.connect(elem[0], QtCore.SIGNAL('clicked(int)'),
                                 self.onClicked)
             ColorWidget.connect(elem[1], QtCore.SIGNAL('activated(int)'),
                                 self.onCurrentIndexChanged)
         else:
             elem[0].clicked.connect(self.onClicked)
             elem[1].activated.connect(self.onCurrentIndexChanged)
Esempio n. 27
0
	def disconnectSignals ( self, NormalWidget ) :
		#
		if usePyQt4 :
			NormalWidget.disconnect ( self.floatEdit0, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished )
			NormalWidget.disconnect ( self.floatEdit1, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished )
			NormalWidget.disconnect ( self.floatEdit2, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished )
			NormalWidget.disconnect ( self.selector, QtCore.SIGNAL ( 'activated(int)' ), self.onCurrentIndexChanged )
		else :
			self.floatEdit0.editingFinished.disconnect ( self.onFloatEditEditingFinished )
			self.floatEdit1.editingFinished.disconnect ( self.onFloatEditEditingFinished )
			self.floatEdit2.editingFinished.disconnect ( self.onFloatEditEditingFinished )
			self.selector.activated.disconnect ( self.onCurrentIndexChanged ) 
Esempio n. 28
0
 def connectSignals(self):
     #
     if usePyQt4:
         QtCore.QObject.connect(self.ui.treeView,
                                QtCore.SIGNAL("pressed(QModelIndex)"),
                                self.clicked)
         QtCore.QObject.connect(self.ui.treeView,
                                QtCore.SIGNAL("doubleClicked(QModelIndex)"),
                                self.doubleClicked)
     else:
         self.ui.treeView.pressed.connect(self.clicked)
         self.ui.treeView.doubleClicked.connect(self.doubleClicked)
Esempio n. 29
0
 def connectSignals(self):
     #
     if usePyQt4:
         QtCore.QObject.connect(self.ui.imageArea,
                                QtCore.SIGNAL('mouseDoubleClickSignal'),
                                self.updateViewer)
         QtCore.QObject.connect(self.ui.selector,
                                QtCore.SIGNAL('currentIndexChanged(int)'),
                                self.onViewerChanged)
         #QtCore.QObject.connect( self.ui, QtCore.SIGNAL( 'paramChanged()' ), self.onParamChanged )
     else:
         self.ui.imageArea.mouseDoubleClickSignal.connect(self.updateViewer)
         self.ui.selector.currentIndexChanged.connect(self.onViewerChanged)
Esempio n. 30
0
	def setupUi ( self, FloatWidget ) :
		#
		self.widget = FloatWidget
		hl = QtModule.QHBoxLayout ()
		self.floatEdit = QtModule.QLineEdit ( FloatWidget )
		self.floatEdit.setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) # UI.EDIT_WIDTH
		self.floatEdit.setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) )
		sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND, UI.SP_MIN )
		hl.addWidget ( self.floatEdit )
		hl.addItem ( sp )
		self.widget.param_vl.addLayout ( hl )
		self.connectSignals ( FloatWidget )
		QtCore.QMetaObject.connectSlotsByName ( FloatWidget )