diff --git a/OpticsMachine.py b/OpticsMachine.py new file mode 100644 index 0000000..be7a58c --- /dev/null +++ b/OpticsMachine.py @@ -0,0 +1,25 @@ +import re +import sys +from typing import is_typeddict + +sys.path.append('/sf/bd/packages/sfbd') +from sfbd.interface import getSnapPV,getSnapVal + +from epics import PV + +class Machine: + def __init__(self): + print('Initializing PVs for Snapshot...') + mags = ['SINLH02-MBND100', 'SINBC02-MBND100', 'S10BC02-MBND100', 'SARCL02-MBND100', 'SATCL01-MBND100', + 'SATUN05-MBND100'] + self.snapPVs = getSnapPV() + [PV('%s:ENERGY-OP' % ele, auto_monitor=False) for ele in mags] + self.omfilter = ['.*-RMSM:SM-SET','.*-RSYS:REQUIRED-OP','.*-RSYS:SET-ACC-VOLT','.*-RSYS:SET-BEAM-PHASE'] + + + + def getSnap(self,filters = ['.*']): + if isinstance(filters, str): + filters = [filters] + recomp = re.compile('|'.join(filters)) + pvget = [pv for pv in self.snapPVs if recomp.match(pv.pvname)] + self.snap = getSnapVal(pvget) \ No newline at end of file diff --git a/OpticsModel.py b/OpticsModel.py new file mode 100644 index 0000000..2bb8e61 --- /dev/null +++ b/OpticsModel.py @@ -0,0 +1,36 @@ +import sys +import numpy as np + +sys.path.append('/sf/bd/packages/onlinemodel') +from onlinemodel.core import Facility +from onlinemodel.code import MadX + +class Model: + def __init__(self, phase, debug=False): + print('Initializing online model ...') + self.phase = phase # current planned future + self.om = Facility(phase) + self.madx = MadX() + self.twiss = None + + def update(self, snap) -> None: + self.om.updateModel(snap,True) + + def track(self, start,end,twiss): + destination = 'ARAMIS' + start0 = start[0:7] + end0 = end[0:7] + if 'SPO' in end: + destination = 'PORTHOS' + elif 'SAT' in end: + destination = 'ATHOS' + elif 'S10BD' in end: + destination = 'INJECTOR' + self.om.setBranch(destination,start0,end0) + self.madx.setInitialCondition(twiss['betax'],twiss['betay'],twiss['alphax'],twiss['alphay'],150.) + if len(start) <8: + start = '#s' + if len(end) < 8: + end = '#e' + self.madx.track(self.om,False,start,end) + self.twiss = self.madx.getTwiss() diff --git a/OpticsPlotting.py b/OpticsPlotting.py new file mode 100644 index 0000000..733d9da --- /dev/null +++ b/OpticsPlotting.py @@ -0,0 +1,158 @@ +#!/opt/gfa/python-3.5/latest/bin/python + +import sys +import datetime +import os.path +import time +from os import walk +import numpy as np +import sys +import re + + +from matplotlib.figure import Figure +import matplotlib.patches as patches + +from matplotlib.backends.backend_qt5agg import ( + FigureCanvasQTAgg as FigureCanvas, + NavigationToolbar2QT as NavigationToolbar) + + + + +class OpticsPlotting: + + def initmpl(self,mplvl,mplwindow): + self.fig=Figure() + self.axes=self.fig.add_subplot(111) + self.axes2 = self.axes.twinx() + self.canvas = FigureCanvas(self.fig) + mplvl.addWidget(self.canvas) + self.canvas.draw() + self.toolbar=NavigationToolbar(self.canvas,mplwindow, coordinates=True) + mplvl.addWidget(self.toolbar) + + + def plotSingle(self,x,y,color,legend,dashed=False): + + if dashed: + self.axes.plot(x,y,'--',color=color,label=legend) + else: + self.axes.plot(x,y,color=color,label=legend) + + + + + def plot(self,data,filt,z0,z1): + + self.axes.clear() + self.axes2.clear() + + s=np.array(data['S']) + if z0>z1: + tmp=z1 + z1=z0 + z0=tmp + + i1=np.argmin(np.abs(s-z0)) + i2=np.argmin(np.abs(s-z1)) + + ylabel=r'' + if filt['BETX']: + self.plotSingle(s[i1:i2],data['BETX'][i1:i2],(0,0,1,1),r'$\beta_{x}$') + ylabel=ylabel+r'$\beta_x$ (m), ' + if filt['BETY']: + self.plotSingle(s[i1:i2],data['BETY'][i1:i2],(1,0,0,1),r'$\beta_{y}$') + ylabel=ylabel+r'$\beta_y$ (m), ' + if filt['ALFX']: + self.plotSingle(s[i1:i2],data['ALFX'][i1:i2],(0,0,1,1),r'$\alpha_{x}$') + ylabel=ylabel+r'$\alpha_x$ (rad), ' + if filt['ALFY']: + self.plotSingle(s[i1:i2],data['ALFY'][i1:i2],(1,0,0,1),r'$\alpha_{y}$') + ylabel=ylabel+r'$\alpha_y$ (rad), ' + if filt['DX']: + self.plotSingle(s[i1:i2],data['DX'][i1:i2],(0,0,1,1),r'$\eta_{x}$') + ylabel=ylabel+r'$\eta_x$ (m), ' + if filt['DY']: + self.plotSingle(s[i1:i2],data['DY'][i1:i2],(1,0,0,1),r'$\eta_{y}$') + ylabel=ylabel+r'$\eta_y$ (m), ' + if filt['RE56']: + self.plotSingle(s[i1:i2],data['RE56'][i1:i2],(0,0,0,1),r'$R_{56}$') + ylabel=ylabel+r'$R_{56}$ (m), ' + if filt['Energy']: + self.plotSingle(s[i1:i2],data['Energy'][i1:i2],(0,1,0,1),r'$E$') + ylabel=ylabel+r'$E$ (MeV), ' + + + if len(ylabel) < 3: + self.canvas.draw() + return + + self.axes.legend(bbox_to_anchor=(0.15,0.85)) + self.axes.set_xlabel('s (m)') + self.axes.set_ylabel(ylabel[0:-2]) + + self.plotLayout(s,data['NAME']) + self.axes.set_xlim([s[i1],s[i2]]) + ylim=self.axes.get_ylim() + dl=np.abs(ylim[1]-ylim[0]) + yl=[ylim[0],ylim[1]+0.2*dl] + self.axes.set_ylim(yl) + self.axes2.set_xlim([s[i1],s[i2]]) + self.canvas.draw() + + return + + + + def plotLayout(self,s,elements): + splitquads=False + sstart=0 + + s1=[np.min(s),np.max(s)] + s2=[0.9,0.9] + self.axes2.plot(s1,s2,'k') + for i,name in enumerate(elements): + if 'MBND' in name: + s1=s[i-1] + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.9), (s2-s1),0.03,facecolor='blue',edgecolor="none")) + if 'MSEX' in name: + s1=s[i-1] + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.87), (s2-s1),0.06,facecolor='green',edgecolor="none")) + + if 'UIND' in name: + s1=s[i-1] + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.88), (s2-s1),0.04,facecolor='purple',edgecolor="none")) + + if 'ACC' in name or 'TDS' in name: + s1=s[i-1] + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.89), (s2-s1),0.02,facecolor='cyan',edgecolor="none")) + + if 'MQUA' in name: + if splitquads == True: + if 'END' in name: + s1=sstart + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.85), (s2-s1),0.1,facecolor='red',edgecolor="none")) + splitquads=False + else: + if 'START' in name: + splitquads=True + sstart=s[i] + else: + s1=s[i-1] + s2=s[i] + self.axes2.add_patch(patches.Rectangle((s1, 0.85), (s2-s1),0.1,facecolor='red',edgecolor="none")) + + self.axes2.set_ylim([0,1]) + self.axes2.yaxis.set_visible(False) + return + + + + +# \ No newline at end of file diff --git a/OpticsTools.py b/OpticsTools.py new file mode 100644 index 0000000..7093fd1 --- /dev/null +++ b/OpticsTools.py @@ -0,0 +1,131 @@ +import sys +#import re +#import numpy as np +#import copy +#import os +#import json +from datetime import datetime +import time +#from shutil import copyfile +#from os.path import isfile, join + +from PyQt5 import QtWidgets,QtGui +from PyQt5.uic import loadUiType +#from PyQt5.QtGui import QPixmap, QTransform +#from PyQt5.QtWidgets import QMessageBox + + + +from ui.OpticsToolsGui import Ui_OpticsGUI + +from OpticsModel import Model +from OpticsMachine import Machine +from OpticsPlotting import OpticsPlotting +class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI): + def __init__(self,phase=0): + super(OpticsTools, self).__init__() + self.setupUi(self) + + self.version = '1.0.1' + self.setWindowIcon(QtGui.QIcon("rsc/iconoptics.png")) + self.setWindowTitle("SwissFEL Optics Tools") + + self.plot = OpticsPlotting() + self.plot.initmpl(self.mplvl, self.mplwindow) + + # initialize online model + self.model = Model(phase) + if phase == 0: + self.machine = Machine() + else: + self.machine = None + + + # widget signals + self.UITrack.clicked.connect(self.track) + + # all action for optics plotting + self.PBetax.toggled.connect(self.doplot) + self.PAlphax.toggled.connect(self.doplot) + self.PBetay.toggled.connect(self.doplot) + self.PAlphay.toggled.connect(self.doplot) + self.PEtax.toggled.connect(self.doplot) + self.PEtay.toggled.connect(self.doplot) + self.PR56.toggled.connect(self.doplot) +# self.PEnergy.toggled.connect(self.doplot) + self.PStart.editingFinished.connect(self.doplot) + self.PEnd.editingFinished.connect(self.doplot) + + def track(self): + start = str(self.UITrackStart.text()) + end = str(self.UITrackEnd.text()) + twiss = {} + twiss['betax'] = float(str(self.UIBetax.text())) + twiss['betay'] = float(str(self.UIBetay.text())) + twiss['alphax'] = float(str(self.UIAlphax.text())) + twiss['alphay'] = float(str(self.UIAlphay.text())) + self.model.track(start,end,twiss) + self.updateOpticsTable() + + def updateOpticsTable(self): + self.UITwissValues.clear() + if self.model.twiss is None: + return + + res = self.model.twiss + if 'NAME' in res.keys(): + nrow = len(res['NAME']) + if nrow == 0: + return + else: + return + ncol = len(res.keys()) + self.UITwissValues.setColumnCount(ncol + 1) + self.UITwissValues.setRowCount(nrow) + for j,key in enumerate(res.keys()): + col = res[key] + self.UITwissValues.setHorizontalHeaderItem(j, QtWidgets.QTableWidgetItem(key)) + for i,val in enumerate(col): + if j == 0: + self.UITwissValues.setItem(i, j, QtWidgets.QTableWidgetItem(val)) + else: + self.UITwissValues.setItem(i, j, QtWidgets.QTableWidgetItem('%10.6f' % val)) + self.UITwissValues.resizeColumnsToContents() + self.UITwissValues.verticalHeader().hide() + self.UITwissValues.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) + + + def doplot(self): + if self.model.twiss is None: + return + + zstart=float(str(self.PStart.text())) + zend=float(str(self.PEnd.text())) + + filt={} + filt['BETX']=self.PBetax.isChecked() + filt['BETY']=self.PBetay.isChecked() + filt['ALFX']=self.PAlphax.isChecked() + filt['ALFY']=self.PAlphay.isChecked() + filt['DX']=self.PEtax.isChecked() + filt['DY']=self.PEtay.isChecked() + filt['RE56']=self.PR56.isChecked() + filt['Energy']=self.PEnergy.isChecked() + self.plot.plot(self.model.twiss,filt,zstart,zend) + + + + # -------------------------------- + # Main routine + + +if __name__ == '__main__': + QtWidgets.QApplication.setStyle(QtWidgets.QStyleFactory.create("plastique")) + app = QtWidgets.QApplication(sys.argv) + if len(sys.argv) > 1: + arg=int(sys.argv[1]) + else: + arg=0 + main = OpticsTools() + main.show() + sys.exit(app.exec_()) diff --git a/rsc/iconoptics.png b/rsc/iconoptics.png new file mode 100644 index 0000000..55ec3d6 Binary files /dev/null and b/rsc/iconoptics.png differ diff --git a/ui/OpticsToolsGui.py b/ui/OpticsToolsGui.py new file mode 100644 index 0000000..318c64d --- /dev/null +++ b/ui/OpticsToolsGui.py @@ -0,0 +1,1440 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'ui/OpticsToolsGui.ui' +# +# Created by: PyQt5 UI code generator 5.15.10 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_OpticsGUI(object): + def setupUi(self, OpticsGUI): + OpticsGUI.setObjectName("OpticsGUI") + OpticsGUI.resize(1605, 1023) + self.centralwidget = QtWidgets.QWidget(OpticsGUI) + self.centralwidget.setObjectName("centralwidget") + self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.centralwidget) + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.TabMaster = QtWidgets.QTabWidget(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.TabMaster.sizePolicy().hasHeightForWidth()) + self.TabMaster.setSizePolicy(sizePolicy) + self.TabMaster.setObjectName("TabMaster") + self.tab_3 = QtWidgets.QWidget() + self.tab_3.setObjectName("tab_3") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab_3) + self.horizontalLayout.setObjectName("horizontalLayout") + self.widget_2 = QtWidgets.QWidget(self.tab_3) + self.widget_2.setObjectName("widget_2") + self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget_2) + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.UITrack = QtWidgets.QPushButton(self.widget_2) + self.UITrack.setObjectName("UITrack") + self.verticalLayout_5.addWidget(self.UITrack) + self.label = QtWidgets.QLabel(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setObjectName("label") + self.verticalLayout_5.addWidget(self.label) + self.UITrackStart = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UITrackStart.sizePolicy().hasHeightForWidth()) + self.UITrackStart.setSizePolicy(sizePolicy) + self.UITrackStart.setObjectName("UITrackStart") + self.verticalLayout_5.addWidget(self.UITrackStart) + self.label_2 = QtWidgets.QLabel(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setObjectName("label_2") + self.verticalLayout_5.addWidget(self.label_2) + self.UITrackEnd = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UITrackEnd.sizePolicy().hasHeightForWidth()) + self.UITrackEnd.setSizePolicy(sizePolicy) + self.UITrackEnd.setObjectName("UITrackEnd") + self.verticalLayout_5.addWidget(self.UITrackEnd) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.UIAlphay = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIAlphay.sizePolicy().hasHeightForWidth()) + self.UIAlphay.setSizePolicy(sizePolicy) + self.UIAlphay.setObjectName("UIAlphay") + self.gridLayout_3.addWidget(self.UIAlphay, 3, 2, 1, 1) + self.UIBetax = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIBetax.sizePolicy().hasHeightForWidth()) + self.UIBetax.setSizePolicy(sizePolicy) + self.UIBetax.setObjectName("UIBetax") + self.gridLayout_3.addWidget(self.UIBetax, 1, 1, 1, 1) + self.UIAlphax = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIAlphax.sizePolicy().hasHeightForWidth()) + self.UIAlphax.setSizePolicy(sizePolicy) + self.UIAlphax.setObjectName("UIAlphax") + self.gridLayout_3.addWidget(self.UIAlphax, 3, 1, 1, 1) + self.UIBetay = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIBetay.sizePolicy().hasHeightForWidth()) + self.UIBetay.setSizePolicy(sizePolicy) + self.UIBetay.setObjectName("UIBetay") + self.gridLayout_3.addWidget(self.UIBetay, 1, 2, 1, 1) + self.label_6 = QtWidgets.QLabel(self.widget_2) + self.label_6.setObjectName("label_6") + self.gridLayout_3.addWidget(self.label_6, 3, 0, 1, 1) + self.label_5 = QtWidgets.QLabel(self.widget_2) + self.label_5.setObjectName("label_5") + self.gridLayout_3.addWidget(self.label_5, 1, 0, 1, 1) + self.label_29 = QtWidgets.QLabel(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth()) + self.label_29.setSizePolicy(sizePolicy) + self.label_29.setObjectName("label_29") + self.gridLayout_3.addWidget(self.label_29, 0, 1, 1, 1) + self.label_30 = QtWidgets.QLabel(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_30.sizePolicy().hasHeightForWidth()) + self.label_30.setSizePolicy(sizePolicy) + self.label_30.setObjectName("label_30") + self.gridLayout_3.addWidget(self.label_30, 0, 2, 1, 1) + self.verticalLayout_5.addLayout(self.gridLayout_3) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_5.addItem(spacerItem) + self.label_31 = QtWidgets.QLabel(self.widget_2) + self.label_31.setObjectName("label_31") + self.verticalLayout_5.addWidget(self.label_31) + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.PBetax = QtWidgets.QPushButton(self.widget_2) + self.PBetax.setCheckable(True) + self.PBetax.setObjectName("PBetax") + self.gridLayout_4.addWidget(self.PBetax, 0, 0, 1, 1) + self.PBetay = QtWidgets.QPushButton(self.widget_2) + self.PBetay.setCheckable(True) + self.PBetay.setObjectName("PBetay") + self.gridLayout_4.addWidget(self.PBetay, 0, 1, 1, 1) + self.PAlphax = QtWidgets.QPushButton(self.widget_2) + self.PAlphax.setCheckable(True) + self.PAlphax.setObjectName("PAlphax") + self.gridLayout_4.addWidget(self.PAlphax, 1, 0, 1, 1) + self.PAlphay = QtWidgets.QPushButton(self.widget_2) + self.PAlphay.setCheckable(True) + self.PAlphay.setObjectName("PAlphay") + self.gridLayout_4.addWidget(self.PAlphay, 1, 1, 1, 1) + self.PEtax = QtWidgets.QPushButton(self.widget_2) + self.PEtax.setCheckable(True) + self.PEtax.setObjectName("PEtax") + self.gridLayout_4.addWidget(self.PEtax, 2, 0, 1, 1) + self.PEtay = QtWidgets.QPushButton(self.widget_2) + self.PEtay.setCheckable(True) + self.PEtay.setObjectName("PEtay") + self.gridLayout_4.addWidget(self.PEtay, 2, 1, 1, 1) + self.PR56 = QtWidgets.QPushButton(self.widget_2) + self.PR56.setCheckable(True) + self.PR56.setObjectName("PR56") + self.gridLayout_4.addWidget(self.PR56, 3, 0, 1, 1) + self.PEnergy = QtWidgets.QPushButton(self.widget_2) + self.PEnergy.setEnabled(False) + self.PEnergy.setCheckable(True) + self.PEnergy.setObjectName("PEnergy") + self.gridLayout_4.addWidget(self.PEnergy, 3, 1, 1, 1) + self.verticalLayout_5.addLayout(self.gridLayout_4) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_22 = QtWidgets.QLabel(self.widget_2) + self.label_22.setObjectName("label_22") + self.gridLayout_5.addWidget(self.label_22, 0, 0, 1, 1) + self.PStart = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.PStart.sizePolicy().hasHeightForWidth()) + self.PStart.setSizePolicy(sizePolicy) + self.PStart.setObjectName("PStart") + self.gridLayout_5.addWidget(self.PStart, 0, 1, 1, 1) + self.label_21 = QtWidgets.QLabel(self.widget_2) + self.label_21.setObjectName("label_21") + self.gridLayout_5.addWidget(self.label_21, 1, 0, 1, 1) + self.PEnd = QtWidgets.QLineEdit(self.widget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.PEnd.sizePolicy().hasHeightForWidth()) + self.PEnd.setSizePolicy(sizePolicy) + self.PEnd.setObjectName("PEnd") + self.gridLayout_5.addWidget(self.PEnd, 1, 1, 1, 1) + self.verticalLayout_5.addLayout(self.gridLayout_5) + spacerItem1 = QtWidgets.QSpacerItem(20, 175, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_5.addItem(spacerItem1) + self.pushButton = QtWidgets.QPushButton(self.widget_2) + self.pushButton.setObjectName("pushButton") + self.verticalLayout_5.addWidget(self.pushButton) + self.pushButton_2 = QtWidgets.QPushButton(self.widget_2) + self.pushButton_2.setObjectName("pushButton_2") + self.verticalLayout_5.addWidget(self.pushButton_2) + self.pushButton_3 = QtWidgets.QPushButton(self.widget_2) + self.pushButton_3.setObjectName("pushButton_3") + self.verticalLayout_5.addWidget(self.pushButton_3) + self.horizontalLayout.addWidget(self.widget_2) + self.mplwindow = QtWidgets.QWidget(self.tab_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.mplwindow.sizePolicy().hasHeightForWidth()) + self.mplwindow.setSizePolicy(sizePolicy) + self.mplwindow.setMinimumSize(QtCore.QSize(900, 0)) + self.mplwindow.setObjectName("mplwindow") + self.mplvl = QtWidgets.QVBoxLayout(self.mplwindow) + self.mplvl.setObjectName("mplvl") + self.horizontalLayout.addWidget(self.mplwindow) + self.TabMaster.addTab(self.tab_3, "") + self.tab_7 = QtWidgets.QWidget() + self.tab_7.setObjectName("tab_7") + self.TabMaster.addTab(self.tab_7, "") + self.tab_2 = QtWidgets.QWidget() + self.tab_2.setObjectName("tab_2") + self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) + self.verticalLayout_6.setObjectName("verticalLayout_6") + self.PlotPNG = QtWidgets.QLabel(self.tab_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.PlotPNG.sizePolicy().hasHeightForWidth()) + self.PlotPNG.setSizePolicy(sizePolicy) + self.PlotPNG.setText("") + self.PlotPNG.setObjectName("PlotPNG") + self.verticalLayout_6.addWidget(self.PlotPNG) + self.widget_5 = QtWidgets.QWidget(self.tab_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_5.sizePolicy().hasHeightForWidth()) + self.widget_5.setSizePolicy(sizePolicy) + self.widget_5.setMaximumSize(QtCore.QSize(16777215, 50)) + self.widget_5.setObjectName("widget_5") + self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.widget_5) + self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_7.setSpacing(8) + self.horizontalLayout_7.setObjectName("horizontalLayout_7") + self.label_4 = QtWidgets.QLabel(self.widget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setObjectName("label_4") + self.horizontalLayout_7.addWidget(self.label_4) + self.PagePNG = QtWidgets.QLineEdit(self.widget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.PagePNG.sizePolicy().hasHeightForWidth()) + self.PagePNG.setSizePolicy(sizePolicy) + self.PagePNG.setMaximumSize(QtCore.QSize(50, 16777215)) + self.PagePNG.setObjectName("PagePNG") + self.horizontalLayout_7.addWidget(self.PagePNG) + self.LabelPNG = QtWidgets.QLabel(self.widget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.LabelPNG.sizePolicy().hasHeightForWidth()) + self.LabelPNG.setSizePolicy(sizePolicy) + self.LabelPNG.setMaximumSize(QtCore.QSize(120, 16777215)) + self.LabelPNG.setObjectName("LabelPNG") + self.horizontalLayout_7.addWidget(self.LabelPNG) + self.PrevPNG = QtWidgets.QPushButton(self.widget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.PrevPNG.sizePolicy().hasHeightForWidth()) + self.PrevPNG.setSizePolicy(sizePolicy) + self.PrevPNG.setMinimumSize(QtCore.QSize(100, 0)) + self.PrevPNG.setMaximumSize(QtCore.QSize(167772, 16777215)) + self.PrevPNG.setObjectName("PrevPNG") + self.horizontalLayout_7.addWidget(self.PrevPNG) + self.NextPNG = QtWidgets.QPushButton(self.widget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.NextPNG.sizePolicy().hasHeightForWidth()) + self.NextPNG.setSizePolicy(sizePolicy) + self.NextPNG.setMinimumSize(QtCore.QSize(100, 0)) + self.NextPNG.setMaximumSize(QtCore.QSize(100, 16777215)) + self.NextPNG.setObjectName("NextPNG") + self.horizontalLayout_7.addWidget(self.NextPNG) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_7.addItem(spacerItem2) + self.verticalLayout_6.addWidget(self.widget_5) + self.TabMaster.addTab(self.tab_2, "") + self.tab_10 = QtWidgets.QWidget() + self.tab_10.setObjectName("tab_10") + self.widget = QtWidgets.QWidget(self.tab_10) + self.widget.setGeometry(QtCore.QRect(9, 9, 126, 215)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth()) + self.widget.setSizePolicy(sizePolicy) + self.widget.setMaximumSize(QtCore.QSize(250, 16777215)) + self.widget.setObjectName("widget") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget) + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.label_28 = QtWidgets.QLabel(self.widget) + self.label_28.setObjectName("label_28") + self.verticalLayout_2.addWidget(self.label_28) + self.UIDest = QtWidgets.QComboBox(self.widget) + self.UIDest.setObjectName("UIDest") + self.UIDest.addItem("") + self.UIDest.addItem("") + self.UIDest.addItem("") + self.UIDest.addItem("") + self.verticalLayout_2.addWidget(self.UIDest) + self.line = QtWidgets.QFrame(self.widget) + self.line.setFrameShape(QtWidgets.QFrame.HLine) + self.line.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line.setObjectName("line") + self.verticalLayout_2.addWidget(self.line) + self.UIMatch = QtWidgets.QPushButton(self.widget) + self.UIMatch.setObjectName("UIMatch") + self.verticalLayout_2.addWidget(self.UIMatch) + spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_2.addItem(spacerItem3) + self.line_2 = QtWidgets.QFrame(self.widget) + self.line_2.setFrameShape(QtWidgets.QFrame.HLine) + self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_2.setObjectName("line_2") + self.verticalLayout_2.addWidget(self.line_2) + self.label_3 = QtWidgets.QLabel(self.widget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setObjectName("label_3") + self.verticalLayout_2.addWidget(self.label_3) + self.Status = QtWidgets.QLineEdit(self.widget) + self.Status.setObjectName("Status") + self.verticalLayout_2.addWidget(self.Status) + self.TabMaster.addTab(self.tab_10, "") + self.tab_9 = QtWidgets.QWidget() + self.tab_9.setObjectName("tab_9") + self.horizontalLayout_19 = QtWidgets.QHBoxLayout(self.tab_9) + self.horizontalLayout_19.setObjectName("horizontalLayout_19") + self.widget_51 = QtWidgets.QWidget(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_51.sizePolicy().hasHeightForWidth()) + self.widget_51.setSizePolicy(sizePolicy) + self.widget_51.setMinimumSize(QtCore.QSize(0, 700)) + self.widget_51.setMaximumSize(QtCore.QSize(16777215, 200000)) + self.widget_51.setObjectName("widget_51") + self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.widget_51) + self.verticalLayout_7.setObjectName("verticalLayout_7") + self.label_19 = QtWidgets.QLabel(self.widget_51) + self.label_19.setObjectName("label_19") + self.verticalLayout_7.addWidget(self.label_19) + self.UIModelName = QtWidgets.QLineEdit(self.widget_51) + self.UIModelName.setObjectName("UIModelName") + self.verticalLayout_7.addWidget(self.UIModelName) + self.label_20 = QtWidgets.QLabel(self.widget_51) + self.label_20.setObjectName("label_20") + self.verticalLayout_7.addWidget(self.label_20) + self.UIModelDesc = QtWidgets.QPlainTextEdit(self.widget_51) + self.UIModelDesc.setObjectName("UIModelDesc") + self.verticalLayout_7.addWidget(self.UIModelDesc) + self.UIMatchAramis = QtWidgets.QCheckBox(self.widget_51) + self.UIMatchAramis.setChecked(True) + self.UIMatchAramis.setObjectName("UIMatchAramis") + self.verticalLayout_7.addWidget(self.UIMatchAramis) + self.UIMatchAthos = QtWidgets.QCheckBox(self.widget_51) + self.UIMatchAthos.setChecked(True) + self.UIMatchAthos.setObjectName("UIMatchAthos") + self.verticalLayout_7.addWidget(self.UIMatchAthos) + self.UIInitQuads = QtWidgets.QCheckBox(self.widget_51) + self.UIInitQuads.setChecked(True) + self.UIInitQuads.setObjectName("UIInitQuads") + self.verticalLayout_7.addWidget(self.UIInitQuads) + self.groupBox_7 = QtWidgets.QGroupBox(self.widget_51) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_7.sizePolicy().hasHeightForWidth()) + self.groupBox_7.setSizePolicy(sizePolicy) + self.groupBox_7.setMinimumSize(QtCore.QSize(0, 100)) + self.groupBox_7.setObjectName("groupBox_7") + self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.groupBox_7) + self.verticalLayout_9.setObjectName("verticalLayout_9") + self.UIScriptVar = QtWidgets.QTableWidget(self.groupBox_7) + self.UIScriptVar.setObjectName("UIScriptVar") + self.UIScriptVar.setColumnCount(2) + self.UIScriptVar.setRowCount(0) + item = QtWidgets.QTableWidgetItem() + self.UIScriptVar.setHorizontalHeaderItem(0, item) + item = QtWidgets.QTableWidgetItem() + self.UIScriptVar.setHorizontalHeaderItem(1, item) + self.verticalLayout_9.addWidget(self.UIScriptVar) + self.widget_10 = QtWidgets.QWidget(self.groupBox_7) + self.widget_10.setObjectName("widget_10") + self.horizontalLayout_16 = QtWidgets.QHBoxLayout(self.widget_10) + self.horizontalLayout_16.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_16.setSpacing(0) + self.horizontalLayout_16.setObjectName("horizontalLayout_16") + self.UIVarAdd = QtWidgets.QPushButton(self.widget_10) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIVarAdd.sizePolicy().hasHeightForWidth()) + self.UIVarAdd.setSizePolicy(sizePolicy) + self.UIVarAdd.setMinimumSize(QtCore.QSize(0, 40)) + self.UIVarAdd.setObjectName("UIVarAdd") + self.horizontalLayout_16.addWidget(self.UIVarAdd) + self.UIVarRemove = QtWidgets.QPushButton(self.widget_10) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIVarRemove.sizePolicy().hasHeightForWidth()) + self.UIVarRemove.setSizePolicy(sizePolicy) + self.UIVarRemove.setMinimumSize(QtCore.QSize(0, 40)) + self.UIVarRemove.setObjectName("UIVarRemove") + self.horizontalLayout_16.addWidget(self.UIVarRemove) + self.verticalLayout_9.addWidget(self.widget_10) + self.verticalLayout_7.addWidget(self.groupBox_7) + self.horizontalLayout_19.addWidget(self.widget_51) + self.groupBox_6 = QtWidgets.QGroupBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_6.sizePolicy().hasHeightForWidth()) + self.groupBox_6.setSizePolicy(sizePolicy) + self.groupBox_6.setMinimumSize(QtCore.QSize(0, 300)) + self.groupBox_6.setObjectName("groupBox_6") + self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_6) + self.verticalLayout_8.setContentsMargins(5, 5, 5, 5) + self.verticalLayout_8.setSpacing(0) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.Matched1 = QtWidgets.QCheckBox(self.groupBox_6) + self.Matched1.setCheckable(True) + self.Matched1.setObjectName("Matched1") + self.verticalLayout_8.addWidget(self.Matched1) + self.UIScriptOrder1 = QtWidgets.QListWidget(self.groupBox_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScriptOrder1.sizePolicy().hasHeightForWidth()) + self.UIScriptOrder1.setSizePolicy(sizePolicy) + self.UIScriptOrder1.setMinimumSize(QtCore.QSize(0, 0)) + self.UIScriptOrder1.setObjectName("UIScriptOrder1") + self.verticalLayout_8.addWidget(self.UIScriptOrder1) + self.widget_7 = QtWidgets.QWidget(self.groupBox_6) + self.widget_7.setObjectName("widget_7") + self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.widget_7) + self.horizontalLayout_11.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_11.setSpacing(0) + self.horizontalLayout_11.setObjectName("horizontalLayout_11") + self.UIScript1Up = QtWidgets.QPushButton(self.widget_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript1Up.sizePolicy().hasHeightForWidth()) + self.UIScript1Up.setSizePolicy(sizePolicy) + self.UIScript1Up.setObjectName("UIScript1Up") + self.horizontalLayout_11.addWidget(self.UIScript1Up) + self.UIScript1Down = QtWidgets.QPushButton(self.widget_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript1Down.sizePolicy().hasHeightForWidth()) + self.UIScript1Down.setSizePolicy(sizePolicy) + self.UIScript1Down.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript1Down.setObjectName("UIScript1Down") + self.horizontalLayout_11.addWidget(self.UIScript1Down) + self.verticalLayout_8.addWidget(self.widget_7) + self.widget_8 = QtWidgets.QWidget(self.groupBox_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_8.sizePolicy().hasHeightForWidth()) + self.widget_8.setSizePolicy(sizePolicy) + self.widget_8.setMinimumSize(QtCore.QSize(100, 0)) + self.widget_8.setObjectName("widget_8") + self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.widget_8) + self.horizontalLayout_12.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_12.setSpacing(0) + self.horizontalLayout_12.setObjectName("horizontalLayout_12") + self.UIScript1Add = QtWidgets.QPushButton(self.widget_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript1Add.sizePolicy().hasHeightForWidth()) + self.UIScript1Add.setSizePolicy(sizePolicy) + self.UIScript1Add.setObjectName("UIScript1Add") + self.horizontalLayout_12.addWidget(self.UIScript1Add) + self.UIScript1Remove = QtWidgets.QPushButton(self.widget_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript1Remove.sizePolicy().hasHeightForWidth()) + self.UIScript1Remove.setSizePolicy(sizePolicy) + self.UIScript1Remove.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript1Remove.setObjectName("UIScript1Remove") + self.horizontalLayout_12.addWidget(self.UIScript1Remove) + self.verticalLayout_8.addWidget(self.widget_8) + self.horizontalLayout_19.addWidget(self.groupBox_6) + self.groupBox_11 = QtWidgets.QGroupBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_11.sizePolicy().hasHeightForWidth()) + self.groupBox_11.setSizePolicy(sizePolicy) + self.groupBox_11.setMinimumSize(QtCore.QSize(0, 300)) + self.groupBox_11.setObjectName("groupBox_11") + self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.groupBox_11) + self.verticalLayout_20.setContentsMargins(5, 5, 5, 5) + self.verticalLayout_20.setSpacing(0) + self.verticalLayout_20.setObjectName("verticalLayout_20") + self.Matched2 = QtWidgets.QCheckBox(self.groupBox_11) + self.Matched2.setCheckable(True) + self.Matched2.setObjectName("Matched2") + self.verticalLayout_20.addWidget(self.Matched2) + self.UIScriptOrder2 = QtWidgets.QListWidget(self.groupBox_11) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScriptOrder2.sizePolicy().hasHeightForWidth()) + self.UIScriptOrder2.setSizePolicy(sizePolicy) + self.UIScriptOrder2.setMinimumSize(QtCore.QSize(0, 0)) + self.UIScriptOrder2.setObjectName("UIScriptOrder2") + self.verticalLayout_20.addWidget(self.UIScriptOrder2) + self.widget_11 = QtWidgets.QWidget(self.groupBox_11) + self.widget_11.setObjectName("widget_11") + self.horizontalLayout_17 = QtWidgets.QHBoxLayout(self.widget_11) + self.horizontalLayout_17.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_17.setSpacing(0) + self.horizontalLayout_17.setObjectName("horizontalLayout_17") + self.UIScript2Up = QtWidgets.QPushButton(self.widget_11) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript2Up.sizePolicy().hasHeightForWidth()) + self.UIScript2Up.setSizePolicy(sizePolicy) + self.UIScript2Up.setObjectName("UIScript2Up") + self.horizontalLayout_17.addWidget(self.UIScript2Up) + self.UIScript2Down = QtWidgets.QPushButton(self.widget_11) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript2Down.sizePolicy().hasHeightForWidth()) + self.UIScript2Down.setSizePolicy(sizePolicy) + self.UIScript2Down.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript2Down.setObjectName("UIScript2Down") + self.horizontalLayout_17.addWidget(self.UIScript2Down) + self.verticalLayout_20.addWidget(self.widget_11) + self.widget_12 = QtWidgets.QWidget(self.groupBox_11) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_12.sizePolicy().hasHeightForWidth()) + self.widget_12.setSizePolicy(sizePolicy) + self.widget_12.setMinimumSize(QtCore.QSize(100, 0)) + self.widget_12.setObjectName("widget_12") + self.horizontalLayout_18 = QtWidgets.QHBoxLayout(self.widget_12) + self.horizontalLayout_18.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_18.setSpacing(0) + self.horizontalLayout_18.setObjectName("horizontalLayout_18") + self.UIScript2Add = QtWidgets.QPushButton(self.widget_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript2Add.sizePolicy().hasHeightForWidth()) + self.UIScript2Add.setSizePolicy(sizePolicy) + self.UIScript2Add.setObjectName("UIScript2Add") + self.horizontalLayout_18.addWidget(self.UIScript2Add) + self.UIScript2Remove = QtWidgets.QPushButton(self.widget_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript2Remove.sizePolicy().hasHeightForWidth()) + self.UIScript2Remove.setSizePolicy(sizePolicy) + self.UIScript2Remove.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript2Remove.setObjectName("UIScript2Remove") + self.horizontalLayout_18.addWidget(self.UIScript2Remove) + self.verticalLayout_20.addWidget(self.widget_12) + self.horizontalLayout_19.addWidget(self.groupBox_11) + self.groupBox_14 = QtWidgets.QGroupBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_14.sizePolicy().hasHeightForWidth()) + self.groupBox_14.setSizePolicy(sizePolicy) + self.groupBox_14.setMinimumSize(QtCore.QSize(0, 300)) + self.groupBox_14.setObjectName("groupBox_14") + self.verticalLayout_23 = QtWidgets.QVBoxLayout(self.groupBox_14) + self.verticalLayout_23.setContentsMargins(5, 5, 5, 5) + self.verticalLayout_23.setSpacing(0) + self.verticalLayout_23.setObjectName("verticalLayout_23") + self.Matched3 = QtWidgets.QCheckBox(self.groupBox_14) + self.Matched3.setCheckable(True) + self.Matched3.setObjectName("Matched3") + self.verticalLayout_23.addWidget(self.Matched3) + self.UIScriptOrder3 = QtWidgets.QListWidget(self.groupBox_14) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScriptOrder3.sizePolicy().hasHeightForWidth()) + self.UIScriptOrder3.setSizePolicy(sizePolicy) + self.UIScriptOrder3.setMinimumSize(QtCore.QSize(0, 0)) + self.UIScriptOrder3.setObjectName("UIScriptOrder3") + self.verticalLayout_23.addWidget(self.UIScriptOrder3) + self.widget_14 = QtWidgets.QWidget(self.groupBox_14) + self.widget_14.setObjectName("widget_14") + self.horizontalLayout_20 = QtWidgets.QHBoxLayout(self.widget_14) + self.horizontalLayout_20.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_20.setSpacing(0) + self.horizontalLayout_20.setObjectName("horizontalLayout_20") + self.UIScript3Up = QtWidgets.QPushButton(self.widget_14) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript3Up.sizePolicy().hasHeightForWidth()) + self.UIScript3Up.setSizePolicy(sizePolicy) + self.UIScript3Up.setObjectName("UIScript3Up") + self.horizontalLayout_20.addWidget(self.UIScript3Up) + self.UIScript3Down = QtWidgets.QPushButton(self.widget_14) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript3Down.sizePolicy().hasHeightForWidth()) + self.UIScript3Down.setSizePolicy(sizePolicy) + self.UIScript3Down.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript3Down.setObjectName("UIScript3Down") + self.horizontalLayout_20.addWidget(self.UIScript3Down) + self.verticalLayout_23.addWidget(self.widget_14) + self.widget_15 = QtWidgets.QWidget(self.groupBox_14) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_15.sizePolicy().hasHeightForWidth()) + self.widget_15.setSizePolicy(sizePolicy) + self.widget_15.setMinimumSize(QtCore.QSize(100, 0)) + self.widget_15.setObjectName("widget_15") + self.horizontalLayout_21 = QtWidgets.QHBoxLayout(self.widget_15) + self.horizontalLayout_21.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_21.setSpacing(0) + self.horizontalLayout_21.setObjectName("horizontalLayout_21") + self.UIScript3Add = QtWidgets.QPushButton(self.widget_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript3Add.sizePolicy().hasHeightForWidth()) + self.UIScript3Add.setSizePolicy(sizePolicy) + self.UIScript3Add.setObjectName("UIScript3Add") + self.horizontalLayout_21.addWidget(self.UIScript3Add) + self.UIScript3Remove = QtWidgets.QPushButton(self.widget_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript3Remove.sizePolicy().hasHeightForWidth()) + self.UIScript3Remove.setSizePolicy(sizePolicy) + self.UIScript3Remove.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript3Remove.setObjectName("UIScript3Remove") + self.horizontalLayout_21.addWidget(self.UIScript3Remove) + self.verticalLayout_23.addWidget(self.widget_15) + self.horizontalLayout_19.addWidget(self.groupBox_14) + self.groupBox_2 = QtWidgets.QGroupBox(self.tab_9) + self.groupBox_2.setObjectName("groupBox_2") + self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2) + self.verticalLayout.setContentsMargins(5, 5, 5, 5) + self.verticalLayout.setSpacing(0) + self.verticalLayout.setObjectName("verticalLayout") + self.Matched4 = QtWidgets.QCheckBox(self.groupBox_2) + self.Matched4.setCheckable(True) + self.Matched4.setObjectName("Matched4") + self.verticalLayout.addWidget(self.Matched4) + self.UIScriptOrder4 = QtWidgets.QListWidget(self.groupBox_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScriptOrder4.sizePolicy().hasHeightForWidth()) + self.UIScriptOrder4.setSizePolicy(sizePolicy) + self.UIScriptOrder4.setMinimumSize(QtCore.QSize(0, 0)) + self.UIScriptOrder4.setObjectName("UIScriptOrder4") + self.verticalLayout.addWidget(self.UIScriptOrder4) + self.temp1 = QtWidgets.QWidget(self.groupBox_2) + self.temp1.setObjectName("temp1") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.temp1) + self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_2.setSpacing(0) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.UIScript4Up = QtWidgets.QPushButton(self.temp1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript4Up.sizePolicy().hasHeightForWidth()) + self.UIScript4Up.setSizePolicy(sizePolicy) + self.UIScript4Up.setObjectName("UIScript4Up") + self.horizontalLayout_2.addWidget(self.UIScript4Up) + self.UIScript4Down = QtWidgets.QPushButton(self.temp1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript4Down.sizePolicy().hasHeightForWidth()) + self.UIScript4Down.setSizePolicy(sizePolicy) + self.UIScript4Down.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript4Down.setObjectName("UIScript4Down") + self.horizontalLayout_2.addWidget(self.UIScript4Down) + self.verticalLayout.addWidget(self.temp1) + self.temp2 = QtWidgets.QWidget(self.groupBox_2) + self.temp2.setObjectName("temp2") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.temp2) + self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_3.setSpacing(0) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.UIScript4Add = QtWidgets.QPushButton(self.temp2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript4Add.sizePolicy().hasHeightForWidth()) + self.UIScript4Add.setSizePolicy(sizePolicy) + self.UIScript4Add.setObjectName("UIScript4Add") + self.horizontalLayout_3.addWidget(self.UIScript4Add) + self.UIScript4Remove = QtWidgets.QPushButton(self.temp2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UIScript4Remove.sizePolicy().hasHeightForWidth()) + self.UIScript4Remove.setSizePolicy(sizePolicy) + self.UIScript4Remove.setMinimumSize(QtCore.QSize(0, 40)) + self.UIScript4Remove.setObjectName("UIScript4Remove") + self.horizontalLayout_3.addWidget(self.UIScript4Remove) + self.verticalLayout.addWidget(self.temp2) + self.horizontalLayout_19.addWidget(self.groupBox_2) + spacerItem4 = QtWidgets.QSpacerItem(361, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_19.addItem(spacerItem4) + self.groupBox = QtWidgets.QGroupBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth()) + self.groupBox.setSizePolicy(sizePolicy) + self.groupBox.setMaximumSize(QtCore.QSize(200, 16777215)) + self.groupBox.setBaseSize(QtCore.QSize(0, 0)) + self.groupBox.setObjectName("groupBox") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.ScriptList = QtWidgets.QListWidget(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.ScriptList.sizePolicy().hasHeightForWidth()) + self.ScriptList.setSizePolicy(sizePolicy) + self.ScriptList.setObjectName("ScriptList") + self.verticalLayout_3.addWidget(self.ScriptList) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_3.addItem(spacerItem5) + self.horizontalLayout_19.addWidget(self.groupBox) + self.TabMaster.addTab(self.tab_9, "") + self.tab_8 = QtWidgets.QWidget() + self.tab_8.setObjectName("tab_8") + self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.tab_8) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.groupBox_8 = QtWidgets.QGroupBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_8.sizePolicy().hasHeightForWidth()) + self.groupBox_8.setSizePolicy(sizePolicy) + self.groupBox_8.setMinimumSize(QtCore.QSize(200, 0)) + self.groupBox_8.setObjectName("groupBox_8") + self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.groupBox_8) + self.verticalLayout_16.setObjectName("verticalLayout_16") + self.MagSB = QtWidgets.QTableWidget(self.groupBox_8) + self.MagSB.setObjectName("MagSB") + self.MagSB.setColumnCount(0) + self.MagSB.setRowCount(0) + self.verticalLayout_16.addWidget(self.MagSB) + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.label_23 = QtWidgets.QLabel(self.groupBox_8) + self.label_23.setObjectName("label_23") + self.gridLayout.addWidget(self.label_23, 0, 0, 1, 1) + self.MagReStart = QtWidgets.QLineEdit(self.groupBox_8) + self.MagReStart.setObjectName("MagReStart") + self.gridLayout.addWidget(self.MagReStart, 0, 1, 1, 1) + self.label_24 = QtWidgets.QLabel(self.groupBox_8) + self.label_24.setObjectName("label_24") + self.gridLayout.addWidget(self.label_24, 1, 0, 1, 1) + self.MagReFilter = QtWidgets.QLineEdit(self.groupBox_8) + self.MagReFilter.setObjectName("MagReFilter") + self.gridLayout.addWidget(self.MagReFilter, 1, 1, 1, 1) + self.verticalLayout_16.addLayout(self.gridLayout) + self.SB2MachineMag = QtWidgets.QPushButton(self.groupBox_8) + self.SB2MachineMag.setStyleSheet("background-color: rgb(170, 170, 0);") + self.SB2MachineMag.setObjectName("SB2MachineMag") + self.verticalLayout_16.addWidget(self.SB2MachineMag) + self.Mach2ModMag = QtWidgets.QPushButton(self.groupBox_8) + self.Mach2ModMag.setObjectName("Mach2ModMag") + self.verticalLayout_16.addWidget(self.Mach2ModMag) + self.SB2ModMag = QtWidgets.QPushButton(self.groupBox_8) + self.SB2ModMag.setObjectName("SB2ModMag") + self.verticalLayout_16.addWidget(self.SB2ModMag) + self.horizontalLayout_5.addWidget(self.groupBox_8) + self.groupBox_9 = QtWidgets.QGroupBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_9.sizePolicy().hasHeightForWidth()) + self.groupBox_9.setSizePolicy(sizePolicy) + self.groupBox_9.setMinimumSize(QtCore.QSize(400, 0)) + self.groupBox_9.setObjectName("groupBox_9") + self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.groupBox_9) + self.verticalLayout_17.setObjectName("verticalLayout_17") + self.UndSB = QtWidgets.QTableWidget(self.groupBox_9) + self.UndSB.setObjectName("UndSB") + self.UndSB.setColumnCount(0) + self.UndSB.setRowCount(0) + self.verticalLayout_17.addWidget(self.UndSB) + self.Mach2ModUnd = QtWidgets.QPushButton(self.groupBox_9) + self.Mach2ModUnd.setObjectName("Mach2ModUnd") + self.verticalLayout_17.addWidget(self.Mach2ModUnd) + self.SB2ModUnd = QtWidgets.QPushButton(self.groupBox_9) + self.SB2ModUnd.setObjectName("SB2ModUnd") + self.verticalLayout_17.addWidget(self.SB2ModUnd) + self.horizontalLayout_5.addWidget(self.groupBox_9) + self.RFgroup = QtWidgets.QGroupBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.RFgroup.sizePolicy().hasHeightForWidth()) + self.RFgroup.setSizePolicy(sizePolicy) + self.RFgroup.setMinimumSize(QtCore.QSize(400, 0)) + self.RFgroup.setObjectName("RFgroup") + self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.RFgroup) + self.verticalLayout_18.setObjectName("verticalLayout_18") + self.label_25 = QtWidgets.QLabel(self.RFgroup) + self.label_25.setObjectName("label_25") + self.verticalLayout_18.addWidget(self.label_25) + self.gridLayout_2 = QtWidgets.QGridLayout() + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_26 = QtWidgets.QLabel(self.RFgroup) + self.label_26.setObjectName("label_26") + self.gridLayout_2.addWidget(self.label_26, 1, 0, 1, 1) + self.label_27 = QtWidgets.QLabel(self.RFgroup) + self.label_27.setObjectName("label_27") + self.gridLayout_2.addWidget(self.label_27, 2, 0, 1, 1) + self.SBE0Machine = QtWidgets.QLineEdit(self.RFgroup) + self.SBE0Machine.setObjectName("SBE0Machine") + self.gridLayout_2.addWidget(self.SBE0Machine, 2, 1, 1, 1) + self.SBE0Model = QtWidgets.QLineEdit(self.RFgroup) + self.SBE0Model.setObjectName("SBE0Model") + self.gridLayout_2.addWidget(self.SBE0Model, 1, 1, 1, 1) + self.verticalLayout_18.addLayout(self.gridLayout_2) + self.RFSB = QtWidgets.QTableWidget(self.RFgroup) + self.RFSB.setObjectName("RFSB") + self.RFSB.setColumnCount(0) + self.RFSB.setRowCount(0) + self.verticalLayout_18.addWidget(self.RFSB) + self.Mach2ModRF = QtWidgets.QPushButton(self.RFgroup) + self.Mach2ModRF.setObjectName("Mach2ModRF") + self.verticalLayout_18.addWidget(self.Mach2ModRF) + self.SB2ModRF = QtWidgets.QPushButton(self.RFgroup) + self.SB2ModRF.setObjectName("SB2ModRF") + self.verticalLayout_18.addWidget(self.SB2ModRF) + self.horizontalLayout_5.addWidget(self.RFgroup) + self.TabMaster.addTab(self.tab_8, "") + self.tab_4 = QtWidgets.QWidget() + self.tab_4.setObjectName("tab_4") + self.verticalLayout_13 = QtWidgets.QVBoxLayout(self.tab_4) + self.verticalLayout_13.setObjectName("verticalLayout_13") + self.verticalLayout_12 = QtWidgets.QVBoxLayout() + self.verticalLayout_12.setObjectName("verticalLayout_12") + self.UITwissValues = QtWidgets.QTableWidget(self.tab_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.UITwissValues.sizePolicy().hasHeightForWidth()) + self.UITwissValues.setSizePolicy(sizePolicy) + self.UITwissValues.setObjectName("UITwissValues") + self.UITwissValues.setColumnCount(0) + self.UITwissValues.setRowCount(0) + self.verticalLayout_12.addWidget(self.UITwissValues) + self.verticalLayout_13.addLayout(self.verticalLayout_12) + self.TabMaster.addTab(self.tab_4, "") + self.tab_5 = QtWidgets.QWidget() + self.tab_5.setObjectName("tab_5") + self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.tab_5) + self.verticalLayout_10.setObjectName("verticalLayout_10") + self.widget_6 = QtWidgets.QWidget(self.tab_5) + self.widget_6.setObjectName("widget_6") + self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.widget_6) + self.horizontalLayout_9.setObjectName("horizontalLayout_9") + self.label_8 = QtWidgets.QLabel(self.widget_6) + self.label_8.setObjectName("label_8") + self.horizontalLayout_9.addWidget(self.label_8) + self.EditorFile = QtWidgets.QLineEdit(self.widget_6) + self.EditorFile.setReadOnly(True) + self.EditorFile.setObjectName("EditorFile") + self.horizontalLayout_9.addWidget(self.EditorFile) + self.verticalLayout_10.addWidget(self.widget_6) + self.Editor = QtWidgets.QPlainTextEdit(self.tab_5) + self.Editor.setObjectName("Editor") + self.verticalLayout_10.addWidget(self.Editor) + self.TabMaster.addTab(self.tab_5, "") + self.tab_6 = QtWidgets.QWidget() + self.tab_6.setObjectName("tab_6") + self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.tab_6) + self.horizontalLayout_10.setObjectName("horizontalLayout_10") + self.EleDist = QtWidgets.QGroupBox(self.tab_6) + self.EleDist.setEnabled(False) + self.EleDist.setObjectName("EleDist") + self.formLayout = QtWidgets.QFormLayout(self.EleDist) + self.formLayout.setObjectName("formLayout") + self.label_7 = QtWidgets.QLabel(self.EleDist) + self.label_7.setObjectName("label_7") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_7) + self.EleCharge = QtWidgets.QLineEdit(self.EleDist) + self.EleCharge.setObjectName("EleCharge") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.EleCharge) + self.label_9 = QtWidgets.QLabel(self.EleDist) + self.label_9.setObjectName("label_9") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_9) + self.EleEnergy = QtWidgets.QLineEdit(self.EleDist) + self.EleEnergy.setObjectName("EleEnergy") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.EleEnergy) + self.label_10 = QtWidgets.QLabel(self.EleDist) + self.label_10.setObjectName("label_10") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_10) + self.EleSpread = QtWidgets.QLineEdit(self.EleDist) + self.EleSpread.setObjectName("EleSpread") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.EleSpread) + self.label_11 = QtWidgets.QLabel(self.EleDist) + self.label_11.setObjectName("label_11") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_11) + self.EleLength = QtWidgets.QLineEdit(self.EleDist) + self.EleLength.setObjectName("EleLength") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.EleLength) + self.label_12 = QtWidgets.QLabel(self.EleDist) + self.label_12.setObjectName("label_12") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_12) + self.EleEmitx = QtWidgets.QLineEdit(self.EleDist) + self.EleEmitx.setObjectName("EleEmitx") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.EleEmitx) + self.label_13 = QtWidgets.QLabel(self.EleDist) + self.label_13.setObjectName("label_13") + self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.label_13) + self.EleEmity = QtWidgets.QLineEdit(self.EleDist) + self.EleEmity.setObjectName("EleEmity") + self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.EleEmity) + self.label_14 = QtWidgets.QLabel(self.EleDist) + self.label_14.setObjectName("label_14") + self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.label_14) + self.EleBetax = QtWidgets.QLineEdit(self.EleDist) + self.EleBetax.setObjectName("EleBetax") + self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.EleBetax) + self.label_15 = QtWidgets.QLabel(self.EleDist) + self.label_15.setObjectName("label_15") + self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.label_15) + self.EleBetay = QtWidgets.QLineEdit(self.EleDist) + self.EleBetay.setObjectName("EleBetay") + self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.EleBetay) + self.label_16 = QtWidgets.QLabel(self.EleDist) + self.label_16.setObjectName("label_16") + self.formLayout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.label_16) + self.EleAlphax = QtWidgets.QLineEdit(self.EleDist) + self.EleAlphax.setObjectName("EleAlphax") + self.formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.EleAlphax) + self.label_17 = QtWidgets.QLabel(self.EleDist) + self.label_17.setObjectName("label_17") + self.formLayout.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.label_17) + self.EleAlphay = QtWidgets.QLineEdit(self.EleDist) + self.EleAlphay.setObjectName("EleAlphay") + self.formLayout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.EleAlphay) + self.horizontalLayout_10.addWidget(self.EleDist) + self.EleParm = QtWidgets.QGroupBox(self.tab_6) + self.EleParm.setEnabled(False) + self.EleParm.setObjectName("EleParm") + self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.EleParm) + self.verticalLayout_11.setObjectName("verticalLayout_11") + self.label_18 = QtWidgets.QLabel(self.EleParm) + self.label_18.setObjectName("label_18") + self.verticalLayout_11.addWidget(self.label_18) + self.EleSampleRate = QtWidgets.QLineEdit(self.EleParm) + self.EleSampleRate.setObjectName("EleSampleRate") + self.verticalLayout_11.addWidget(self.EleSampleRate) + self.EleLSC = QtWidgets.QCheckBox(self.EleParm) + self.EleLSC.setCheckable(True) + self.EleLSC.setChecked(True) + self.EleLSC.setObjectName("EleLSC") + self.verticalLayout_11.addWidget(self.EleLSC) + self.EleCSR = QtWidgets.QCheckBox(self.EleParm) + self.EleCSR.setChecked(True) + self.EleCSR.setObjectName("EleCSR") + self.verticalLayout_11.addWidget(self.EleCSR) + self.EleCenter = QtWidgets.QCheckBox(self.EleParm) + self.EleCenter.setChecked(True) + self.EleCenter.setObjectName("EleCenter") + self.verticalLayout_11.addWidget(self.EleCenter) + self.EleDumpDist = QtWidgets.QCheckBox(self.EleParm) + self.EleDumpDist.setChecked(True) + self.EleDumpDist.setObjectName("EleDumpDist") + self.verticalLayout_11.addWidget(self.EleDumpDist) + self.EleDumpList = QtWidgets.QListWidget(self.EleParm) + self.EleDumpList.setObjectName("EleDumpList") + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + item = QtWidgets.QListWidgetItem() + self.EleDumpList.addItem(item) + self.verticalLayout_11.addWidget(self.EleDumpList) + self.widget_9 = QtWidgets.QWidget(self.EleParm) + self.widget_9.setObjectName("widget_9") + self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.widget_9) + self.horizontalLayout_13.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_13.setSpacing(0) + self.horizontalLayout_13.setObjectName("horizontalLayout_13") + self.EleDumpAdd = QtWidgets.QPushButton(self.widget_9) + self.EleDumpAdd.setObjectName("EleDumpAdd") + self.horizontalLayout_13.addWidget(self.EleDumpAdd) + self.EleDumpRemove = QtWidgets.QPushButton(self.widget_9) + self.EleDumpRemove.setObjectName("EleDumpRemove") + self.horizontalLayout_13.addWidget(self.EleDumpRemove) + self.verticalLayout_11.addWidget(self.widget_9) + self.EleNewDump = QtWidgets.QLineEdit(self.EleParm) + self.EleNewDump.setObjectName("EleNewDump") + self.verticalLayout_11.addWidget(self.EleNewDump) + spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_11.addItem(spacerItem6) + self.horizontalLayout_10.addWidget(self.EleParm) + spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_10.addItem(spacerItem7) + self.TabMaster.addTab(self.tab_6, "") + self.tab = QtWidgets.QWidget() + self.tab.setObjectName("tab") + self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.tab) + self.verticalLayout_15.setObjectName("verticalLayout_15") + self.Log = QtWidgets.QPlainTextEdit(self.tab) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Log.sizePolicy().hasHeightForWidth()) + self.Log.setSizePolicy(sizePolicy) + self.Log.setReadOnly(True) + self.Log.setObjectName("Log") + self.verticalLayout_15.addWidget(self.Log) + self.TabMaster.addTab(self.tab, "") + self.verticalLayout_4.addWidget(self.TabMaster) + OpticsGUI.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(OpticsGUI) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1605, 22)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(self.menubar) + self.menuFile.setObjectName("menuFile") + self.menuRun = QtWidgets.QMenu(self.menubar) + self.menuRun.setObjectName("menuRun") + self.menuHelp = QtWidgets.QMenu(self.menubar) + self.menuHelp.setObjectName("menuHelp") + self.menuEdit = QtWidgets.QMenu(self.menubar) + self.menuEdit.setObjectName("menuEdit") + self.menuSettings = QtWidgets.QMenu(self.menubar) + self.menuSettings.setObjectName("menuSettings") + self.menuElegant = QtWidgets.QMenu(self.menubar) + self.menuElegant.setObjectName("menuElegant") + OpticsGUI.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(OpticsGUI) + self.statusbar.setObjectName("statusbar") + OpticsGUI.setStatusBar(self.statusbar) + self.actionNew = QtWidgets.QAction(OpticsGUI) + self.actionNew.setObjectName("actionNew") + self.actionOpen = QtWidgets.QAction(OpticsGUI) + self.actionOpen.setObjectName("actionOpen") + self.actionSave_Model = QtWidgets.QAction(OpticsGUI) + self.actionSave_Model.setObjectName("actionSave_Model") + self.actionSave_Model_as = QtWidgets.QAction(OpticsGUI) + self.actionSave_Model_as.setObjectName("actionSave_Model_as") + self.actionNew_Script = QtWidgets.QAction(OpticsGUI) + self.actionNew_Script.setObjectName("actionNew_Script") + self.actionDuplicate_Script = QtWidgets.QAction(OpticsGUI) + self.actionDuplicate_Script.setObjectName("actionDuplicate_Script") + self.actionTrack = QtWidgets.QAction(OpticsGUI) + self.actionTrack.setObjectName("actionTrack") + self.actionMatch = QtWidgets.QAction(OpticsGUI) + self.actionMatch.setObjectName("actionMatch") + self.actionQuit = QtWidgets.QAction(OpticsGUI) + self.actionQuit.setEnabled(True) + self.actionQuit.setShortcut("") + self.actionQuit.setObjectName("actionQuit") + self.actionExport_Lattice = QtWidgets.QAction(OpticsGUI) + self.actionExport_Lattice.setEnabled(True) + self.actionExport_Lattice.setObjectName("actionExport_Lattice") + self.actionExport_Magnet_Settings = QtWidgets.QAction(OpticsGUI) + self.actionExport_Magnet_Settings.setEnabled(False) + self.actionExport_Magnet_Settings.setObjectName("actionExport_Magnet_Settings") + self.actionInfo = QtWidgets.QAction(OpticsGUI) + self.actionInfo.setEnabled(True) + self.actionInfo.setObjectName("actionInfo") + self.actionWebsite = QtWidgets.QAction(OpticsGUI) + self.actionWebsite.setEnabled(False) + self.actionWebsite.setObjectName("actionWebsite") + self.actionLoad_Settings_from_Model = QtWidgets.QAction(OpticsGUI) + self.actionLoad_Settings_from_Model.setEnabled(True) + self.actionLoad_Settings_from_Model.setObjectName("actionLoad_Settings_from_Model") + self.actionUpdate_Model = QtWidgets.QAction(OpticsGUI) + self.actionUpdate_Model.setEnabled(False) + self.actionUpdate_Model.setObjectName("actionUpdate_Model") + self.actionLoad_Settings_from_Machine = QtWidgets.QAction(OpticsGUI) + self.actionLoad_Settings_from_Machine.setEnabled(False) + self.actionLoad_Settings_from_Machine.setObjectName("actionLoad_Settings_from_Machine") + self.actionOpen_Script = QtWidgets.QAction(OpticsGUI) + self.actionOpen_Script.setObjectName("actionOpen_Script") + self.actionSave_Script = QtWidgets.QAction(OpticsGUI) + self.actionSave_Script.setObjectName("actionSave_Script") + self.actionCut = QtWidgets.QAction(OpticsGUI) + self.actionCut.setObjectName("actionCut") + self.actionCopy = QtWidgets.QAction(OpticsGUI) + self.actionCopy.setObjectName("actionCopy") + self.actionPaste = QtWidgets.QAction(OpticsGUI) + self.actionPaste.setObjectName("actionPaste") + self.actionRefreshSettings = QtWidgets.QAction(OpticsGUI) + self.actionRefreshSettings.setCheckable(False) + self.actionRefreshSettings.setObjectName("actionRefreshSettings") + self.actionLoad_From_Machine = QtWidgets.QAction(OpticsGUI) + self.actionLoad_From_Machine.setEnabled(True) + self.actionLoad_From_Machine.setObjectName("actionLoad_From_Machine") + self.actionUpdate_RF_in_Model = QtWidgets.QAction(OpticsGUI) + self.actionUpdate_RF_in_Model.setEnabled(True) + self.actionUpdate_RF_in_Model.setObjectName("actionUpdate_RF_in_Model") + self.actionEnforce_Energy_Profile = QtWidgets.QAction(OpticsGUI) + self.actionEnforce_Energy_Profile.setEnabled(True) + self.actionEnforce_Energy_Profile.setObjectName("actionEnforce_Energy_Profile") + self.actionSerach = QtWidgets.QAction(OpticsGUI) + self.actionSerach.setObjectName("actionSerach") + self.actionExport_Lattice_for_Elegant = QtWidgets.QAction(OpticsGUI) + self.actionExport_Lattice_for_Elegant.setEnabled(True) + self.actionExport_Lattice_for_Elegant.setObjectName("actionExport_Lattice_for_Elegant") + self.actionTrack_Elegant = QtWidgets.QAction(OpticsGUI) + self.actionTrack_Elegant.setEnabled(True) + self.actionTrack_Elegant.setObjectName("actionTrack_Elegant") + self.actionReduce_Distribution = QtWidgets.QAction(OpticsGUI) + self.actionReduce_Distribution.setCheckable(True) + self.actionReduce_Distribution.setChecked(True) + self.actionReduce_Distribution.setObjectName("actionReduce_Distribution") + self.actionExclude_Space_Charge = QtWidgets.QAction(OpticsGUI) + self.actionExclude_Space_Charge.setCheckable(True) + self.actionExclude_Space_Charge.setChecked(True) + self.actionExclude_Space_Charge.setObjectName("actionExclude_Space_Charge") + self.actionExclude_CSR = QtWidgets.QAction(OpticsGUI) + self.actionExclude_CSR.setCheckable(True) + self.actionExclude_CSR.setChecked(True) + self.actionExclude_CSR.setObjectName("actionExclude_CSR") + self.actionTest = QtWidgets.QAction(OpticsGUI) + self.actionTest.setObjectName("actionTest") + self.actionImport_Initial_Distribution = QtWidgets.QAction(OpticsGUI) + self.actionImport_Initial_Distribution.setEnabled(True) + self.actionImport_Initial_Distribution.setObjectName("actionImport_Initial_Distribution") + self.actionLoad_From_LongTracker = QtWidgets.QAction(OpticsGUI) + self.actionLoad_From_LongTracker.setObjectName("actionLoad_From_LongTracker") + self.actionUpdate_Undulator_in_Model = QtWidgets.QAction(OpticsGUI) + self.actionUpdate_Undulator_in_Model.setObjectName("actionUpdate_Undulator_in_Model") + self.actionBackup = QtWidgets.QAction(OpticsGUI) + self.actionBackup.setObjectName("actionBackup") + self.actionExport_Optics_Function = QtWidgets.QAction(OpticsGUI) + self.actionExport_Optics_Function.setObjectName("actionExport_Optics_Function") + self.actionExport_Optics_Functions = QtWidgets.QAction(OpticsGUI) + self.actionExport_Optics_Functions.setObjectName("actionExport_Optics_Functions") + self.actionLoad_Reference = QtWidgets.QAction(OpticsGUI) + self.actionLoad_Reference.setObjectName("actionLoad_Reference") + self.actionSave_Reference = QtWidgets.QAction(OpticsGUI) + self.actionSave_Reference.setObjectName("actionSave_Reference") + self.actionNew_Reference = QtWidgets.QAction(OpticsGUI) + self.actionNew_Reference.setObjectName("actionNew_Reference") + self.menuFile.addAction(self.actionNew) + self.menuFile.addAction(self.actionOpen) + self.menuFile.addAction(self.actionSave_Model) + self.menuFile.addAction(self.actionSave_Model_as) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionNew_Script) + self.menuFile.addAction(self.actionOpen_Script) + self.menuFile.addAction(self.actionSave_Script) + self.menuFile.addAction(self.actionDuplicate_Script) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionBackup) + self.menuFile.addAction(self.actionQuit) + self.menuRun.addAction(self.actionTrack) + self.menuRun.addAction(self.actionMatch) + self.menuRun.addSeparator() + self.menuRun.addAction(self.actionExport_Lattice) + self.menuHelp.addAction(self.actionInfo) + self.menuHelp.addAction(self.actionWebsite) + self.menuEdit.addAction(self.actionCut) + self.menuEdit.addAction(self.actionCopy) + self.menuEdit.addAction(self.actionPaste) + self.menuSettings.addAction(self.actionRefreshSettings) + self.menuSettings.addAction(self.actionLoad_From_LongTracker) + self.menuSettings.addAction(self.actionExport_Optics_Functions) + self.menuElegant.addAction(self.actionImport_Initial_Distribution) + self.menuElegant.addAction(self.actionExport_Lattice_for_Elegant) + self.menubar.addAction(self.menuFile.menuAction()) + self.menubar.addAction(self.menuEdit.menuAction()) + self.menubar.addAction(self.menuSettings.menuAction()) + self.menubar.addAction(self.menuRun.menuAction()) + self.menubar.addAction(self.menuElegant.menuAction()) + self.menubar.addAction(self.menuHelp.menuAction()) + + self.retranslateUi(OpticsGUI) + self.TabMaster.setCurrentIndex(0) + self.UIDest.setCurrentIndex(1) + self.actionQuit.triggered.connect(OpticsGUI.close) # type: ignore + QtCore.QMetaObject.connectSlotsByName(OpticsGUI) + + def retranslateUi(self, OpticsGUI): + _translate = QtCore.QCoreApplication.translate + OpticsGUI.setWindowTitle(_translate("OpticsGUI", "SwissFEL Optics")) + self.UITrack.setText(_translate("OpticsGUI", "Track")) + self.label.setText(_translate("OpticsGUI", "Start")) + self.UITrackStart.setText(_translate("OpticsGUI", "SINLH01")) + self.label_2.setText(_translate("OpticsGUI", "End")) + self.UITrackEnd.setText(_translate("OpticsGUI", "SINDI02")) + self.UIAlphay.setText(_translate("OpticsGUI", "0")) + self.UIBetax.setText(_translate("OpticsGUI", "30")) + self.UIAlphax.setText(_translate("OpticsGUI", "0")) + self.UIBetay.setText(_translate("OpticsGUI", "30")) + self.label_6.setText(_translate("OpticsGUI", "alpha")) + self.label_5.setText(_translate("OpticsGUI", "beta")) + self.label_29.setText(_translate("OpticsGUI", "x")) + self.label_30.setText(_translate("OpticsGUI", "y")) + self.label_31.setText(_translate("OpticsGUI", "Plotting")) + self.PBetax.setText(_translate("OpticsGUI", "Betax")) + self.PBetay.setText(_translate("OpticsGUI", "Betay")) + self.PAlphax.setText(_translate("OpticsGUI", "Alphax")) + self.PAlphay.setText(_translate("OpticsGUI", "AlphaY")) + self.PEtax.setText(_translate("OpticsGUI", "Etax")) + self.PEtay.setText(_translate("OpticsGUI", "Etay")) + self.PR56.setText(_translate("OpticsGUI", "R56")) + self.PEnergy.setText(_translate("OpticsGUI", "Energy")) + self.label_22.setText(_translate("OpticsGUI", "Plot Start")) + self.PStart.setText(_translate("OpticsGUI", "0")) + self.label_21.setText(_translate("OpticsGUI", "Plot End")) + self.PEnd.setText(_translate("OpticsGUI", "1000")) + self.pushButton.setText(_translate("OpticsGUI", "Save Current Optics as Reference")) + self.pushButton_2.setText(_translate("OpticsGUI", "Export Optics")) + self.pushButton_3.setText(_translate("OpticsGUI", "Copy Entry as New Reference Point")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_3), _translate("OpticsGUI", "Track")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_7), _translate("OpticsGUI", "Optics Plotting")) + self.label_4.setText(_translate("OpticsGUI", "Plot")) + self.PagePNG.setText(_translate("OpticsGUI", "1")) + self.LabelPNG.setText(_translate("OpticsGUI", "of 10")) + self.PrevPNG.setText(_translate("OpticsGUI", "Previous")) + self.NextPNG.setText(_translate("OpticsGUI", "Next")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_2), _translate("OpticsGUI", "MadX Plots")) + self.label_28.setText(_translate("OpticsGUI", "Line")) + self.UIDest.setItemText(0, _translate("OpticsGUI", "Injector")) + self.UIDest.setItemText(1, _translate("OpticsGUI", "Aramis")) + self.UIDest.setItemText(2, _translate("OpticsGUI", "Athos")) + self.UIDest.setItemText(3, _translate("OpticsGUI", "Porthos")) + self.UIMatch.setText(_translate("OpticsGUI", "Match")) + self.label_3.setText(_translate("OpticsGUI", "Status")) + self.Status.setText(_translate("OpticsGUI", "Idle")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_10), _translate("OpticsGUI", "Page")) + self.label_19.setText(_translate("OpticsGUI", "Name")) + self.label_20.setText(_translate("OpticsGUI", "Description")) + self.UIMatchAramis.setText(_translate("OpticsGUI", "Match Aramis")) + self.UIMatchAthos.setText(_translate("OpticsGUI", "Match Athos")) + self.UIInitQuads.setText(_translate("OpticsGUI", "Initialize Quad for Matching")) + self.groupBox_7.setTitle(_translate("OpticsGUI", "Variables")) + item = self.UIScriptVar.horizontalHeaderItem(0) + item.setText(_translate("OpticsGUI", "Name")) + item = self.UIScriptVar.horizontalHeaderItem(1) + item.setText(_translate("OpticsGUI", "Value")) + self.UIVarAdd.setText(_translate("OpticsGUI", "Add")) + self.UIVarRemove.setText(_translate("OpticsGUI", "Remove")) + self.groupBox_6.setTitle(_translate("OpticsGUI", "Common - Script Order")) + self.Matched1.setText(_translate("OpticsGUI", "Matched")) + self.UIScript1Up.setText(_translate("OpticsGUI", "Move up")) + self.UIScript1Down.setText(_translate("OpticsGUI", "Move down")) + self.UIScript1Add.setText(_translate("OpticsGUI", "Add")) + self.UIScript1Remove.setText(_translate("OpticsGUI", "Remove")) + self.groupBox_11.setTitle(_translate("OpticsGUI", "Aramis - Script Order")) + self.Matched2.setText(_translate("OpticsGUI", "Matched")) + self.UIScript2Up.setText(_translate("OpticsGUI", "Move up")) + self.UIScript2Down.setText(_translate("OpticsGUI", "Move down")) + self.UIScript2Add.setText(_translate("OpticsGUI", "Add")) + self.UIScript2Remove.setText(_translate("OpticsGUI", "Remove")) + self.groupBox_14.setTitle(_translate("OpticsGUI", "Athos -Script Order")) + self.Matched3.setText(_translate("OpticsGUI", "Matched")) + self.UIScript3Up.setText(_translate("OpticsGUI", "Move up")) + self.UIScript3Down.setText(_translate("OpticsGUI", "Move down")) + self.UIScript3Add.setText(_translate("OpticsGUI", "Add")) + self.UIScript3Remove.setText(_translate("OpticsGUI", "Remove")) + self.groupBox_2.setTitle(_translate("OpticsGUI", "Porthos-Script Order")) + self.Matched4.setText(_translate("OpticsGUI", "Matched")) + self.UIScript4Up.setText(_translate("OpticsGUI", "Move up")) + self.UIScript4Down.setText(_translate("OpticsGUI", "Move down")) + self.UIScript4Add.setText(_translate("OpticsGUI", "Add")) + self.UIScript4Remove.setText(_translate("OpticsGUI", "Remove")) + self.groupBox.setTitle(_translate("OpticsGUI", "Available Scripts")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_9), _translate("OpticsGUI", "Matching")) + self.groupBox_8.setTitle(_translate("OpticsGUI", "Magnets (Angle/ k1L / k2L)")) + self.label_23.setText(_translate("OpticsGUI", "Start")) + self.label_24.setText(_translate("OpticsGUI", "Filter")) + self.SB2MachineMag.setText(_translate("OpticsGUI", "Model -> Machine")) + self.Mach2ModMag.setText(_translate("OpticsGUI", "Model <- Sandbox <- Machine")) + self.SB2ModMag.setText(_translate("OpticsGUI", "Model <- Sandbox")) + self.groupBox_9.setTitle(_translate("OpticsGUI", "Undulator/ID (K/Gap and Pol./Offset")) + self.Mach2ModUnd.setText(_translate("OpticsGUI", "Model <- Sandbox <- Machine")) + self.SB2ModUnd.setText(_translate("OpticsGUI", "Model <- Sandbox")) + self.RFgroup.setTitle(_translate("OpticsGUI", "RF (Gradient and Phase)")) + self.label_25.setText(_translate("OpticsGUI", "Initial Energy (MeV)")) + self.label_26.setText(_translate("OpticsGUI", "Model")) + self.label_27.setText(_translate("OpticsGUI", "Machine")) + self.Mach2ModRF.setText(_translate("OpticsGUI", "Model <- Sandbox <- Machine")) + self.SB2ModRF.setText(_translate("OpticsGUI", "Model <- Sandbox")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_8), _translate("OpticsGUI", "Settings Sandbox")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_4), _translate("OpticsGUI", "Optics Functions")) + self.label_8.setText(_translate("OpticsGUI", "Script")) + self.EditorFile.setText(_translate("OpticsGUI", "NewFile.madx")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_5), _translate("OpticsGUI", "Script Editor")) + self.EleDist.setTitle(_translate("OpticsGUI", "Distribution")) + self.label_7.setText(_translate("OpticsGUI", "Charge")) + self.label_9.setText(_translate("OpticsGUI", "Energy")) + self.label_10.setText(_translate("OpticsGUI", "Energy Spread")) + self.label_11.setText(_translate("OpticsGUI", "Bunch Duration")) + self.label_12.setText(_translate("OpticsGUI", "Emittance in X")) + self.label_13.setText(_translate("OpticsGUI", "Emittance in Y")) + self.label_14.setText(_translate("OpticsGUI", "Beta in X")) + self.label_15.setText(_translate("OpticsGUI", "Beta in Y")) + self.label_16.setText(_translate("OpticsGUI", "Alpha in X")) + self.label_17.setText(_translate("OpticsGUI", "Alpha in Y")) + self.EleParm.setTitle(_translate("OpticsGUI", "Elegant Parameters")) + self.label_18.setText(_translate("OpticsGUI", "Downsample Rate")) + self.EleSampleRate.setText(_translate("OpticsGUI", "1")) + self.EleLSC.setText(_translate("OpticsGUI", "Exclude Space Charge")) + self.EleCSR.setText(_translate("OpticsGUI", "Exclude CSR")) + self.EleCenter.setText(_translate("OpticsGUI", "Center Bunch after Chicanes")) + self.EleDumpDist.setText(_translate("OpticsGUI", "Generate Dump at Following Locations")) + __sortingEnabled = self.EleDumpList.isSortingEnabled() + self.EleDumpList.setSortingEnabled(False) + item = self.EleDumpList.item(0) + item.setText(_translate("OpticsGUI", "SINLH03-DBPM010")) + item = self.EleDumpList.item(1) + item.setText(_translate("OpticsGUI", "SINSB04-DBPM220")) + item = self.EleDumpList.item(2) + item.setText(_translate("OpticsGUI", "SINBC01-DBPM100")) + item = self.EleDumpList.item(3) + item.setText(_translate("OpticsGUI", "SINDI01-DBPM010")) + item = self.EleDumpList.item(4) + item.setText(_translate("OpticsGUI", "S10BC01-DBPM090")) + item = self.EleDumpList.item(5) + item.setText(_translate("OpticsGUI", "S10MA01-DBPM010")) + item = self.EleDumpList.item(6) + item.setText(_translate("OpticsGUI", "S20SY01-DBPM060")) + item = self.EleDumpList.item(7) + item.setText(_translate("OpticsGUI", "SARCL01-DBPM010")) + item = self.EleDumpList.item(8) + item.setText(_translate("OpticsGUI", "SARMA02-DBPM110")) + self.EleDumpList.setSortingEnabled(__sortingEnabled) + self.EleDumpAdd.setText(_translate("OpticsGUI", "Add")) + self.EleDumpRemove.setText(_translate("OpticsGUI", "Remove")) + self.EleNewDump.setText(_translate("OpticsGUI", "New Beamline Element")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab_6), _translate("OpticsGUI", "Elegant Configuration")) + self.TabMaster.setTabText(self.TabMaster.indexOf(self.tab), _translate("OpticsGUI", "Log")) + self.menuFile.setTitle(_translate("OpticsGUI", "File")) + self.menuRun.setTitle(_translate("OpticsGUI", "MadX")) + self.menuHelp.setTitle(_translate("OpticsGUI", "Help")) + self.menuEdit.setTitle(_translate("OpticsGUI", "Edit")) + self.menuSettings.setTitle(_translate("OpticsGUI", "Settings")) + self.menuElegant.setTitle(_translate("OpticsGUI", "Elegant")) + self.actionNew.setText(_translate("OpticsGUI", "New Model")) + self.actionNew.setShortcut(_translate("OpticsGUI", "Ctrl+N")) + self.actionOpen.setText(_translate("OpticsGUI", "Open Model...")) + self.actionOpen.setShortcut(_translate("OpticsGUI", "Ctrl+O")) + self.actionSave_Model.setText(_translate("OpticsGUI", "Save Model")) + self.actionSave_Model.setShortcut(_translate("OpticsGUI", "Ctrl+S")) + self.actionSave_Model_as.setText(_translate("OpticsGUI", "Save Model as ...")) + self.actionNew_Script.setText(_translate("OpticsGUI", "New Script...")) + self.actionNew_Script.setShortcut(_translate("OpticsGUI", "Ctrl+Shift+N")) + self.actionDuplicate_Script.setText(_translate("OpticsGUI", "Save Script as...")) + self.actionTrack.setText(_translate("OpticsGUI", "Track")) + self.actionTrack.setShortcut(_translate("OpticsGUI", "Ctrl+T")) + self.actionMatch.setText(_translate("OpticsGUI", "Match")) + self.actionMatch.setShortcut(_translate("OpticsGUI", "Ctrl+M")) + self.actionQuit.setText(_translate("OpticsGUI", "Quit")) + self.actionExport_Lattice.setText(_translate("OpticsGUI", "Export Lattice...")) + self.actionExport_Magnet_Settings.setText(_translate("OpticsGUI", "Export Magnet Settings...")) + self.actionInfo.setText(_translate("OpticsGUI", "Info...")) + self.actionWebsite.setText(_translate("OpticsGUI", "Website...")) + self.actionLoad_Settings_from_Model.setText(_translate("OpticsGUI", "Load Settings from Model")) + self.actionUpdate_Model.setText(_translate("OpticsGUI", "Update Model")) + self.actionLoad_Settings_from_Machine.setText(_translate("OpticsGUI", "Load Settings from Machine")) + self.actionOpen_Script.setText(_translate("OpticsGUI", "Open Script...")) + self.actionOpen_Script.setShortcut(_translate("OpticsGUI", "Ctrl+Shift+O")) + self.actionSave_Script.setText(_translate("OpticsGUI", "Save Script")) + self.actionSave_Script.setShortcut(_translate("OpticsGUI", "Ctrl+Shift+S")) + self.actionCut.setText(_translate("OpticsGUI", "Cut")) + self.actionCut.setShortcut(_translate("OpticsGUI", "Ctrl+X")) + self.actionCopy.setText(_translate("OpticsGUI", "Copy")) + self.actionCopy.setShortcut(_translate("OpticsGUI", "Ctrl+C")) + self.actionPaste.setText(_translate("OpticsGUI", "Paste")) + self.actionPaste.setShortcut(_translate("OpticsGUI", "Ctrl+V")) + self.actionRefreshSettings.setText(_translate("OpticsGUI", "Refresh")) + self.actionLoad_From_Machine.setText(_translate("OpticsGUI", "Load From Machine")) + self.actionUpdate_RF_in_Model.setText(_translate("OpticsGUI", "Update RF in Model")) + self.actionEnforce_Energy_Profile.setText(_translate("OpticsGUI", "Enforce Energy Profile")) + self.actionSerach.setText(_translate("OpticsGUI", "Serach...")) + self.actionExport_Lattice_for_Elegant.setText(_translate("OpticsGUI", "Export Lattice for Elegant...")) + self.actionTrack_Elegant.setText(_translate("OpticsGUI", "Track (Blocking)")) + self.actionTrack_Elegant.setShortcut(_translate("OpticsGUI", "Ctrl+Shift+T")) + self.actionReduce_Distribution.setText(_translate("OpticsGUI", "Reduce Input Distribution")) + self.actionExclude_Space_Charge.setText(_translate("OpticsGUI", "Exclude Space Charge")) + self.actionExclude_CSR.setText(_translate("OpticsGUI", "Exclude CSR")) + self.actionTest.setText(_translate("OpticsGUI", "Test")) + self.actionImport_Initial_Distribution.setText(_translate("OpticsGUI", "Import Initial Distribution...")) + self.actionLoad_From_LongTracker.setText(_translate("OpticsGUI", "Load From LongTracker...")) + self.actionUpdate_Undulator_in_Model.setText(_translate("OpticsGUI", "Update Undulator in Model")) + self.actionBackup.setText(_translate("OpticsGUI", "Backup Files")) + self.actionExport_Optics_Function.setText(_translate("OpticsGUI", "Export Optics Function...")) + self.actionExport_Optics_Functions.setText(_translate("OpticsGUI", "Export Optical Functions...")) + self.actionLoad_Reference.setText(_translate("OpticsGUI", "Load Reference...")) + self.actionSave_Reference.setText(_translate("OpticsGUI", "Save Reference")) + self.actionNew_Reference.setText(_translate("OpticsGUI", "New Reference")) diff --git a/ui/OpticsToolsGui.ui b/ui/OpticsToolsGui.ui new file mode 100644 index 0000000..6fc32ab --- /dev/null +++ b/ui/OpticsToolsGui.ui @@ -0,0 +1,2591 @@ + + + OpticsGUI + + + + 0 + 0 + 1605 + 1023 + + + + SwissFEL Optics + + + + + + + + 0 + 0 + + + + 0 + + + + Track + + + + + + + + + Track + + + + + + + + 0 + 0 + + + + Start + + + + + + + + 0 + 0 + + + + SINLH01 + + + + + + + + 0 + 0 + + + + End + + + + + + + + 0 + 0 + + + + SINDI02 + + + + + + + + + + 0 + 0 + + + + 0 + + + + + + + + 0 + 0 + + + + 30 + + + + + + + + 0 + 0 + + + + 0 + + + + + + + + 0 + 0 + + + + 30 + + + + + + + alpha + + + + + + + beta + + + + + + + + 0 + 0 + + + + x + + + + + + + + 0 + 0 + + + + y + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Plotting + + + + + + + + + Betax + + + true + + + + + + + Betay + + + true + + + + + + + Alphax + + + true + + + + + + + AlphaY + + + true + + + + + + + Etax + + + true + + + + + + + Etay + + + true + + + + + + + R56 + + + true + + + + + + + false + + + Energy + + + true + + + + + + + + + + + Plot Start + + + + + + + + 0 + 0 + + + + 0 + + + + + + + Plot End + + + + + + + + 0 + 0 + + + + 1000 + + + + + + + + + Qt::Vertical + + + + 20 + 175 + + + + + + + + Save Current Optics as Reference + + + + + + + Export Optics + + + + + + + Copy Entry as New Reference Point + + + + + + + + + + + 0 + 0 + + + + + 900 + 0 + + + + + + + + + + Optics Plotting + + + + + MadX Plots + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + 16777215 + 50 + + + + + 8 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Plot + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + 1 + + + + + + + + 0 + 0 + + + + + 120 + 16777215 + + + + of 10 + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 167772 + 16777215 + + + + Previous + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Next + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Page + + + + + 9 + 9 + 126 + 215 + + + + + 1 + 0 + + + + + 250 + 16777215 + + + + + + + Line + + + + + + + 1 + + + + Injector + + + + + Aramis + + + + + Athos + + + + + Porthos + + + + + + + + Qt::Horizontal + + + + + + + Match + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + Status + + + + + + + Idle + + + + + + + + + Matching + + + + + + + 0 + 0 + + + + + 0 + 700 + + + + + 16777215 + 200000 + + + + + + + Name + + + + + + + + + + Description + + + + + + + + + + Match Aramis + + + true + + + + + + + Match Athos + + + true + + + + + + + Initialize Quad for Matching + + + true + + + + + + + + 0 + 0 + + + + + 0 + 100 + + + + Variables + + + + + + + Name + + + + + Value + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Add + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Remove + + + + + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 300 + + + + Common - Script Order + + + + 0 + + + 5 + + + 5 + + + 5 + + + 5 + + + + + Matched + + + true + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Move up + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Move down + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Add + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Remove + + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 300 + + + + Aramis - Script Order + + + + 0 + + + 5 + + + 5 + + + 5 + + + 5 + + + + + Matched + + + true + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Move up + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Move down + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Add + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Remove + + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 300 + + + + Athos -Script Order + + + + 0 + + + 5 + + + 5 + + + 5 + + + 5 + + + + + Matched + + + true + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Move up + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Move down + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Add + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Remove + + + + + + + + + + + + + Porthos-Script Order + + + + 0 + + + 5 + + + 5 + + + 5 + + + 5 + + + + + Matched + + + true + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Move up + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Move down + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Add + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + Remove + + + + + + + + + + + + + Qt::Horizontal + + + + 361 + 20 + + + + + + + + + 0 + 0 + + + + + 200 + 16777215 + + + + + 0 + 0 + + + + Available Scripts + + + + + + + 0 + 0 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Settings Sandbox + + + + + + + 0 + 0 + + + + + 200 + 0 + + + + Magnets (Angle/ k1L / k2L) + + + + + + + + + + + Start + + + + + + + + + + Filter + + + + + + + + + + + + background-color: rgb(170, 170, 0); + + + Model -> Machine + + + + + + + Model <- Sandbox <- Machine + + + + + + + Model <- Sandbox + + + + + + + + + + + 0 + 0 + + + + + 400 + 0 + + + + Undulator/ID (K/Gap and Pol./Offset + + + + + + + + + Model <- Sandbox <- Machine + + + + + + + Model <- Sandbox + + + + + + + + + + + 0 + 0 + + + + + 400 + 0 + + + + RF (Gradient and Phase) + + + + + + Initial Energy (MeV) + + + + + + + + + Model + + + + + + + Machine + + + + + + + + + + + + + + + + + + Model <- Sandbox <- Machine + + + + + + + Model <- Sandbox + + + + + + + + + + + Optics Functions + + + + + + + + + 0 + 0 + + + + + + + + + + + Script Editor + + + + + + + + + Script + + + + + + + NewFile.madx + + + true + + + + + + + + + + + + + + Elegant Configuration + + + + + + false + + + Distribution + + + + + + Charge + + + + + + + + + + Energy + + + + + + + + + + Energy Spread + + + + + + + + + + Bunch Duration + + + + + + + + + + Emittance in X + + + + + + + + + + Emittance in Y + + + + + + + + + + Beta in X + + + + + + + + + + Beta in Y + + + + + + + + + + Alpha in X + + + + + + + + + + Alpha in Y + + + + + + + + + + + + + false + + + Elegant Parameters + + + + + + Downsample Rate + + + + + + + 1 + + + + + + + Exclude Space Charge + + + true + + + true + + + + + + + Exclude CSR + + + true + + + + + + + Center Bunch after Chicanes + + + true + + + + + + + Generate Dump at Following Locations + + + true + + + + + + + + SINLH03-DBPM010 + + + + + SINSB04-DBPM220 + + + + + SINBC01-DBPM100 + + + + + SINDI01-DBPM010 + + + + + S10BC01-DBPM090 + + + + + S10MA01-DBPM010 + + + + + S20SY01-DBPM060 + + + + + SARCL01-DBPM010 + + + + + SARMA02-DBPM110 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Add + + + + + + + Remove + + + + + + + + + + New Beamline Element + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + Log + + + + + + + 0 + 0 + + + + true + + + + + + + + + + + + + 0 + 0 + 1605 + 22 + + + + + File + + + + + + + + + + + + + + + + + MadX + + + + + + + + + Help + + + + + + + Edit + + + + + + + + Settings + + + + + + + + Elegant + + + + + + + + + + + + + + + New Model + + + Ctrl+N + + + + + Open Model... + + + Ctrl+O + + + + + Save Model + + + Ctrl+S + + + + + Save Model as ... + + + + + New Script... + + + Ctrl+Shift+N + + + + + Save Script as... + + + + + Track + + + Ctrl+T + + + + + Match + + + Ctrl+M + + + + + true + + + Quit + + + + + + + + true + + + Export Lattice... + + + + + false + + + Export Magnet Settings... + + + + + true + + + Info... + + + + + false + + + Website... + + + + + true + + + Load Settings from Model + + + + + false + + + Update Model + + + + + false + + + Load Settings from Machine + + + + + Open Script... + + + Ctrl+Shift+O + + + + + Save Script + + + Ctrl+Shift+S + + + + + Cut + + + Ctrl+X + + + + + Copy + + + Ctrl+C + + + + + Paste + + + Ctrl+V + + + + + false + + + Refresh + + + + + true + + + Load From Machine + + + + + true + + + Update RF in Model + + + + + true + + + Enforce Energy Profile + + + + + Serach... + + + + + true + + + Export Lattice for Elegant... + + + + + true + + + Track (Blocking) + + + Ctrl+Shift+T + + + + + true + + + true + + + Reduce Input Distribution + + + + + true + + + true + + + Exclude Space Charge + + + + + true + + + true + + + Exclude CSR + + + + + Test + + + + + true + + + Import Initial Distribution... + + + + + Load From LongTracker... + + + + + Update Undulator in Model + + + + + Backup Files + + + + + Export Optics Function... + + + + + Export Optical Functions... + + + + + Load Reference... + + + + + Save Reference + + + + + New Reference + + + + + + + actionQuit + triggered() + OpticsGUI + close() + + + -1 + -1 + + + 747 + 448 + + + + + diff --git a/updateGui.sh b/updateGui.sh new file mode 100755 index 0000000..fab6456 --- /dev/null +++ b/updateGui.sh @@ -0,0 +1,2 @@ +#!/bin/bash +pyuic5 ui/OpticsToolsGui.ui > ui/OpticsToolsGui.py