diff --git a/src/Mod/Fem/TaskPanelFemShellThickness.ui b/src/Mod/Fem/TaskPanelFemShellThickness.ui index d0438764f8f7..51ca0f45e431 100644 --- a/src/Mod/Fem/TaskPanelFemShellThickness.ui +++ b/src/Mod/Fem/TaskPanelFemShellThickness.ui @@ -6,8 +6,8 @@ 0 0 - 249 - 379 + 350 + 500 @@ -23,22 +23,62 @@ - Thickness + Parameter - - - Use FreeCAD Property Editor + + + QFormLayout::AllNonFixedFieldsGrow - - - - - - to edit the thickness value - - + + + + + 0 + 0 + + + + + 80 + 20 + + + + Qt::LeftToRight + + + 0.0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1.000000000000000 + + + 1000000000.000000000000000 + + + mm + + + 2 + + + 0.000000000000000 + + + + + + + Thickness: + + + + @@ -52,17 +92,7 @@ - Leave references blank - - - - - - - to choose all remaining shapes - - - true + Leave blank to choose all remaining shapes @@ -94,6 +124,13 @@ + + + Gui::InputField + QLineEdit +
Gui/InputField.h
+
+
diff --git a/src/Mod/Fem/_TaskPanelFemShellThickness.py b/src/Mod/Fem/_TaskPanelFemShellThickness.py index acd1079989c2..6aa97a1e8df2 100644 --- a/src/Mod/Fem/_TaskPanelFemShellThickness.py +++ b/src/Mod/Fem/_TaskPanelFemShellThickness.py @@ -39,22 +39,20 @@ def __init__(self, obj): FreeCADGui.Selection.clearSelection() self.sel_server = None self.obj = obj - self.references = [] - if self.obj.References: - self.tuplereferences = self.obj.References - self.get_references() self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/TaskPanelFemShellThickness.ui") + QtCore.QObject.connect(self.form.if_thickness, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.thickness_changed) QtCore.QObject.connect(self.form.pushButton_Reference, QtCore.SIGNAL("clicked()"), self.add_references) self.form.list_References.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.form.list_References.connect(self.form.list_References, QtCore.SIGNAL("customContextMenuRequested(QPoint)"), self.references_list_right_clicked) - self.rebuild_list_References() + self.get_shellthickness_props() + self.update() def accept(self): + self.set_shellthickness_props() if self.sel_server: FreeCADGui.Selection.removeObserver(self.sel_server) - self.obj.References = self.references FreeCADGui.ActiveDocument.resetEdit() FreeCAD.ActiveDocument.recompute() return True @@ -65,6 +63,25 @@ def reject(self): FreeCADGui.ActiveDocument.resetEdit() return True + def get_shellthickness_props(self): + self.thickness = self.obj.Thickness + self.references = [] + if self.obj.References: + self.tuplereferences = self.obj.References + self.get_references() + + def set_shellthickness_props(self): + self.obj.References = self.references + self.obj.Thickness = self.thickness + + def update(self): + 'fills the widgets' + self.form.if_thickness.setText(self.thickness.UserString) + self.rebuild_list_References() + + def thickness_changed(self, base_quantity_value): + self.thickness = base_quantity_value + def get_references(self): for ref in self.tuplereferences: for elem in ref[1]: