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
+
+
+
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]: