FEM: selection widget, small improvements

This commit is contained in:
UR-0
2021-06-09 11:57:05 +02:00
committed by Bernd Hahnebach
parent ec38055466
commit 20a2ee5732

View File

@@ -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: ") + "<b>" + self.sel_elem_text + "</b>"
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 + "<br>" +
helpTextPart2 + "<br>" +
helpTextPart3
)
else:
self._helpTextLbl.setText(
helpTextPart1 + "\n"
+ helpTextPart2
helpTextPart1 + "<br>" +
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)