FEM: Python constraints with ref shapes, add right click to delete all ref shape at once

This commit is contained in:
Bernd Hahnebach
2018-05-21 14:32:02 +02:00
committed by wmayer
parent 545ec31adf
commit 16e70d9719
8 changed files with 90 additions and 37 deletions

View File

@@ -107,7 +107,7 @@ class _TaskPanelFemElementFluid1D:
self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ElementFluid1D.ui")
QtCore.QObject.connect(self.form.btn_add, QtCore.SIGNAL("clicked()"), self.add_references)
QtCore.QObject.connect(self.form.btn_remove, QtCore.SIGNAL("clicked()"), self.remove_reference)
QtCore.QObject.connect(self.form.btn_remove, QtCore.SIGNAL("clicked()"), self.remove_selected_reference)
QtCore.QObject.connect(self.form.cb_section_type, QtCore.SIGNAL("activated(int)"), self.sectiontype_changed)
QtCore.QObject.connect(self.form.cb_liquid_section_type, QtCore.SIGNAL("activated(int)"), self.liquidsectiontype_changed)
QtCore.QObject.connect(self.form.if_manning_area, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.manning_area_changed)
@@ -398,15 +398,18 @@ class _TaskPanelFemElementFluid1D:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -416,6 +419,10 @@ class _TaskPanelFemElementFluid1D:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -197,15 +197,18 @@ class _TaskPanelFemElementGeometry1D:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -215,6 +218,10 @@ class _TaskPanelFemElementGeometry1D:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -155,15 +155,18 @@ class _TaskPanelFemElementGeometry2D:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -173,6 +176,10 @@ class _TaskPanelFemElementGeometry2D:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -156,15 +156,18 @@ class _TaskPanelFemElementRotation1D:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -174,6 +177,10 @@ class _TaskPanelFemElementRotation1D:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -595,27 +595,31 @@ class _TaskPanelFemMaterial:
###################geometry reference selection #################
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
for ref in self.references:
if ref[1]:
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
else:
refname_to_compare_listentry = ref[0].Name
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
if refname_to_compare_listentry == currentItemName:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -185,15 +185,18 @@ class _TaskPanelFemMeshBoundaryLayer:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -203,6 +206,10 @@ class _TaskPanelFemMeshBoundaryLayer:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -175,15 +175,18 @@ class _TaskPanelFemMeshGroup:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -193,6 +196,10 @@ class _TaskPanelFemMeshGroup:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open

View File

@@ -171,15 +171,18 @@ class _TaskPanelFemMeshRegion:
def references_list_right_clicked(self, QPos):
self.form.contextMenu = QtGui.QMenu()
menu_item = self.form.contextMenu.addAction("Remove Reference")
menu_item_remove_selected = self.form.contextMenu.addAction("Remove selected reference")
menu_item_remove_all = self.form.contextMenu.addAction("Remove all references")
if not self.references:
menu_item.setDisabled(True)
self.form.connect(menu_item, QtCore.SIGNAL("triggered()"), self.remove_reference)
menu_item_remove_selected.setDisabled(True)
menu_item_remove_all.setDisabled(True)
self.form.connect(menu_item_remove_selected, QtCore.SIGNAL("triggered()"), self.remove_selected_reference)
self.form.connect(menu_item_remove_all, QtCore.SIGNAL("triggered()"), self.remove_all_references)
parentPosition = self.form.list_References.mapToGlobal(QtCore.QPoint(0, 0))
self.form.contextMenu.move(parentPosition + QPos)
self.form.contextMenu.show()
def remove_reference(self):
def remove_selected_reference(self):
if not self.references:
return
currentItemName = str(self.form.list_References.currentItem().text())
@@ -189,6 +192,10 @@ class _TaskPanelFemMeshRegion:
self.references.remove(ref)
self.rebuild_list_References()
def remove_all_references(self):
self.references = []
self.rebuild_list_References()
def add_references(self):
'''Called if Button add_reference is triggered'''
# in constraints EditTaskPanel the selection is active as soon as the taskpanel is open