FEM: Python reference selection task panel, fix initial selection and selection after delete an item
This commit is contained in:
@@ -413,11 +413,12 @@ class _TaskPanelFemElementFluid1D:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -449,7 +450,7 @@ class _TaskPanelFemElementFluid1D:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -457,6 +458,10 @@ class _TaskPanelFemElementFluid1D:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -212,11 +212,12 @@ class _TaskPanelFemElementGeometry1D:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -248,7 +249,7 @@ class _TaskPanelFemElementGeometry1D:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -256,6 +257,10 @@ class _TaskPanelFemElementGeometry1D:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -170,11 +170,12 @@ class _TaskPanelFemElementGeometry2D:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -206,7 +207,7 @@ class _TaskPanelFemElementGeometry2D:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -214,6 +215,10 @@ class _TaskPanelFemElementGeometry2D:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -171,11 +171,12 @@ class _TaskPanelFemElementRotation1D:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -207,7 +208,7 @@ class _TaskPanelFemElementRotation1D:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -215,6 +216,10 @@ class _TaskPanelFemElementRotation1D:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -610,11 +610,12 @@ class _TaskPanelFemMaterial:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -677,7 +678,7 @@ class _TaskPanelFemMaterial:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -688,6 +689,10 @@ class _TaskPanelFemMaterial:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -200,11 +200,12 @@ class _TaskPanelFemMeshBoundaryLayer:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -263,7 +264,7 @@ class _TaskPanelFemMeshBoundaryLayer:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -271,3 +272,7 @@ class _TaskPanelFemMeshBoundaryLayer:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
@@ -190,11 +190,12 @@ class _TaskPanelFemMeshGroup:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -257,7 +258,7 @@ class _TaskPanelFemMeshGroup:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -265,6 +266,10 @@ class _TaskPanelFemMeshGroup:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
@@ -186,11 +186,12 @@ class _TaskPanelFemMeshRegion:
|
||||
if not self.references:
|
||||
return
|
||||
currentItemName = str(self.form.list_References.currentItem().text())
|
||||
currentRow = self.form.list_References.currentRow()
|
||||
for ref in self.references:
|
||||
refname_to_compare_listentry = ref[0].Name + ':' + ref[1]
|
||||
if refname_to_compare_listentry == currentItemName:
|
||||
self.references.remove(ref)
|
||||
self.rebuild_list_References()
|
||||
self.rebuild_list_References(currentRow)
|
||||
|
||||
def remove_all_references(self):
|
||||
self.references = []
|
||||
@@ -253,7 +254,7 @@ class _TaskPanelFemMeshRegion:
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(selection[0].Name + ' --> ' + selection[1] + ' is in reference list already!\n')
|
||||
|
||||
def rebuild_list_References(self):
|
||||
def rebuild_list_References(self, current_row=0):
|
||||
self.form.list_References.clear()
|
||||
items = []
|
||||
for ref in self.references:
|
||||
@@ -261,6 +262,10 @@ class _TaskPanelFemMeshRegion:
|
||||
items.append(item_name)
|
||||
for listItemName in sorted(items):
|
||||
self.form.list_References.addItem(listItemName)
|
||||
if current_row > self.form.list_References.count() - 1: # first row is 0
|
||||
current_row = self.form.list_References.count() - 1
|
||||
if self.form.list_References.count() > 0:
|
||||
self.form.list_References.setCurrentItem(self.form.list_References.item(current_row))
|
||||
|
||||
def select_clicked_reference_shape(self):
|
||||
self.setback_listobj_visibility()
|
||||
|
||||
Reference in New Issue
Block a user