def __init__(self, parent=None, section=None, is_main=True, main_secs=('TB', 'BO', 'TS', 'SI')): """Constructor.""" super().__init__(parent) self._section = section self._is_main = is_main self._main_secs = main_secs self.setWindowTitle(section.upper() + ' Pulsed Magnets Control Window') if section in {'InjBO', 'EjeBO'}: color = get_appropriate_color('BO') self.setObjectName('BOApp') elif section in {'InjSI', 'Ping'}: color = get_appropriate_color('SI') self.setObjectName('SIApp') else: color = get_appropriate_color(section) self.setObjectName(section + 'App') self.setWindowIcon(qta.icon('mdi.current-ac', color=color)) self.pu_widgets_dict = dict() self._setup_ui() self.setCentralWidget(self.main_widget) self.setFocusPolicy(Qt.StrongFocus) self._create_actions()
def __init__(self, parent=None, prefix=_VACA_PREFIX): """Init.""" super().__init__(parent=parent) self.prefix = prefix self.setObjectName('SIApp') self.dcct_list = get_dcct_list('SI') self.setWindowTitle('Select a DCCT') self.setWindowIcon( qta.icon('mdi.current-dc', color=util.get_appropriate_color('SI'))) self._setupUi()
def __init__(self, parent=None, prefix=VACA_PREFIX, section=''): super().__init__(parent) self.prefix = prefix self.section = section.upper() self.setObjectName(self.section+'App') self.setWindowTitle(self.section+' Tune') self.setWindowIcon( qta.icon('mdi.pulse', color=util.get_appropriate_color(self.section))) self._setupUi() self.setFocusPolicy(Qt.StrongFocus)
def __init__(self, parent=None, prefix=VACA_PREFIX, is_it=False): """Init.""" super().__init__(parent) self.prefix = prefix + ('-' if prefix else '') self.dev_pref = 'IT-EGH' if is_it else 'LI-01' self.dev_desc = 'Injector Test' if is_it else 'Linac' self.setWindowTitle(self.dev_desc + ' E-gun Control Window') self.sec = self.dev_pref[0:2] color = get_appropriate_color(self.sec) self.setWindowIcon(qta.icon('mdi.spotlight-beam', color=color)) self.setObjectName(self.sec + 'App') self._setupUi()
def __init__(self, devname, parent=None): """Constructor.""" super().__init__(parent) self._devname = _PVName(devname) self._section = self._devname.sec self._devtype = self._devname.dis self.setObjectName(self._section + 'App') self.setWindowTitle(self._devname) self.setWindowIcon( qta.icon('mdi.current-ac', color=util.get_appropriate_color(self._section))) self._setup_ui()
def get_selection_lists_widget(self, parent): """.""" sel_wid = QWidget(parent) sel_lay = QHBoxLayout(sel_wid) icon = qta.icon('fa5s.hammer', color=get_appropriate_color(self.acc)) Window = create_window_from_widget( SelectionMatrix, title='Corrs and BPMs selection', icon=icon) btn = QPushButton('', sel_wid) btn.setObjectName('btn') btn.setIcon(qta.icon('fa5s.tasks')) btn.setToolTip('Open window to select BPMs and correctors') btn.setStyleSheet( '#btn{min-width:3.8em; max-width:3.8em;\ min-height:2em; max-height:2em; icon-size:25px;}') connect_window( btn, Window, None, device=self.device, prefix=self.prefix, acc=self.acc) sel_lay.addWidget(btn) lay = QVBoxLayout() sel_lay.addStretch() sel_lay.addLayout(lay) hlay = QHBoxLayout() lay.addLayout(hlay) hlay.addWidget(SiriusEnumComboBox( sel_wid, self.devpref.substitute(propty='RespMatMode-Sel'))) hlay.addWidget(SiriusLabel( sel_wid, self.devpref.substitute(propty='RespMatMode-Sts'))) if self.acc in {'SI', 'BO'}: hlay = QHBoxLayout() lay.addLayout(hlay) pdm_chbx = PyDMCheckbox( sel_wid, self.devpref.substitute(propty='RFEnbl-Sel')) pdm_chbx.setText('use RF') pdm_led = SiriusLedState( sel_wid, self.devpref.substitute(propty='RFEnbl-Sts')) hlay.addWidget(pdm_chbx) hlay.addWidget(pdm_led) btn = QPushButton('', sel_wid) btn.setToolTip('Visualize RespMat') btn.setIcon(qta.icon('mdi.chart-line')) btn.setObjectName('btn') btn.setStyleSheet('#btn{max-width:40px; icon-size:40px;}') connect_newprocess( btn, [f'sirius-hla-{self.acc.lower():s}-ap-sofb.py', '--matrix']) sel_lay.addWidget(btn) return sel_wid
def __init__(self, section, parent=None): """Setups widget interface.""" super().__init__(parent) self._section = section self.dips, self.mags = init_section(section.upper()) self._items_fail = [] self._items_success = [] self._setup_ui() color = QColor(get_appropriate_color(section.upper())) pal = self.palette() pal.setColor(QPalette.Background, color) self.setAutoFillBackground(True) self.setPalette(pal)
def __init__(self, parent=None, prefix='', device=''): """Initialize.""" super().__init__(parent) self.prefix = prefix self.device = SiriusPVName(device) self.section = self.device.sec self.setObjectName(self.section + 'App') self.setWindowTitle(device) self.setWindowIcon( qta.icon('mdi.current-dc', color=util.get_appropriate_color(self.section))) self._setupUi() self.setFocusPolicy(Qt.StrongFocus)
def get_id_icon(): color = get_appropriate_color('ID') icon = qta.icon('mdi.current-ac', 'mdi.current-ac', 'mdi.equal', options=[ dict(scale_factor=0.48, color=color, offset=(-0.16, -0.01)), dict(scale_factor=0.48, color=color, offset=(0.16, -0.01)), dict(scale_factor=2.4, color=color, offset=(0.0, 0.0)) ]) return icon
def __init__(self, parent=None, prefix=VACA_PREFIX, device_analysis='', device_cam=''): """.""" super().__init__(parent) self._prefix = prefix self._device_analysis = _PVName( device_analysis[:-1]).substitute(prefix=prefix) self._device_cam = prefix + ('-' if prefix else '') + device_cam[:-1] self._color = get_appropriate_color('ID') self._title = self._device_analysis.dev + ' MVS2 Analysis Window' self.setWindowTitle(self._title) self.setWindowIcon(qta.icon('mdi.camera-control', color=self._color)) self.setObjectName('IDApp') self._setupUi()
def __init__(self, parent=None, prefix=''): """Initialize object.""" super().__init__(parent) self.setWindowTitle('Booster Energy Ramping') self.setObjectName('BOApp') cor = get_appropriate_color(section='BO') self.setWindowIcon(qta.icon( 'mdi.escalator', scale_factor=1.5, color=cor)) self.prefix = prefix self.ramp_config = None self._undo_stack = QUndoStack(self) self._tunecorr_configname = 'BO.V05.04.M0' self._chromcorr_configname = 'BO.V05.04.M0' self._setupUi() self._connSignals() self._addActions() self.setFocusPolicy(Qt.StrongFocus)
def __init__(self, devname, parent=None): """Receive a parent and a pulsed mangnet name.""" super().__init__(parent) self._devname = _PVName(devname) self._section = self._devname.sec self._prefix = _VACA_PREFIX self._pdev = self._devname.substitute(prefix=self._prefix) self.setObjectName(self._section + 'App') self.setWindowIcon( qta.icon('mdi.current-ac', color=util.get_appropriate_color(self._section))) self._create_pvs() self._setup_ui() self.setStyleSheet(""" #pulses_box, #pwrstate_box { max-width: 8em; } """) self.setFocusPolicy(Qt.StrongFocus)
def __init__(self, parent=None, prefix=VACA_PREFIX): super().__init__(parent) self.setObjectName('ASApp') self.setWindowTitle('Efficiency Monitor') color = get_appropriate_color('AS') self.setWindowIcon(qta.icon('mdi.percent-outline', color=color)) self._prefix = prefix self._eff_list = ( # ('LI-SI Inj', 'AS-Glob:AP-CurrInfo:InjEff-Mon', 'magenta'), ('BO-SI Inj', 'SI-Glob:AP-CurrInfo:InjEff-Mon', 'blue'), ('TS', 'TS-Glob:AP-CurrInfo:TranspEff-Mon', 'black'), ('BO Ramp', 'BO-Glob:AP-CurrInfo:RampEff-Mon', 'green'), # ('LI-BO Inj', 'BO-Glob:AP-CurrInfo:InjEff-Mon', 'darkRed'), ('TB', 'TB-Glob:AP-CurrInfo:TranspEff-Mon', 'darkCyan'), ('LI', 'LI-Glob:AP-CurrInfo:TranspEff-Mon', 'red'), ) self._app = QApplication.instance() font = self._app.font() font.setPointSize(32) self._app.setFont(font) self._setupUi()
def __init__(self, section, device, subsection=None, parent=None): """Class constructor.""" super(PSControlWindow, self).__init__(parent) self.setObjectName(section + 'App') self._section = section self._device = device self._subsection = subsection icon = qta.icon('mdi.car-battery', color=get_appropriate_color(section)) self.setWindowIcon(icon) self._setup_ui() sec2label = { 'LI': 'Linac ', 'TB': 'Linac to Booster ', 'BO': 'Booster ', 'TS': 'Booster to Storage Ring ', 'SI': 'Storage Ring ', 'IT': 'Injector Test ' } dev2label = { "dipole": "Dipoles", "spectrometer": "Spectrometer", "quadrupole": "Quadrupoles", "sextupole": "Sextupoles", "solenoid": "Solenoids", "corrector-slow": "Slow Correctors", "corrector-fast": "Fast Correctors", "skew-quadrupole": "Quadrupoles Skew", "trim-quadrupole": "Trims", "lens": "Lens", } self.setWindowTitle(sec2label[section] + (dev2label[device] if device else '') + ' Power Supplies ' + ('- Subsection ' + subsection if subsection else ''))
def __init__(self, psname, parent=None): """Init UI.""" super(PSDetailWindow, self).__init__(parent) if isinstance(psname, str): self._psname = [ _PVName(psname), ] else: self._psname = [_PVName(psn) for psn in psname] name = self._psname[0] self._is_dclink = 'dclink' in PSSearch.conv_psname_2_pstype(name) secs = {'AS', 'LI', 'TB', 'BO', 'TS', 'SI', 'IT'} if name.sub.endswith(('SA', 'SB', 'SP', 'ID')): sec = 'ID' elif name.sec in secs: sec = name.sec elif name.idx[:2] in secs: sec = name.idx[:2] else: sec = 'AS' self.setObjectName(sec + 'App') icon = qta.icon('mdi.car-battery', color=get_appropriate_color(sec)) self.setWindowIcon(icon) self._setup_ui()
from siriuspy.envars import VACA_PREFIX parser = _argparse.ArgumentParser(description="Run SOFB HLA Interface.") parser.add_argument('-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") parser.add_argument('-m', '--matrix', action='store_true', default=False, help="Choose whether to show matrix widget") args = parser.parse_args() app = SiriusApplication() if args.matrix: window = create_window_from_widget( ShowMatrixWidget, 'Response Matrix', icon=qta.icon('fa5s.hammer', color=util.get_appropriate_color('TB')), is_main=True) app.open_window(window, parent=None, device='TB-Glob:AP-SOFB', prefix=args.prefix, acc='TB') else: app.open_window(MainWindow, parent=None, prefix=args.prefix, acc='TB') sys.exit(app.exec_())
"""Open Window of energy measurement in LI.""" import os import sys import argparse as _argparse import qtawesome as qta from siriuspy.envars import VACA_PREFIX import siriushla.util as _util from siriushla.sirius_application import SiriusApplication from siriushla.as_ap_measure import EnergyMeasure from siriushla.widgets.windows import create_window_from_widget # Linac image is very large! (2448 X 2050) os.environ['EPICS_CA_MAX_ARRAY_BYTES'] = '21000000' parser = _argparse.ArgumentParser( description="Run Interface of energy measurement in LI.") parser.add_argument( '-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") args = parser.parse_args() app = SiriusApplication() icon = qta.icon( 'mdi.gauge', color=_util.get_appropriate_color('LI')) MyWindow = create_window_from_widget( EnergyMeasure, title='Linac Energy Measure', is_main=True, icon=icon) app.open_window(MyWindow) sys.exit(app.exec_())
type=str, default='Positions', help="Show Antennas or Positions (default= 'Positions').", choices=('Positions', 'Antennas')) parser.add_argument('-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") args = parser.parse_args() app = SiriusApplication() pv = _PVName(args.bpm_sel) kwargs = dict() if pv.dev in ('BPM', 'PBPM'): icon = qta.icon('mdi.currency-sign', color=get_appropriate_color(pv.sec)) window = create_window_from_widget(BPMMain, title=args.bpm_sel, is_main=True, icon=icon) kwargs.update(dict(prefix=args.prefix, bpm=pv)) else: sec = args.bpm_sel.upper() bpms_names = BPMSearch.get_names(filters={'sec': sec, 'dev': 'BPM'}) icon = qta.icon('mdi.currency-sign', color=get_appropriate_color(sec)) if args.window == 'Monitor': clas = SelectBPMs icon = get_monitor_icon('mdi.currency-sign', color=get_appropriate_color(sec)) elif args.window == 'SPass': clas = SinglePassSummary
#!/usr/bin/env python-sirius """RAD Monitor.""" import sys as sys import argparse as argparse import qtawesome as qta from siriushla.util import get_appropriate_color from siriuspy.envars import VACA_PREFIX from siriushla.sirius_application import SiriusApplication from siriushla.as_ap_radmon import RadTotDoseMonitor from siriushla.widgets.windows import create_window_from_widget parser = argparse.ArgumentParser(description="Run RAD Monitor.") parser.add_argument('-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") args = parser.parse_args() app = SiriusApplication() icon = qta.icon('fa5s.radiation', color=get_appropriate_color('AS')) window = create_window_from_widget(RadTotDoseMonitor, 'RAD: Total Dose Monitor', is_main=True, withscroll=True, icon=icon) app.open_window(window, parent=None, prefix=args.prefix) sys.exit(app.exec_())
import sys import argparse as _argparse import qtawesome as qta from siriuspy.envars import VACA_PREFIX from siriushla.util import get_appropriate_color from siriushla.sirius_application import SiriusApplication from siriushla.as_ap_monitor import SiriusMonitor from siriushla.widgets.windows import create_window_from_widget parser = _argparse.ArgumentParser(description="Run Sirius Monitor Interface.") parser.add_argument('-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") args = parser.parse_args() app = SiriusApplication() color = get_appropriate_color(section='AS') icon = qta.icon('mdi.monitor-dashboard', color=color) window = create_window_from_widget(SiriusMonitor, title='Sirius Monitor', icon=icon, is_main=True, withscroll=True, min_width=96) app.open_window(window, parent=None, prefix=args.prefix) sys.exit(app.exec_())
from siriushla.as_ti_control import TimingMain, MonitorWindow from siriushla.util import get_appropriate_color, get_monitor_icon parser = _argparse.ArgumentParser(description="Run Timing HLA Interface.") parser.add_argument('-p', "--prefix", type=str, default=VACA_PREFIX, help="Define the prefix for the PVs in the window.") parser.add_argument('-t', "--type", type=str, default='main', choices=('main', 'monitor'), help="Whether to open monitor window.") args = parser.parse_args() app = SiriusApplication(None, sys.argv) if args.type.lower() == 'main': app.open_window(TimingMain, parent=None, prefix=args.prefix) else: icon = get_monitor_icon('mdi.timer', color=get_appropriate_color('AS')) window = create_window_from_widget(MonitorWindow, title='Timing Monitor', icon=icon, is_main=True, withscroll=True, min_width=25) app.open_window(window, parent=None, prefix=args.prefix) sys.exit(app.exec_())