Пример #1
0
        def __init__(self, materialData):
            self.materialData = materialData

            uiPath =  os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui")
            uiFileName = os.path.join(uiPath, "SingleMaterialEditorWidget.ui")

            l = QtUiTools.QUiLoader()
            l.setWorkingDirectory(QtCore.QDir(uiPath))
            self.ui = l.load(QtCore.QFile(str(uiFileName)))

            findChild = lambda name: self.ui.findChild(PythonQt.QtCore.QObject, name)

            self.scriptTextEditor = findChild("scriptTextEdit")
            self.highlighter = PythonHighlighter.PythonHighlighter(self.scriptTextEditor)
            self.scriptTextEditor.setText(materialData.scriptData)
            self.scriptTextEditor.connect('textChanged()', self.saveScriptText)
            self.helpButton = findChild("helpButton")
            self.helpButton.connect('clicked(bool)', self.showHelpTooltip)

            self.inputVariableComboBox = findChild("inputVariableComboBox")
            self.inputVariableComboBox.setCurrentIndex(self.materialData.tableData.inputVariableType)
            self.inputVariableComboBox.connect('currentIndexChanged(int)', self.setInputVariableType)

            self.representationComboBox = findChild("representationComboBox")
            self.customMaterialFrame = findChild("customMaterialFrame")
            self.overrideCheckBox = findChild("overrideCheckBox")

            if materialData.representation == RepresentationType.Constant:
                self.customMaterialFrame.hide()
            else:
                self.overrideCheckBox.setChecked(True)
                self.representationComboBox.setCurrentIndex(materialData.representation)

            self.overrideCheckBox.connect('toggled(bool)', self.enableRepresentationOverride)
            self.representationComboBox.connect('currentIndexChanged(int)', self.setRepresentationByComboBoxIndex)

            self.materialNameLineEdit = findChild("materialNameLineEdit")
            self.materialNameLineEdit.setText(materialData.name)

            self.tableWidget = findChild("tableWidget")

            findChild("addRowBeforeButton").connect('clicked(bool)', self.addRowBefore)
            findChild("addRowAfterButton").connect('clicked(bool)', self.addRowAfter)
            findChild("removeRowsButton").connect('clicked(bool)', self.removeRows)
            findChild("loadTableButton").connect('clicked(bool)', self.loadTableFromFile)
            findChild("saveTableButton").connect('clicked(bool)', self.saveTableToFile)

            class DoubleValueDelegate(QtGui.QItemDelegate):
                def createEditor(self, parent, option, index):
                    le = QtGui.QLineEdit(parent)
                    le.setValidator(QtGui.QDoubleValidator(le))
                    return le

            self.doubleValueDelegate = DoubleValueDelegate()
            self.tableWidget.setItemDelegate(self.doubleValueDelegate)

            self.fillingTable = False
            self.fillTableFromData()
            self.tableWidget.model().connect('dataChanged(QModelIndex, QModelIndex)', self.fillDataFromTable)
            self.tableWidget.model().connect('rowsRemoved(QModelIndex, int, int)', self.fillDataFromTable)
Пример #2
0
        def __init__(self, netlistBC):
            self.netlistBC = netlistBC

            uiPath = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui")
            uiFileName = os.path.join(uiPath, "NetlistBCEditorWidget.ui")

            l = QtUiTools.QUiLoader()
            l.setWorkingDirectory(QtCore.QDir(uiPath))
            self.ui = l.load(QtCore.QFile(str(uiFileName)))

            netlistEditorLaunchButton = self.ui.findChild(PythonQt.QtCore.QObject, "launchEditorButton")
            netlistEditorLaunchButton.connect('clicked(bool)', self.launchEditor)

            netlistLoadFileButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadCircuitButton")
            netlistLoadFileButton.connect('clicked(bool)', self.loadCircuit)

            netlistLoadScriptButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadAdjustmentScriptButton")
            netlistLoadScriptButton.connect('clicked(bool)', self.loadAdjustmentScript)

            netlistLoadAdditionalDatFileButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadDataFileButton")
            netlistLoadAdditionalDatFileButton.connect('clicked(bool)', self.loadAdditionalDatFile)

            removeButton = self.ui.findChild(PythonQt.QtCore.QObject, "removeButton")
            removeButton.connect('clicked(bool)', self.removeSelected)

            self.fileContentsViewer = self.ui.findChild(PythonQt.QtCore.QObject, "scriptContestTextEdit")
            self.scriptListTable = self.ui.findChild(PythonQt.QtCore.QObject, "scriptListTable")
            self.scriptListTable.connect('currentCellChanged(int, int, int, int)', self.showContents)

            self.recreateSavedState()