Example #1
0
 def action_facility_changed(self, new_facility):
     """
     When the facility is changed, refreshes all available instruments that can be selected in the dropdown.
     :param new_facility: The name of the new facility that was selected
     """
     current_value = ConfigService.getFacility().name()
     if new_facility != current_value:
         ConfigService.setFacility(new_facility)
     # refresh the instrument selection to contain instruments about the selected facility only
     self.view.cbInstrument.clear()
     self.view.cbInstrument.addItems(
         [instr.name() for instr in ConfigService.getFacility(new_facility).instruments()])
Example #2
0
    def setup_facilities_group(self):
        facilities = ConfigService.getFacilityNames()
        if not facilities:
            return
        self.view.facility.addItems(facilities)

        try:
            default_facility = ConfigService.getFacility().name()
        except RuntimeError:
            default_facility = facilities[0]
        self.view.facility.setCurrentIndex(
            self.view.facility.findText(default_facility))
        self.action_facility_changed(default_facility)
        self.view.facility.currentTextChanged.connect(
            self.action_facility_changed)

        try:
            default_instrument = ConfigService.getInstrument().name()
            self.view.instrument.setCurrentIndex(
                self.view.instrument.findText(default_instrument))
        except RuntimeError:
            default_instrument = self.view.instrument.itemText(0)
        self.action_instrument_changed(default_instrument)
        self.view.instrument.currentTextChanged.connect(
            self.action_instrument_changed)
Example #3
0
    def setup_facilities_group(self):
        facilities = sorted(ConfigService.getFacilityNames())
        if not facilities:
            return
        self.view.facility.addItems(facilities)
        self.view.instrument = instrumentselector.InstrumentSelector()
        self.view.horizontalLayout_4.replaceWidget(self.view.instrument_dummy,
                                                   self.view.instrument)
        self.view.instrument_dummy.setVisible(False)

        try:
            default_facility = ConfigService.getFacility().name()
        except RuntimeError:
            default_facility = facilities[0]
        self.view.facility.setCurrentIndex(
            self.view.facility.findText(default_facility))
        self.action_facility_changed(default_facility)
        self.view.facility.currentTextChanged.connect(
            self.action_facility_changed)

        try:
            default_instrument = ConfigService.getInstrument().name()
        except RuntimeError:
            default_instrument = self.view.instrument.itemText(0)
        self.action_instrument_changed(default_instrument)
        self.view.instrument.currentTextChanged.connect(
            self.action_instrument_changed)
Example #4
0
 def update_facilities_group(self):
     default_facility = ConfigService.getFacility().name()
     if not self.view.facility.findText(default_facility) == -1:
         self.view.instrument.blockSignals(True)
         self.view.facility.setCurrentIndex(self.view.facility.findText(default_facility))
         self.action_facility_changed(default_facility)
         self.view.instrument.blockSignals(False)
Example #5
0
    def should_show_on_startup():
        """ Determines if the first time dialog should be shown
        :return: True if the dialog should be shown
        """
        # first check the facility and instrument
        facility = ConfigService.getString(AboutPresenter.FACILITY)
        instrument = ConfigService.getString(AboutPresenter.INSTRUMENT)
        if not facility:
            return True
        else:
            # check we can get the facility and instrument
            try:
                facilityInfo = ConfigService.getFacility(facility)
                instrumentInfo = ConfigService.getInstrument(instrument)
                logger.information("Default facility '{0}', instrument '{1}'\n".format(facilityInfo.name(),
                                                                                       instrumentInfo.name()))
            except RuntimeError:
                # failed to find the facility or instrument
                logger.error("Could not find your default facility '{0}' or instrument '{1}' in facilities.xml, "
                             + "showing please select again.\n".format(facility, instrument))
                return True

        settings = QSettings()
        settings.beginGroup(AboutPresenter.DO_NOT_SHOW_GROUP)
        doNotShowUntilNextRelease =int(settings.value(AboutPresenter.DO_NOT_SHOW, '0'))
        lastVersion = settings.value(AboutPresenter.LAST_VERSION, "")
        settings.endGroup()

        if not doNotShowUntilNextRelease:
            return True

        # Now check if the version has changed since last time
        version = release_notes_url()
        return version != lastVersion
Example #6
0
 def action_facility_changed(self, new_facility):
     """
     When the facility is changed, refreshes all available instruments that can be selected in the dropdown.
     :param new_facility: The name of the new facility that was selected
     """
     ConfigService.setFacility(new_facility)
     # refresh the instrument selection to contain instruments about the selected facility only
     self.view.instrument.clear()
     self.view.instrument.addItems(
         [instr.name() for instr in ConfigService.getFacility(new_facility).instruments()])
Example #7
0
    def getValidInstruments(self):
        instruments = ['']

        for name in ['SNS', 'HFIR']:
            facility = ConfigService.getFacility(name)
            facilityInstruments = sorted([item.shortName()
                                          for item in facility.instruments()
                                          if item != 'DAS'])
            instruments.extend(facilityInstruments)

        return instruments
Example #8
0
    def getValidInstruments(self):
        instruments = ['']

        for name in ['SNS', 'HFIR']:
            facility = ConfigService.getFacility(name)
            facilityInstruments = sorted([item.shortName()
                                          for item in facility.instruments()
                                          if item != 'DAS'])
            instruments.extend(facilityInstruments)

        return instruments
Example #9
0
 def action_facility_changed(self, new_facility):
     """
     When the facility is changed, refreshes all available instruments that can be selected in the dropdown.
     :param new_facility: The name of the new facility that was selected
     """
     current_value = ConfigService.getFacility().name()
     if new_facility != current_value:
         ConfigService.setFacility(new_facility)
     # refresh the instrument selection to contain instruments about the selected facility only
     self.view.instrument.facility = new_facility
     if new_facility != current_value:
         self.view.instrument.setCurrentIndex(0)
Example #10
0
    def setup_facilities_group(self):
        facilities = ConfigService.getFacilityNames()
        self.view.facility.addItems(facilities)

        default_facility = ConfigService.getFacility().name()
        self.view.facility.setCurrentIndex(self.view.facility.findText(default_facility))
        self.action_facility_changed(default_facility)
        self.view.facility.currentTextChanged.connect(self.action_facility_changed)

        default_instrument = ConfigService.getInstrument().name()
        self.view.instrument.setCurrentIndex(self.view.instrument.findText(default_instrument))
        self.action_instrument_changed(default_instrument)
        self.view.instrument.currentTextChanged.connect(self.action_instrument_changed)
Example #11
0
    def update_facilities_group(self):
        default_facility = ConfigService.getFacility().name()
        if not self.view.facility.findText(default_facility) == -1:
            self.view.instrument.blockSignals(True)
            self.view.facility.setCurrentIndex(
                self.view.facility.findText(default_facility))
            self.action_facility_changed(default_facility)
            self.view.instrument.blockSignals(False)

        instrument = ConfigService.getString(
            GeneralProperties.INSTRUMENT.value)
        if not self.view.instrument.findText(instrument) == -1:
            self.view.instrument.setCurrentIndex(
                self.view.instrument.findText(instrument))
Example #12
0
    def setup_facilities_group(self):
        facilities = ConfigService.getFacilityNames()
        self.view.facility.addItems(facilities)

        default_facility = ConfigService.getFacility().name()
        self.view.facility.setCurrentIndex(
            self.view.facility.findText(default_facility))
        self.action_facility_changed(default_facility)
        self.view.facility.currentTextChanged.connect(
            self.action_facility_changed)

        default_instrument = ConfigService.getInstrument().name()
        self.view.instrument.setCurrentIndex(
            self.view.instrument.findText(default_instrument))
        self.action_instrument_changed(default_instrument)
        self.view.instrument.currentTextChanged.connect(
            self.action_instrument_changed)
Example #13
0
 def _get_current_facility() -> str:
     try:
         return ConfigService.getFacility().name()
     except RuntimeError:
         return None
Example #14
0
 def store_facility(self, new_facility):
     current_value = ConfigService.getFacility().name()
     if new_facility != current_value:
         ConfigService.setFacility(new_facility)
         return True
     return False
Example #15
0
 def _get_test_facility(self):
     return ConfigService.getFacility("ISIS")
Example #16
0
 def _get_test_instrument(self):
     facility = ConfigService.getFacility("ISIS")
     return facility.instrument("CRISP")
 def _get_test_listener(self):
     facility = ConfigService.getFacility("ISIS")
     return facility.instrument("CRISP").liveListenerInfo()
Example #18
0
 def _get_test_facility(self):
     return ConfigService.getFacility("ISIS")
Example #19
0
 def _get_test_listener(self):
     facility = ConfigService.getFacility("ISIS")
     return facility.instrument("CRISP").liveListenerInfo()