Add/remove fit list columns dynamically as graph is switched

This commit is contained in:
DarkPhoenix
2019-07-07 17:00:42 +03:00
parent 1cd10d2109
commit efd8a6964e
3 changed files with 50 additions and 31 deletions

View File

@@ -88,6 +88,22 @@ class BaseList(gui.display.Display):
if fit is not None:
self.removeFits([fit])
def refreshExtraColumns(self, extraColSpecs):
baseColNames = set()
for baseColName in self.DEFAULT_COLS:
if ":" in baseColName:
baseColName = baseColName.split(":", 1)[0]
baseColNames.add(baseColName)
columnsToRemove = set()
for col in self.activeColumns:
if col.name not in baseColNames:
columnsToRemove.add(col)
for col in columnsToRemove:
self.removeColumn(col)
for colSpec in extraColSpecs:
self.appendColumnBySpec(colSpec)
self.refresh(self.fits)
def OnFitRenamed(self, event):
event.Skip()
self.update(self.fits)

View File

@@ -154,7 +154,9 @@ class GraphControlPanel(wx.Panel):
self.tgtVector.Show(False)
self.tgtVectorLabel.Show(False)
# Target list
# Source and target list
self.fitList.refreshExtraColumns(view.srcExtraCols)
self.targetList.refreshExtraColumns(view.tgtExtraCols)
self.targetList.Show(view.hasTargets)
# Inputs