def setup(self, case): self.case = case self.case.undoStopGlobal() self.mdl = NucleateBoilingModel(self.case) self.modelHeatTransferModel = ComboModel( self.comboBoxHeatTransferModel, 2, 1) self.modelHeatTransferModel.addItem( self.tr("Extended Kurul-Podowski model"), "extended_kurul-podowski") self.modelHeatTransferModel.addItem( self.tr("Standard Kurul-Podowski model"), "standard_kurul-podowski") self.modelWallFunctionModel = ComboModel( self.comboBoxWallFunctionModel, 3, 1) self.modelWallFunctionModel.addItem( self.tr("standard (single phase wall function)"), "standard") self.modelWallFunctionModel.addItem(self.tr("Koncar Tiselj-NED 2008"), "koncar") self.modelWallFunctionModel.addItem(self.tr("Mimouni et al-NED 2008"), "mimouni") if InterfacialEnthalpyModel(self.case).getPoolBoiling() == "on": self.modelWallFunctionModel.disableItem(str_model="koncar") self.modelWallFunctionModel.disableItem(str_model="mimouni")
def setAvailableBuildsList(self, host_name): """ Set the list of available builds per host """ if host_name == 'localhost': self.groupBoxDistantLaunch.hide() self.groupBoxLocalLaunch.show() self.comboBoxDistantBuilds.hide() self.labelDistantBuilds.hide() return else: self.groupBoxDistantLaunch.show() self.groupBoxLocalLaunch.hide() self.comboBoxDistantBuilds.show() self.labelDistantBuilds.show() dist_builds_list = self.distant_host_builds[host_name] self.modelOtDistantBuilds = ComboModel(self.comboBoxDistantBuilds, len(dist_builds_list), 1) for db in dist_builds_list: self.modelOtDistantBuilds.addItem(self.tr(db), db)
def __init__(self, parent, case): """ Constructor """ QWidget.__init__(self, parent) Ui_LagrangianForm.__init__(self) self.setupUi(self) self.case = case self.case.undoStopGlobal() self.model = LagrangianModel(self.case) # Default settings self.default = {} self.default['scheme_order'] = self.model.getSchemeOrder() self.default['regular_particles'] = self.model.getRegularParticles() self.result = self.default.copy() # Combo model self.modelIPHYLA = ComboModel(self.comboBoxIPHYLA, 2, 1) self.modelIPHYLA.addItem(self.tr("No model"), 'off') self.modelIPHYLA.addItem(self.tr("Heat transfer and evaporation"), 'thermal') if CoalCombustionModel( self.case).getCoalCombustionModel("only") != 'off': self.modelIPHYLA.addItem(self.tr("Pulverised coal model"), 'coal')
def __init__(self, parent): """ Constructor """ QWidget.__init__(self, parent) Ui_BoundaryConditionsVelocityInletForm.__init__(self) self.setupUi(self) # Connections self.comboBoxVelocity.activated[str].connect(self.__slotChoiceVelocity) self.lineEditVelocity.textChanged[str].connect(self.__slotVelocityValue) self.comboBoxDirection.activated[str].connect(self.__slotChoiceDirection) # Combo models self.modelVelocity = ComboModel(self.comboBoxVelocity, 4, 1) self.modelVelocity.addItem(self.tr("Norm"), 'norm') self.modelVelocity.addItem(self.tr("Mass flow rate"), 'flow1') self.modelVelocity.addItem(self.tr("Norm (user law)"), 'norm_formula') self.modelVelocity.addItem(self.tr("Mass flow rate (user law)"), 'flow1_formula') self.modelDirection = ComboModel(self.comboBoxDirection, 2, 1) self.modelDirection.addItem(self.tr("Normal direction to the inlet"), 'normal') self.modelDirection.addItem(self.tr("User profile"), 'formula') # Validators validatorVelocity = DoubleValidator(self.lineEditVelocity) # Apply validators self.lineEditVelocity.setValidator(validatorVelocity) self.pushButtonVelocityFormula.clicked.connect(self.__slotVelocityFormula) self.pushButtonDirectionFormula.clicked.connect(self.__slotDirectionFormula)
def setup(self, case): """ Setup the widget """ self.case = case self.__boundary = None self.case.undoStopGlobal() self.__model = MobileMeshModel(self.case) self.notebook = NotebookModel(self.case) self.__comboModel = ComboModel(self.comboMobilBoundary, 6, 1) self.__comboModel.addItem(self.tr("Fixed boundary"), "fixed_boundary") self.__comboModel.addItem(self.tr("Sliding boundary"), "sliding_boundary") self.__comboModel.addItem(self.tr("Internal coupling"), "internal_coupling") self.__comboModel.addItem(self.tr("External coupling"), "external_coupling") self.__comboModel.addItem(self.tr("Fixed velocity"), "fixed_velocity") self.__comboModel.addItem(self.tr("Fixed displacement"), "fixed_displacement") self.comboMobilBoundary.activated[str].connect(self.__slotCombo) self.pushButtonMobilBoundary.clicked.connect(self.__slotFormula) self.case.undoStartGlobal()
def setup(self, case): self.case = case self.case.undoStopGlobal() self.mdl = DropletCondensationEvaporationModel(self.case) self.modelYPlus = ComboModel(self.comboBoxYPlus, 3, 1) self.modelYPlus.addItem(self.tr("Boundary cell center"), "center") self.modelYPlus.addItem(self.tr("Y+ = "), "Yplus_value") self.modelYPlus.addItem(self.tr("Droplets diameter"), "diameter") # Validators validatorYplus = DoubleValidator(self.lineEditYPlus, min=0.0) validatorYplus.setExclusiveMin(True) self.lineEditYPlus.setValidator(validatorYplus) # Connect signals to slots self.comboBoxYPlus.activated[str].connect(self.slotYPlus) self.lineEditYPlus.textChanged[str].connect(self.slotYPlusValue) isYPlus = self.mdl.getYPlusModel() self.modelYPlus.setItem(str_model=isYPlus) if isYPlus == "Yplus_value": self.lineEditYPlus.show() self.lineEditYPlus.setText(str(self.mdl.getYPlusValue())) else: self.lineEditYPlus.hide() self.case.undoStartGlobal()
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 1, 1) fieldId = index.row() + 1 if self.mdl.getCriterion(fieldId) == "continuous": self.modelCombo.addItem(self.tr(self.dicoM2V["none"]), "none") self.modelCombo.disableItem(str_model="none") else: self.modelCombo.addItem(self.tr(self.dicoM2V["none"]), "none") carrier = self.mdl.getCarrierField(fieldId) if self.mdl.getTurbulenceModel(carrier) == "k-epsilon" or \ self.mdl.getTurbulenceModel(carrier) == "k-epsilon_linear_production" or \ self.mdl.getTurbulenceModel(carrier) == "rij-epsilon_ssg" or \ self.mdl.getTurbulenceModel(carrier) == "rij-epsilon_ebrsm": if self.mdl.getFieldNature(fieldId) == "gas": # bulles self.modelCombo.addItem( self.tr(self.dicoM2V["large_inclusions"]), "large_inclusions") else: # gouttes et solide self.modelCombo.addItem( self.tr(self.dicoM2V["small_inclusions"]), "small_inclusions") editor.setMinimumSize(editor.sizeHint()) editor.installEventFilter(self) return editor
def setup(self, case): """ Setup the widget """ self.case = case self.__boundary = None self.case.undoStopGlobal() self.mdl = CompressibleModel(self.case) # Connections self.comboBoxTypeOutlet.activated[str].connect(self.slotOutletType) self.lineEditPressure.textChanged[str].connect(self.slotPressureValue) # Combo models self.modelTypeOutlet = ComboModel(self.comboBoxTypeOutlet, 2, 1) self.modelTypeOutlet.addItem(self.tr("supersonic outlet"), 'supersonic_outlet') self.modelTypeOutlet.addItem(self.tr("subsonic outlet"), 'subsonic_outlet') # Validators validatorP = DoubleValidator(self.lineEditPressure, min=0.0) # Apply validators self.lineEditPressure.setValidator(validatorP) self.case.undoStartGlobal()
class FieldDelegate(QItemDelegate): """ Use of a combo box in the table. """ def __init__(self, parent, mdl): super(FieldDelegate, self).__init__(parent) self.parent = parent self.mdl = mdl def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 1, 1) for fieldId in self.mdl.getFieldIdList(include_none=True): label = self.mdl.getLabel(fieldId, include_none=True) self.modelCombo.addItem(self.tr(label), label) editor.installEventFilter(self) return editor def setEditorData(self, comboBox, index): row = index.row() col = index.column() string = index.model().getData(index)[col] self.modelCombo.setItem(str_model=string) def setModelData(self, comboBox, model, index): txt = str(comboBox.currentText()) value = self.modelCombo.dicoV2M[txt] log.debug("FieldDelegate value = %s" % value) selectionModel = self.parent.selectionModel() for idx in selectionModel.selectedIndexes(): if idx.column() == index.column(): model.setData(idx, value, Qt.DisplayRole)
def __init__(self, parent): """ Constructor """ QWidget.__init__(self, parent) Ui_BoundaryConditionsTurbulenceInletForm.__init__(self) self.setupUi(self) # Connections self.comboBoxTurbulence.activated[str].connect( self.__slotChoiceTurbulence) self.__modelTurbulence = ComboModel(self.comboBoxTurbulence, 3, 1) self.__modelTurbulence.addItem( self.tr("Calculation by hydraulic diameter"), 'hydraulic_diameter') self.__modelTurbulence.addItem( self.tr("Calculation by turbulent intensity"), 'turbulent_intensity') self.__modelTurbulence.addItem(self.tr("Calculation by formula"), 'formula') self.lineEditDiameter.textChanged[str].connect(self.__slotDiam) self.lineEditIntensity.textChanged[str].connect(self.__slotIntensity) self.lineEditDiameterIntens.textChanged[str].connect(self.__slotDiam) self.pushButtonTurb.clicked.connect(self.__slotTurbulenceFormula) validatorDiam = DoubleValidator(self.lineEditDiameter, min=0.) validatorDiam.setExclusiveMin(True) validatorIntensity = DoubleValidator(self.lineEditIntensity, min=0.) self.lineEditDiameter.setValidator(validatorDiam) self.lineEditDiameterIntens.setValidator(validatorDiam) self.lineEditIntensity.setValidator(validatorIntensity)
def setup(self, case): self.case = case self.mdl = InternalCouplingModel(case) self.sca = None self.combo = ComboModel(self.comboBoxScalars, 1, 1) scalars_list = self.mdl.getListOfAvailableScalars() if scalars_list: for sca in scalars_list: self.combo.addItem(sca) self.has_scalars = True self.sca = scalars_list[0] else: self.sca = "" self.combo.addItem("") self.has_scalars = False self.checkBoxScalars.setChecked(False) self.comboBoxScalars.setEnabled(self.has_scalars) self.checkBoxScalars.setEnabled(self.has_scalars) if self.has_scalars: if self.mdl.isScalarCoupled(self.sca): self.checkBoxScalars.setChecked(True)
def setup(self, case): """ Setup the widget """ self.case = case self.__boundary = None self.case.undoStopGlobal() self.notebook = NotebookModel(self.case) self.comboBoxTurbulence.activated[str].connect(self.__slotChoiceTurbulence) self.__modelTurbulence = ComboModel(self.comboBoxTurbulence, 2, 1) self.__modelTurbulence.addItem(self.tr("Calculation by hydraulic diameter"), 'hydraulic_diameter') self.__modelTurbulence.addItem(self.tr("Calculation by turbulent intensity"), 'turbulent_intensity') self.__modelTurbulence.addItem(self.tr("Calculation by formula"), 'formula') self.lineEditDiameter.textChanged[str].connect(self.__slotDiam) self.lineEditIntensity.textChanged[str].connect(self.__slotIntensity) self.lineEditDiameterIntens.textChanged[str].connect(self.__slotDiam) self.pushButtonTurb.clicked.connect(self.__slotTurbulenceFormula) validatorDiam = DoubleValidator(self.lineEditDiameter, min=0.) validatorDiam.setExclusiveMin(True) validatorIntensity = DoubleValidator(self.lineEditIntensity, min=0.) self.lineEditDiameter.setValidator(validatorDiam) self.lineEditDiameterIntens.setValidator(validatorDiam) self.lineEditIntensity.setValidator(validatorIntensity) self.case.undoStartGlobal()
def __init__(self, parent): """ Constructor """ QWidget.__init__(self, parent) Ui_BoundaryConditionsScalar.__init__(self) self.setupUi(self) # Connections self.comboBoxScalar.activated[str].connect(self.__slotChoiceScalar) self.__Scalarmodel = ComboModel(self.comboBoxScalar, 1, 1) self.comboBoxScalarChoice.activated[str].connect( self.slotScalarTypeChoice) self.scalarChoiceModel = ComboModel(self.comboBoxScalarChoice, 1, 1) self.scalarChoiceModel.addItem(self.tr("Value"), 'dirichlet') self.scalarChoiceModel.addItem(self.tr("Flux"), 'flux') self.lineEditScalar.textChanged[str].connect(self.__slotScalar) validatorScalar = DoubleValidator(self.lineEditScalar) self.lineEditScalar.setValidator(validatorScalar)
def setup(self, case): """ Setup the widget """ self.case = case self.__boundary = None self.case.undoStopGlobal() # Create the Page layout. # Combo self.modelRadiative = ComboModel(self.comboBoxRadiative,3,1) self.modelRadiative.addItem(self.tr("Temperature by main thermal BC"), 'itpimp') self.modelRadiative.addItem(self.tr("Fixed exterior temperature"), 'ipgrno') self.modelRadiative.addItem(self.tr("Fixed conduction flux"), 'ifgrno') # Connections self.comboBoxRadiative.activated[str].connect(self.slotRadiativeChoice) self.lineEditEmissivity.textChanged[str].connect(self.slotEmissivity) self.lineEditConductivity.textChanged[str].connect(self.slotConductivity) self.lineEditThickness.textChanged[str].connect(self.slotThickness) self.lineEditExtTemperature.textChanged[str].connect(self.slotExtTemperature) self.lineEditConductionFlux.textChanged[str].connect(self.slotConductionFlux) self.case.undoStartGlobal()
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 3, 1) self.modelCombo.addItem(self.tr(self.dicoM2V["centered"]), 'centered') self.modelCombo.addItem(self.tr(self.dicoM2V["upwind"]), 'upwind') self.modelCombo.addItem(self.tr(self.dicoM2V["solu"]), 'solu') editor.installEventFilter(self) return editor
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 1, 1) for fieldId in self.mdl.getFieldIdList(include_none=True): label = self.mdl.getLabel(fieldId, include_none=True) self.modelCombo.addItem(self.tr(label), label) editor.installEventFilter(self) return editor
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 4, 1) self.modelCombo.addItem(self.tr("cells"), "cells") self.modelCombo.addItem(self.tr("interior faces"), "internal") self.modelCombo.addItem(self.tr("boundary faces"), "boundary") self.modelCombo.addItem(self.tr("vertices"), "vertices") editor.installEventFilter(self) return editor
def setup(self, case): self.case = case self.case.undoStopGlobal() self.__model = ConjugateHeatTransferModel(self.case) # Models self.modelSyrthes = StandardItemModelSyrthes(self.__model) self.tableViewSyrthes.setModel(self.modelSyrthes) if QT_API == "PYQT4": self.tableViewSyrthes.verticalHeader().setResizeMode( QHeaderView.ResizeToContents) self.tableViewSyrthes.horizontalHeader().setResizeMode( QHeaderView.ResizeToContents) self.tableViewSyrthes.horizontalHeader().setResizeMode( 1, QHeaderView.Stretch) elif QT_API == "PYQT5": self.tableViewSyrthes.verticalHeader().setSectionResizeMode( QHeaderView.ResizeToContents) self.tableViewSyrthes.horizontalHeader().setSectionResizeMode( QHeaderView.ResizeToContents) self.tableViewSyrthes.horizontalHeader().setSectionResizeMode( 1, QHeaderView.Stretch) self.modelProjectionAxis = ComboModel(self.comboBoxProjectionAxis, 1, 1) self.modelProjectionAxis.addItem("off") self.modelProjectionAxis.addItem("x") self.modelProjectionAxis.addItem("y") self.modelProjectionAxis.addItem("z") # connections self.comboBoxProjectionAxis.currentTextChanged[str].connect( self.slotProjectionAxis) self.lineEditVerbosity.textChanged[str].connect(self.slotVerbosity) self.lineEditVisualization.textChanged[str].connect( self.slotVisualization) self.lineEditTolerance.editingFinished.connect(self.slotTolerance) self.lineEditVerbosity.setValidator( IntValidator(self.lineEditVerbosity)) self.lineEditVisualization.setValidator( IntValidator(self.lineEditVisualization)) _tolValidator = DoubleValidator(self.lineEditTolerance, min=0.) _tolValidator.setExclusiveMin() self.lineEditTolerance.setValidator(_tolValidator) self.initializeParameters() self.case.undoStartGlobal()
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 5, 1) self.modelCombo.addItem(self.tr("1"), "1") self.modelCombo.addItem(self.tr("2"), "2") self.modelCombo.addItem(self.tr("3"), "3") self.modelCombo.addItem(self.tr("6"), "6") self.modelCombo.addItem(self.tr("9"), "9") editor.installEventFilter(self) return editor
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 1, 1) fieldId = index.row()+1 if self.mdl.getCriterion(fieldId) == "continuous" : self.modelCombo.addItem(self.tr("off"), 'off') else : for id in self.mdl.getContinuousFieldList() : label = self.mdl.getLabel(id) self.modelCombo.addItem(self.tr(label), label) editor.installEventFilter(self) return editor
class TurbulenceDelegate(QItemDelegate): """ Use of a combo box in the table. """ def __init__(self, parent, mdl, dicoM2V, dicoV2M): super(TurbulenceDelegate, self).__init__(parent) self.parent = parent self.mdl = mdl self.dicoM2V = dicoM2V self.dicoV2M = dicoV2M def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 1, 1) fieldId = index.row() + 1 if self.mdl.getCriterion(fieldId) == "continuous": turbulence_models = TurbulenceModelsDescription.continuousTurbulenceModels else: carrier = self.mdl.getCarrierField(fieldId) if self.mdl.getPredefinedFlow() == "boiling_flow": turbulence_models = TurbulenceModelsDescription.bubblyFlowsTurbulenceModels elif self.mdl.getPredefinedFlow() == "droplet_flow": turbulence_models = TurbulenceModelsDescription.dropletFlowsTurbulenceModels elif self.mdl.getTurbulenceModel(carrier) != "none" or \ self.mdl.getFieldNature(fieldId) == "solid": turbulence_models = TurbulenceModelsDescription.dispersedTurbulenceModels else: turbulence_models = ["none"] for turb in turbulence_models: self.modelCombo.addItem(self.tr(self.dicoM2V[turb]), turb) editor.setMinimumSize(editor.sizeHint()) editor.installEventFilter(self) return editor def setEditorData(self, comboBox, index): row = index.row() col = index.column() string = index.model().getData(index)[col] self.modelCombo.setItem(str_view=string) def setModelData(self, comboBox, model, index): txt = str(comboBox.currentText()) value = self.modelCombo.dicoV2M[txt] log.debug("TurbulenceDelegate value = %s" % value) selectionModel = self.parent.selectionModel() for idx in selectionModel.selectedIndexes(): if idx.column() == index.column(): model.setData(idx, self.dicoM2V[value], Qt.DisplayRole)
class LocationDelegate(QItemDelegate): """ Use of a combo box in the table. """ def __init__(self, parent): super(LocationDelegate, self).__init__(parent) self.parent = parent def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 4, 1) self.modelCombo.addItem(self.tr("cells"), "cells") self.modelCombo.addItem(self.tr("interior faces"), "internal") self.modelCombo.addItem(self.tr("boundary faces"), "boundary") self.modelCombo.addItem(self.tr("vertices"), "vertices") editor.installEventFilter(self) return editor def setEditorData(self, comboBox, index): row = index.row() col = index.column() string = index.model().getData(index)[col] self.modelCombo.setItem(str_model=string) def setModelData(self, comboBox, model, index): txt = str(comboBox.currentText()) value = self.modelCombo.dicoV2M[txt] log.debug("LocationDelegate value = %s" % value) selectionModel = self.parent.selectionModel() for idx in selectionModel.selectedIndexes(): if idx.column() == index.column(): model.setData(idx, value, Qt.DisplayRole)
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 3, 1) self.modelCombo.addItem(self.tr("continuous"), 'continuous') self.modelCombo.addItem(self.tr("dispersed"), 'dispersed') self.modelCombo.addItem(self.tr("auto"), 'auto') # TODO to delete if/when the auto option is implemented self.modelCombo.disableItem(2) # fixed to continuous for field 1 if index.row() == 0 : editor.setEnabled(False) editor.installEventFilter(self) return editor
class BoundaryConditionsWallView(QWidget, Ui_BoundaryConditionsWall) : """ Boundary condition for energy """ def __init__(self, parent): """ Constructor """ QWidget.__init__(self, parent) Ui_BoundaryConditionsWall.__init__(self) self.setupUi(self) # Connections self.comboBoxWallModel.activated[str].connect(self.__slotWall) self.__WallModel = ComboModel(self.comboBoxWallModel, 5, 1) self.__WallModel.addItem(self.tr("adherence"), "adherence") self.__WallModel.addItem(self.tr("friction"), "friction") self.__WallModel.addItem(self.tr("dU2/dn = 0"), "du2_dn") self.__WallModel.addItem(self.tr("dVR/dn = 0"), "dvr_dn") self.__WallModel.addItem(self.tr("droplet friction"), "droplet_friction") def setup(self, case, fieldId): """ Setup the widget """ self.case = case self.__boundary = None self.__currentField = fieldId
def createEditor(self, parent, option, index): editor = QComboBox(parent) predefined_flow = self.mdl.getPredefinedFlow() if predefined_flow in ["free_surface", "boiling_flow", "droplet_flow", "multiregime"]: self.modelCombo = ComboModel(editor, 2, 1) self.modelCombo.addItem(self.tr("off"), 'off') self.modelCombo.addItem(self.tr("total enthalpy"), 'total_enthalpy') else: self.modelCombo = ComboModel(editor, 3, 1) self.modelCombo.addItem(self.tr("off"), 'off') self.modelCombo.addItem(self.tr("total enthalpy"), 'total_enthalpy') self.modelCombo.addItem(self.tr("specific enthalpy"), 'specific_enthalpy') editor.installEventFilter(self) return editor
def __init__(self, parent, case): QWidget.__init__(self, parent) Ui_NeptuneWallTransferForm.__init__(self) self.setupUi(self) self.case = case self.case.undoStopGlobal() self.xml_model = NeptuneWallTransferModel(self.case) self.set_connections() # Connections must be set before ComboModel is declared. self.combomodel_wallmodel = ComboModel(self.comboBoxWallTransferType) self.fill_widgets() self.initialize_widgets() self.update_view()
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 3, 1) self.modelCombo.addItem(self.tr("liquid"), 'liquid') self.modelCombo.addItem(self.tr("gas"), 'gas') self.modelCombo.addItem(self.tr("solid"), 'solid') row = index.row() if (row == 0) : self.modelCombo.disableItem(2) else : self.modelCombo.enableItem(2) editor.installEventFilter(self) return editor
def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 12, 1) self.modelCombo.addItem(self.tr(self.dicoM2V["automatic"]), 'automatic') self.modelCombo.addItem(self.tr(self.dicoM2V["jacobi"]), 'jacobi') self.modelCombo.addItem(self.tr(self.dicoM2V["pcg"]), 'pcg') self.modelCombo.addItem(self.tr(self.dicoM2V["cgstab"]), 'cgstab') self.modelCombo.addItem(self.tr(self.dicoM2V["jacobi_saturne"]), 'jacobi_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["pcg_saturne"]), 'pcg_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["bicgstab_saturne"]), 'bicgstab_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["bicgstab2_saturne"]), 'bicgstab2_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["gmres_saturne"]), 'gmres_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["gauss_seidel_saturne"]), 'gauss_seidel_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["sym_gauss_seidel_saturne"]), 'sym_gauss_seidel_saturne') self.modelCombo.addItem(self.tr(self.dicoM2V["pcr3_saturne"]), 'pcr3_saturne') editor.installEventFilter(self) return editor
def __init__(self, parent): """ Constructor """ QWidget.__init__(self, parent) Ui_BoundaryConditionsWall.__init__(self) self.setupUi(self) # Connections self.comboBoxWallModel.activated[str].connect(self.__slotWall) self.__WallModel = ComboModel(self.comboBoxWallModel, 5, 1) self.__WallModel.addItem(self.tr("adherence"), "adherence") self.__WallModel.addItem(self.tr("friction"), "friction") self.__WallModel.addItem(self.tr("dU2/dn = 0"), "du2_dn") self.__WallModel.addItem(self.tr("dVR/dn = 0"), "dvr_dn") self.__WallModel.addItem(self.tr("droplet friction"), "droplet_friction")
class CriterionDelegate(QItemDelegate): """ Use of a combo box in the table. """ def __init__(self, parent): super(CriterionDelegate, self).__init__(parent) self.parent = parent def createEditor(self, parent, option, index): editor = QComboBox(parent) self.modelCombo = ComboModel(editor, 3, 1) self.modelCombo.addItem(self.tr("continuous"), 'continuous') self.modelCombo.addItem(self.tr("dispersed"), 'dispersed') self.modelCombo.addItem(self.tr("auto"), 'auto') # TODO to delete if/when the auto option is implemented self.modelCombo.disableItem(2) # fixed to continuous for field 1 if index.row() == 0 : editor.setEnabled(False) editor.installEventFilter(self) return editor def setEditorData(self, comboBox, index): row = index.row() col = index.column() string = index.model().getData(index)[col] self.modelCombo.setItem(str_model=string) def setModelData(self, comboBox, model, index): txt = str(comboBox.currentText()) value = self.modelCombo.dicoV2M[txt] log.debug("CriterionDelegate value = %s"%value) selectionModel = self.parent.selectionModel() for idx in selectionModel.selectedIndexes(): if idx.column() == index.column(): model.setData(idx, value, Qt.DisplayRole)