diff --git a/src/Mod/Fem/femguiutils/selection_widgets.py b/src/Mod/Fem/femguiutils/selection_widgets.py index 19fe48ba25..f423a19509 100644 --- a/src/Mod/Fem/femguiutils/selection_widgets.py +++ b/src/Mod/Fem/femguiutils/selection_widgets.py @@ -235,13 +235,11 @@ class GeometryElementsSelection(QtGui.QWidget): super(GeometryElementsSelection, self).__init__() # init ui stuff FreeCADGui.Selection.clearSelection() - self.selection_mode_solid = False self.sel_server = None self.obj_notvisible = [] self.initElemTypes(eltypes) self.allow_multiple_geom_types = multigeom self.showHintEmptyList = showHintEmptyList - # print(self.allow_multiple_geom_types) self.initUI() # set references and fill the list widget self.references = [] @@ -279,25 +277,19 @@ class GeometryElementsSelection(QtGui.QWidget): # label self._helpTextLbl = QtGui.QLabel() self._helpTextLbl.setWordWrap(True) - helpTextPart1 = self.tr( - 'Click on "Add" and select geometric elements to add to the list.' - ) - helpTextPart2 = self.tr( - "The following geometry elements are allowed to select: " - ) + self.sel_elem_text - helpTextPart3 = self.tr( - "If no geometry is added to the list, all remaining ones are used." - ) + helpTextPart1 = self.tr('Click on "Add" and select geometric elements to add them to the list.') + helpTextPart2 = self.tr("The following geometry elements are allowed to select: ") + "" + self.sel_elem_text + "" + helpTextPart3 = self.tr("If no geometry is added to the list, all remaining ones are used.") if self.showHintEmptyList is True: self._helpTextLbl.setText( - helpTextPart1 + "\n" - + helpTextPart2 + "\n" - + helpTextPart3 + helpTextPart1 + "
" + + helpTextPart2 + "
" + + helpTextPart3 ) else: self._helpTextLbl.setText( - helpTextPart1 + "\n" - + helpTextPart2 + helpTextPart1 + "
" + + helpTextPart2 ) # list self.list_References = QtGui.QListWidget() @@ -306,9 +298,7 @@ class GeometryElementsSelection(QtGui.QWidget): self.lb_selmod.setText(self.tr("Selection mode")) self.rb_standard = QtGui.QRadioButton(self.tr(self.sel_elem_text.lstrip("Solid, "))) self.rb_solid = QtGui.QRadioButton(self.tr("Solid")) - self.rb_standard.setChecked(True) - self.rb_solid.setChecked(False) - # radio butoon layout + # radio button layout rbtnLayout = QtGui.QHBoxLayout() rbtnLayout.addWidget(self.lb_selmod) rbtnLayout.addWidget(self.rb_standard) @@ -318,8 +308,19 @@ class GeometryElementsSelection(QtGui.QWidget): mainLayout.addWidget(self._helpTextLbl) mainLayout.addWidget(self.pushButton_Add) mainLayout.addWidget(self.list_References) - if "Solid" in self.sel_elem_types: + + # 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 + else: + self.selection_mode_solid = False + + # show radio buttons, if a solid and at least one nonsolid is allowed + if "Solid" in self.sel_elem_types and len (self.sel_elem_types) > 1: + self.rb_standard.setChecked(True) + self.rb_solid.setChecked(False) mainLayout.addLayout(rbtnLayout) + self.setLayout(mainLayout) # signals and slots self.list_References.itemSelectionChanged.connect(self.select_clicked_reference_shape)