Source code for madgui.widget.correct.manproc

from PyQt5.QtCore import pyqtSlot as slot
from PyQt5.QtWidgets import QWidget

from madgui.util.qt import load_ui


[docs]class ManProcWidget(QWidget): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) load_ui(self, __package__, 'manproc.ui')
[docs] def set_corrector(self, corrector): self.corrector = corrector self.corrector.optics.update_finished.connect(self.on_optics_updated) self.on_optics_updated()
[docs] def on_optics_updated(self, *_): num_optics = len(self.corrector.optics) if num_optics == self.opticComboBox.count(): return selected = self.opticComboBox.currentIndex() self.opticComboBox.clear() self.opticComboBox.addItems([ "Optic {}".format(i+1) for i in range(num_optics) ]) self.opticComboBox.setCurrentIndex(min(selected, num_optics-1)) self.setOpticButton.setEnabled(num_optics > 0)
[docs] @slot() def on_recordButton_clicked(self): self.corrector.add_record( self.opticComboBox.currentIndex(), None)
[docs] @slot() def on_setOpticButton_clicked(self): # TODO: disable "write" button until another optic has been selected # or the optic has changed in the ACS self.corrector.set_optic(self.opticComboBox.currentIndex())