diff --git a/src/Mod/Fem/femguiutils/selection_widgets.py b/src/Mod/Fem/femguiutils/selection_widgets.py
index e8349f1374..e92595ee9d 100644
--- a/src/Mod/Fem/femguiutils/selection_widgets.py
+++ b/src/Mod/Fem/femguiutils/selection_widgets.py
@@ -295,20 +295,6 @@ class GeometryElementsSelection(QtGui.QWidget):
self.setWindowTitle(self.tr("Geometry reference selector"))
# button
self.pushButton_Add = QtGui.QPushButton(self.tr("Add"))
- # label
- self._helpTextLbl = QtGui.QLabel()
- self._helpTextLbl.setWordWrap(True)
- helpTextPart1 = self.tr(
- 'Click on "Add" and select geometric elements to add them to the list.{}'
- "The following geometry elements can be selected: {}{}{}"
- ).format("
", "", self.sel_elem_text, "")
- helpTextEmpty = self.tr(
- "{}If no geometry is added to the list, all remaining ones are used."
- ).format("
")
- if self.showHintEmptyList is True:
- self._helpTextLbl.setText(helpTextPart1 + helpTextEmpty)
- else:
- self._helpTextLbl.setText(helpTextPart1)
# list
self.list_References = QtGui.QListWidget()
# radiobutton down the list
@@ -323,10 +309,19 @@ class GeometryElementsSelection(QtGui.QWidget):
rbtnLayout.addWidget(self.rb_solid)
# main layout
mainLayout = QtGui.QVBoxLayout()
- mainLayout.addWidget(self._helpTextLbl)
mainLayout.addWidget(self.pushButton_Add)
mainLayout.addWidget(self.list_References)
+ tip1 = self.tr(
+ "Click and select geometric elements to add them to the list.{}"
+ "The following geometry elements can be selected: {}{}{}"
+ ).format("
", "", self.sel_elem_text, "")
+ tip2 = self.tr(
+ "{}If no geometry is added to the list, all remaining ones are used."
+ ).format("
")
+ tip1 += tip2 if self.showHintEmptyList else ""
+ self.pushButton_Add.setToolTip(tip1)
+
# if only "Solid" is avail, std-sel-mode is obsolete
if "Solid" in self.sel_elem_types and len(self.sel_elem_types) == 1:
self.selection_mode_solid = True
diff --git a/src/Mod/Fem/femsolver/elmer/equations/equation.py b/src/Mod/Fem/femsolver/elmer/equations/equation.py
index 52e58c28d2..a7b748fd96 100644
--- a/src/Mod/Fem/femsolver/elmer/equations/equation.py
+++ b/src/Mod/Fem/femsolver/elmer/equations/equation.py
@@ -76,13 +76,16 @@ class _TaskPanel:
def __init__(self, obj):
self._obj = obj
- self._refWidget = selection_widgets.SolidSelector()
- self._refWidget.setReferences(obj.References)
+ self._selectionWidget = selection_widgets.GeometryElementsSelection(
+ obj.References, ["Solid", "Face"], False, True
+ )
+ # start in solid selection mode
+ self._selectionWidget.rb_solid.setChecked(True)
propWidget = obj.ViewObject.Proxy.getTaskWidget(obj.ViewObject)
if propWidget is None:
- self.form = self._refWidget
+ self.form = self._selectionWidget
else:
- self.form = [self.refWidget, propWidget]
+ self.form = [self._selectionWidget, propWidget]
analysis = obj.getParentGroup()
self._mesh = membertools.get_single_member(analysis, "Fem::FemMeshObject")
self._part = self._mesh.Shape if self._mesh is not None else None
@@ -97,12 +100,14 @@ class _TaskPanel:
self._part.ViewObject.show()
def reject(self):
+ self._selectionWidget.finish_selection()
self._recomputeAndRestore()
return True
def accept(self):
- if self._obj.References != self._refWidget.references():
- self._obj.References = self._refWidget.references()
+ if self._obj.References != self._selectionWidget.references:
+ self._obj.References = self._selectionWidget.references
+ self._selectionWidget.finish_selection()
self._recomputeAndRestore()
return True