class ShowersLimitWidget(_LimitWidget): def __init__(self, parent=None): _LimitWidget.__init__(self, parent) self.setAccessibleName('Showers') def _initUI(self): # Widgets self._lbl_showers = QLabel('Number of electron showers') self._lbl_showers.setStyleSheet("color: blue") self._txt_showers = NumericalParameterWidget(ShowersLimit.showers) # Layouts layout = _LimitWidget._initUI(self) layout.addRow(self._lbl_showers, self._txt_showers) return layout def value(self): return ShowersLimit(showers=self._txt_showers.values()) def setValue(self, value): if hasattr(value, 'showers'): self._txt_showers.setValues(value.showers) def setReadOnly(self, state): _LimitWidget.setReadOnly(self, state) style = 'color: none' if state else 'color: blue' self._lbl_showers.setStyleSheet(style)
class PhotonEmissionMapDetectorWidget(_PhotonDelimitedDetectorWidget): def __init__(self, parent=None): _PhotonDelimitedDetectorWidget.__init__(self, parent) self.setAccessibleName("Photon emission map") def _initUI(self): # Widgets self._lbl_xbins = QLabel('X bins') self._lbl_xbins.setStyleSheet("color: blue") self._txt_xbins = NumericalParameterWidget(PhotonEmissionMapDetector.xbins) self._lbl_ybins = QLabel('Y bins') self._lbl_ybins.setStyleSheet("color: blue") self._txt_ybins = NumericalParameterWidget(PhotonEmissionMapDetector.ybins) self._lbl_zbins = QLabel('Z bins') self._lbl_zbins.setStyleSheet("color: blue") self._txt_zbins = NumericalParameterWidget(PhotonEmissionMapDetector.zbins) # Layouts layout = _PhotonDelimitedDetectorWidget._initUI(self) layout.addRow(self._lbl_xbins, self._txt_xbins) layout.addRow(self._lbl_ybins, self._txt_ybins) layout.addRow(self._lbl_zbins, self._txt_zbins) return layout def value(self): elevation_rad = self._getElevationValues() azimuth_rad = self._getAzimuthValues() xbins = self._txt_xbins.values() ybins = self._txt_ybins.values() zbins = self._txt_zbins.values() return PhotonEmissionMapDetector(elevation_rad, azimuth_rad, xbins, ybins, zbins) def setValue(self, value): _PhotonDelimitedDetectorWidget.setValue(self, value) self._txt_xbins.setValues(value.xbins) self._txt_ybins.setValues(value.ybins) self._txt_zbins.setValues(value.zbins) def setReadOnly(self, state): _PhotonDelimitedDetectorWidget.setReadOnly(self, state) style = 'color: none' if state else 'color: blue' self._lbl_xbins.setStyleSheet(style) self._lbl_ybins.setStyleSheet(style) self._lbl_zbins.setStyleSheet(style)
def _initUI(self): # Widgets self._lbl_showers = QLabel('Number of electron showers') self._lbl_showers.setStyleSheet("color: blue") self._txt_showers = NumericalParameterWidget(ShowersLimit.showers) # Layouts layout = _LimitWidget._initUI(self) layout.addRow(self._lbl_showers, self._txt_showers) return layout
def _initUI(self): # Widgets self._lbl_channels = QLabel('Channels') self._lbl_channels.setStyleSheet("color: blue") self._txt_channels = NumericalParameterWidget(_ChannelsDetector.channels) # Layouts layout = _ParameterizedClassWidget._initUI(self) layout.addRow(self._lbl_channels, self._txt_channels) return layout
def _initUI(self): # Widgets self._lbl_xbins = QLabel('X bins') self._lbl_xbins.setStyleSheet("color: blue") self._txt_xbins = NumericalParameterWidget(PhotonEmissionMapDetector.xbins) self._lbl_ybins = QLabel('Y bins') self._lbl_ybins.setStyleSheet("color: blue") self._txt_ybins = NumericalParameterWidget(PhotonEmissionMapDetector.ybins) self._lbl_zbins = QLabel('Z bins') self._lbl_zbins.setStyleSheet("color: blue") self._txt_zbins = NumericalParameterWidget(PhotonEmissionMapDetector.zbins) # Layouts layout = _PhotonDelimitedDetectorWidget._initUI(self) layout.addRow(self._lbl_xbins, self._txt_xbins) layout.addRow(self._lbl_ybins, self._txt_ybins) layout.addRow(self._lbl_zbins, self._txt_zbins) return layout
class _ChannelsDetectorWidget(_ParameterizedClassWidget): def _initUI(self): # Widgets self._lbl_channels = QLabel('Channels') self._lbl_channels.setStyleSheet("color: blue") self._txt_channels = NumericalParameterWidget(_ChannelsDetector.channels) # Layouts layout = _ParameterizedClassWidget._initUI(self) layout.addRow(self._lbl_channels, self._txt_channels) return layout def setValue(self, value): self._txt_channels.setValues(value.channels) def setReadOnly(self, state): _ParameterizedClassWidget.setReadOnly(self, state) style = 'color: none' if state else 'color: blue' self._lbl_channels.setStyleSheet(style)
def _initUI(self): # Widgets self._lbl_xlimits = QLabel('X limits') self._lbl_xlimits.setStyleSheet("color: blue") self._txt_xlimits = _UnitRangeWidget(_SpatialDetector.xlimits_m) self._lbl_xbins = QLabel('X bins') self._lbl_xbins.setStyleSheet("color: blue") self._txt_xbins = NumericalParameterWidget(_SpatialDetector.xbins) self._lbl_ylimits = QLabel('Y limits') self._lbl_ylimits.setStyleSheet("color: blue") self._txt_ylimits = _UnitRangeWidget(_SpatialDetector.ylimits_m) self._lbl_ybins = QLabel('Y bins') self._lbl_ybins.setStyleSheet("color: blue") self._txt_ybins = NumericalParameterWidget(_SpatialDetector.ybins) self._lbl_zlimits = QLabel('Z limits') self._lbl_zlimits.setStyleSheet("color: blue") self._txt_zlimits = _UnitRangeWidget(_SpatialDetector.zlimits_m) self._lbl_zbins = QLabel('Z bins') self._lbl_zbins.setStyleSheet("color: blue") self._txt_zbins = NumericalParameterWidget(_SpatialDetector.zbins) # Layouts layout = _ParameterizedClassWidget._initUI(self) layout.addRow(self._lbl_xlimits, self._txt_xlimits) layout.addRow(self._lbl_xbins, self._txt_xbins) layout.addRow(self._lbl_ylimits, self._txt_ylimits) layout.addRow(self._lbl_ybins, self._txt_ybins) layout.addRow(self._lbl_zlimits, self._txt_zlimits) layout.addRow(self._lbl_zbins, self._txt_zbins) return layout
class _SpatialDetectorWidget(_ParameterizedClassWidget): def _initUI(self): # Widgets self._lbl_xlimits = QLabel('X limits') self._lbl_xlimits.setStyleSheet("color: blue") self._txt_xlimits = _UnitRangeWidget(_SpatialDetector.xlimits_m) self._lbl_xbins = QLabel('X bins') self._lbl_xbins.setStyleSheet("color: blue") self._txt_xbins = NumericalParameterWidget(_SpatialDetector.xbins) self._lbl_ylimits = QLabel('Y limits') self._lbl_ylimits.setStyleSheet("color: blue") self._txt_ylimits = _UnitRangeWidget(_SpatialDetector.ylimits_m) self._lbl_ybins = QLabel('Y bins') self._lbl_ybins.setStyleSheet("color: blue") self._txt_ybins = NumericalParameterWidget(_SpatialDetector.ybins) self._lbl_zlimits = QLabel('Z limits') self._lbl_zlimits.setStyleSheet("color: blue") self._txt_zlimits = _UnitRangeWidget(_SpatialDetector.zlimits_m) self._lbl_zbins = QLabel('Z bins') self._lbl_zbins.setStyleSheet("color: blue") self._txt_zbins = NumericalParameterWidget(_SpatialDetector.zbins) # Layouts layout = _ParameterizedClassWidget._initUI(self) layout.addRow(self._lbl_xlimits, self._txt_xlimits) layout.addRow(self._lbl_xbins, self._txt_xbins) layout.addRow(self._lbl_ylimits, self._txt_ylimits) layout.addRow(self._lbl_ybins, self._txt_ybins) layout.addRow(self._lbl_zlimits, self._txt_zlimits) layout.addRow(self._lbl_zbins, self._txt_zbins) return layout def setValue(self, value): self._txt_xlimits.setValues(value.xlimits_m) self._txt_xbins.setValues(value.xbins) self._txt_ylimits.setValues(value.ylimits_m) self._txt_ybins.setValues(value.ybins) self._txt_zlimits.setValues(value.zlimits_m) self._txt_zbins.setValues(value.zbins) def setReadOnly(self, state): _ParameterizedClassWidget.setReadOnly(self, state) style = 'color: none' if state else 'color: blue' self._lbl_xlimits.setStyleSheet(style) self._lbl_xbins.setStyleSheet(style) self._lbl_ylimits.setStyleSheet(style) self._lbl_ybins.setStyleSheet(style) self._lbl_zlimits.setStyleSheet(style) self._lbl_zbins.setStyleSheet(style)