| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM constraint section print task panel for the document object" |
| | __author__ = "Bernd Hahnebach" |
| | __url__ = "https://www.freecad.org" |
| |
|
| | |
| | |
| | |
| |
|
| | from PySide import QtCore |
| | from PySide import QtGui |
| |
|
| | import FreeCAD |
| | import FreeCADGui |
| |
|
| | from femguiutils import selection_widgets |
| | from . import base_femtaskpanel |
| |
|
| |
|
| | |
| | class _TaskPanel(base_femtaskpanel._BaseTaskPanel): |
| | """ |
| | The TaskPanel for editing References property of ConstraintSectionPrint objects |
| | """ |
| |
|
| | def __init__(self, obj): |
| | super().__init__(obj) |
| |
|
| | |
| | self.parameterWidget = FreeCADGui.PySideUic.loadUi( |
| | FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ConstraintSectionPrint.ui" |
| | ) |
| |
|
| | self.init_parameter_widget() |
| |
|
| | QtCore.QObject.connect( |
| | self.parameterWidget.cb_variable, |
| | QtCore.SIGNAL("currentIndexChanged(int)"), |
| | self.variable_changed, |
| | ) |
| |
|
| | |
| | self.selectionWidget = selection_widgets.GeometryElementsSelection( |
| | obj.References, ["Edge", "Face"], False, False |
| | ) |
| |
|
| | |
| | self.form = [self.selectionWidget, self.parameterWidget] |
| |
|
| | def accept(self): |
| | |
| | items = len(self.selectionWidget.references) |
| |
|
| | if items != 1: |
| | msgBox = QtGui.QMessageBox() |
| | msgBox.setIcon(QtGui.QMessageBox.Question) |
| | msgBox.setText( |
| | "Constraint SectionPrint requires exactly one face\n\nfound references: {}".format( |
| | items |
| | ) |
| | ) |
| | msgBox.setWindowTitle("FreeCAD FEM Constraint SectionPrint") |
| | retryButton = msgBox.addButton(QtGui.QMessageBox.Retry) |
| | ignoreButton = msgBox.addButton(QtGui.QMessageBox.Ignore) |
| | msgBox.exec_() |
| |
|
| | if msgBox.clickedButton() == retryButton: |
| | return False |
| | elif msgBox.clickedButton() == ignoreButton: |
| | pass |
| |
|
| | self.obj.Variable = self.variable |
| | self.obj.References = self.selectionWidget.references |
| | self.selectionWidget.finish_selection() |
| | return super().accept() |
| |
|
| | def reject(self): |
| | self.selectionWidget.finish_selection() |
| | return super().reject() |
| |
|
| | def init_parameter_widget(self): |
| | self.variable = self.obj.Variable |
| | self.variable_enum = self.obj.getEnumerationsOfProperty("Variable") |
| | self.parameterWidget.cb_variable.addItems(self.variable_enum) |
| | index = self.variable_enum.index(self.variable) |
| | self.parameterWidget.cb_variable.setCurrentIndex(index) |
| |
|
| | def variable_changed(self, index): |
| | self.variable = self.variable_enum[index] |
| |
|