FEM: Python reference selection task panel, fix initial selection and selection after delete an item
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user