Fixing Matching

This commit is contained in:
2025-06-12 11:51:00 +02:00
committed by Sven
parent d11a57f446
commit b939ac8b22
12 changed files with 2230 additions and 62 deletions

View File

@@ -27,7 +27,7 @@ class ReferenceManager:
'px':self.parent.UIPX,'py':self.parent.UIPY}
self.loadReference('Settings/Reference.json')
self.loadReference('MatchingConfig/Reference.json')
self.parent.UITrackReference.currentIndexChanged.connect(self.updateReferenceWidgets)
self.parent.UIMatchOrder.itemClicked.connect(self.displayMatchingPoint)
@@ -37,10 +37,24 @@ class ReferenceManager:
self.updateMatchOrder()
def updateMatchOrder(self):
secs={}
self.parent.UIMatchOrder.clear()
for i,ele in enumerate(self.settings['Order']):
self.parent.UIMatchOrder.addItem(ele['MatchID'])
self.parent.UIMatchOrder.item(i).setBackground(CBeige)
label = ele['MatchID']
ref = ele['Reference']
if ref is None:
color = CBeige
else:
if ref in secs.keys():
color = secs[ref]
else:
idx = len(secs)+2
color = QtGui.QColor(220, 240-idx*5, 200+idx*4)
secs[ref]=color
if not ref is None:
label += ' ('+ref+')'
self.parent.UIMatchOrder.addItem(label)
self.parent.UIMatchOrder.item(i).setBackground(color)
if self.parent.UIMatchOrder.count() > 0:
self.parent.UIMatchOrder.setCurrentRow(0)
self.displayMatchingPoint()
@@ -67,8 +81,8 @@ class ReferenceManager:
idx = self.parent.UIMatchOrder.currentRow()
if idx < 0:
return None
ID = str(self.parent.UIMatchOrder.item(idx).text())
ID = ID.split('(')[0].strip()
idx = self.order[ID] # get index in the list
order = copy.deepcopy(self.settings['Order'][idx])
destination = order['Destination']
@@ -122,6 +136,8 @@ class ReferenceManager:
cond[loc].append(target['SavedID'])
elif 'Script' in target.keys():
cond['Script']=target['Script']
elif 'Preset' in target.keys():
cond['Preset']=target['Preset']
config={'ID':ID,'start':twiss0,'end':end,
'destination':destination,'sequence':sequence,
@@ -183,6 +199,13 @@ class ReferenceManager:
self.parent.UIMatchTargets.insertRow(0)
self.parent.UIMatchTargets.setItem(0, 0, QtWidgets.QTableWidgetItem('Script'))
self.parent.UIMatchTargets.setItem(0, 1, QtWidgets.QTableWidgetItem(config['target']['Script']))
elif 'Preset' in config['target'].keys():
irow = 0
for key in config['target']['Preset'].keys():
self.parent.UIMatchTargets.insertRow(irow)
self.parent.UIMatchTargets.setItem(irow, 0, QtWidgets.QTableWidgetItem(key))
self.parent.UIMatchTargets.setItem(irow, 1, QtWidgets.QTableWidgetItem('%7.3f' % config['target']['Preset'][key]))
irow +=1
else:
irow = 0
for key in config['target'].keys():