Major rework. Testing basic tracking.
This commit is contained in:
@@ -45,30 +45,25 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
|
||||
self.machine = Machine(parent = True, office = office)
|
||||
self.machine.initPVs(self.model.getElements())
|
||||
self.sandbox = Sandbox(parent = self, machine = self.machine)
|
||||
self.sandbox.updateSandbox()
|
||||
self.reference = ReferenceManager(parent=self)
|
||||
self.reference.initReferencePoints(self.match)
|
||||
|
||||
title = "SwissFEL Optics Tools - Lattice %s (Phase %d)" % (self.model.getLatticeVersion(),phase)
|
||||
if office:
|
||||
title += " - offline"
|
||||
self.setWindowTitle(title)
|
||||
|
||||
# initialization
|
||||
# self.loadSettingsdirect("Settings/ReferenceSetting.json")
|
||||
self.sandbox.updateSandbox()
|
||||
# self.reference = ReferenceManager(parent=self)
|
||||
# self.matching = Matching(parent=self, model=self.model, reference = self.reference)
|
||||
|
||||
# events handling
|
||||
self.UIMatchOpticsSelect.currentIndexChanged.connect(self.updateMatchingCase)
|
||||
self.UIMatchSelected.clicked.connect(self.doMatch)
|
||||
# self.actionOpen_2.triggered.connect(self.loadSettings)
|
||||
# self.actionSave.triggered.connect(self.saveSettings)
|
||||
# self.UIUpdateFromMachine.clicked.connect(self.fullUpdate)
|
||||
# self.actionHelp.triggered.connect(self.openGit)
|
||||
# self.actionAbout.triggered.connect(self.about)
|
||||
# self.actionOpenMatch.triggered.connect(self.loadMatchingConfig)
|
||||
# self.actionOpenMatchEditor.triggered.connect(self.editMatchingConfig)
|
||||
# self.actionOpenScriptEditor.triggered.connect(self.editMatchingScript)
|
||||
# self.actionExportElegant.triggered.connect(self.exportElegant)
|
||||
self.actionOpen_2.triggered.connect(self.loadSettings)
|
||||
self.actionSave.triggered.connect(self.saveSettings)
|
||||
self.UIUpdateFromMachine.clicked.connect(self.fullUpdate)
|
||||
self.actionHelp.triggered.connect(self.openGit)
|
||||
self.actionAbout.triggered.connect(self.about)
|
||||
self.actionOpenScriptEditor.triggered.connect(self.editMatchingScript)
|
||||
|
||||
|
||||
def doMatch(self):
|
||||
@@ -120,29 +115,6 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
|
||||
def openGit(self):
|
||||
webbrowser.open("https://gitea.psi.ch/reiche/opticstool")
|
||||
|
||||
def exportElegant(self):
|
||||
self.elegant.writeElegantFiles('Elegant','dummy','SATBD01')
|
||||
|
||||
def loadMatchingConfig(self):
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.DontUseNativeDialog
|
||||
fileName, _ = QtWidgets.QFileDialog.getOpenFileName(self, "Open Matching Config File",
|
||||
"MatchingConfig/Reference.json",
|
||||
"Json Files (*.json)", options=options)
|
||||
if not fileName:
|
||||
return
|
||||
self.reference.loadReference(fileName)
|
||||
|
||||
def editMatchingConfig(self):
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.DontUseNativeDialog
|
||||
fileName, _ = QtWidgets.QFileDialog.getOpenFileName(self, "Open Matching Config File",
|
||||
"MatchingConfig/Reference.json",
|
||||
"Json Files (*.json)", options=options)
|
||||
if not fileName:
|
||||
return
|
||||
subprocess.Popen(["emacs", fileName])
|
||||
|
||||
def editMatchingScript(self):
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.DontUseNativeDialog
|
||||
@@ -153,6 +125,7 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
|
||||
return
|
||||
subprocess.Popen(["emacs", fileName])
|
||||
|
||||
##################################################
|
||||
def saveSettings(self):
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.DontUseNativeDialog
|
||||
@@ -161,10 +134,7 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
|
||||
"Json Files (*.json)", options=options)
|
||||
if not fileName:
|
||||
return
|
||||
settings=self.model.getSettings()
|
||||
with open(fileName, 'w', encoding='utf-8') as f:
|
||||
json.dump(settings, f, ensure_ascii=False, indent=4)
|
||||
|
||||
self.saveSettingDirect(fileName)
|
||||
|
||||
|
||||
def loadSettings(self):
|
||||
@@ -183,6 +153,12 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
|
||||
self.model.loadSettings(settings)
|
||||
self.status('Reference loaded')
|
||||
|
||||
def saveSettingsdirect(self,fileName):
|
||||
settings = self.model.getSettings()
|
||||
with open(fileName, 'w', encoding='utf-8') as f:
|
||||
json.dump(settings, f, ensure_ascii=False, indent=4)
|
||||
|
||||
####################################################
|
||||
def fullUpdate(self):
|
||||
machine = self.machine.getMachineStatus()
|
||||
self.model.updateFromMachine(machine)
|
||||
|
||||
Reference in New Issue
Block a user