def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.image_tracking_hwobj is not None: self.disconnect( self.image_tracking_hwobj, "imageTrackingStateChanged", self.image_tracking_state_changed, ) self.disconnect( self.image_tracking_hwobj, "stateChanged", self.state_changed ) self.image_tracking_hwobj = self.get_hardware_object(new_value) if self.image_tracking_hwobj is not None: self.image_tracking_cbox.blockSignals(True) self.image_tracking_cbox.setChecked( self.image_tracking_hwobj.is_tracking_enabled() == True ) self.image_tracking_cbox.blockSignals(False) self.connect( self.image_tracking_hwobj, "imageTrackingStateChanged", self.image_tracking_state_changed, ) self.connect( self.image_tracking_hwobj, "stateChanged", self.state_changed ) self.image_tracking_hwobj.update_values() self.setEnabled(True) else: self.setEnabled(False) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.light_ho is not None: self.disconnect( self.light_ho, QtImport.SIGNAL("levelChanged"), self.level_changed ) self.disconnect( self.light_ho, QtImport.SIGNAL("stateChanged"), self.state_changed ) self.light_ho = self.get_hardware_object(new_value) if self.light_ho is not None: self.setEnabled(True) self.connect( self.light_ho, QtImport.SIGNAL("levelChanged"), self.level_changed ) self.connect( self.light_ho, QtImport.SIGNAL("stateChanged"), self.state_changed ) self.light_ho.update_values() self.setToolTip( "Control of %s (light level and on/off switch." % self.light_ho.getUserName() ) self.set_level_limits(self.light_ho.getLimits()) self.set_label(self.light_ho.getUserName()) else: self.setEnabled(False) elif property_name == "icons": self.set_icons(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.image_tracking_hwobj is not None: self.disconnect( self.image_tracking_hwobj, "imageTrackingStateChanged", self.image_tracking_state_changed, ) self.disconnect(self.image_tracking_hwobj, "stateChanged", self.state_changed) self.image_tracking_hwobj = self.get_hardware_object(new_value) if self.image_tracking_hwobj is not None: self.image_tracking_cbox.blockSignals(True) self.image_tracking_cbox.setChecked( self.image_tracking_hwobj.is_tracking_enabled() == True) self.image_tracking_cbox.blockSignals(False) self.connect( self.image_tracking_hwobj, "imageTrackingStateChanged", self.image_tracking_state_changed, ) self.connect(self.image_tracking_hwobj, "stateChanged", self.state_changed) self.image_tracking_hwobj.re_emit_values() self.setEnabled(True) else: self.setEnabled(False) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.beamstop_hwobj is not None: self.disconnect(self.beamstop_hwobj, "deviceReady", self.connected) self.disconnect(self.beamstop_hwobj, "deviceNotReady", self.disconnected) self.disconnect( self.beamstop_hwobj, "beamstopDistanceChanged", self.beamstop_distance_changed, ) self.beamstop_hwobj = self.get_hardware_object(new_value) if self.beamstop_hwobj is not None: self.connect(self.beamstop_hwobj, "deviceReady", self.connected) self.connect(self.beamstop_hwobj, "deviceNotReady", self.disconnected) self.connect( self.beamstop_hwobj, "beamstopDistanceChanged", self.beamstop_distance_changed, ) if self.beamstop_hwobj.isReady(): self.connected() self.beamstop_hwobj.update_values() else: self.disconnected() else: self.disconnected() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.crl_hwobj: self.disconnect(self.crl_hwobj, "crlModeChanged", self.crl_mode_changed) self.disconnect( self.crl_hwobj, "crlValueChanged", self.crl_value_changed ) self.crl_hwobj = self.get_hardware_object(new_value) if self.crl_hwobj: crl_modes = self.crl_hwobj.get_modes() for crl_mode in crl_modes: self.mode_combo.addItem(crl_mode) self.connect(self.crl_hwobj, "crlModeChanged", self.crl_mode_changed) self.connect(self.crl_hwobj, "crlValueChanged", self.crl_value_changed) self.crl_hwobj.update_values() elif property_name == "lenseCount": self.crl_value_table.setColumnCount(new_value) for col_index in range(new_value): temp_item = QtImport.QTableWidgetItem("") temp_item.setFlags(QtImport.Qt.ItemIsEnabled) temp_item.setBackground(Colors.LIGHT_GRAY) self.crl_value_table.setItem(0, col_index, temp_item) self.crl_value_table.setColumnWidth(col_index, 20) self.crl_value.append(0) self.crl_value_table.setFixedWidth(20 * new_value + 6) elif property_name == "caption": if new_value: self.main_gbox.setTitle(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "codes": self.set_codes(new_value) elif property_name == "localLogin": self.local_login_hwobj = self.get_hardware_object(new_value, optional=True) elif property_name == "instanceServer": if self.instance_server_hwobj is not None: self.disconnect(self.instance_server_hwobj, "passControl", self.pass_control) self.disconnect(self.instance_server_hwobj, "haveControl", self.have_control) self.instance_server_hwobj = self.get_hardware_object( new_value, optional=True) if self.instance_server_hwobj is not None: self.connect(self.instance_server_hwobj, "passControl", self.pass_control) self.connect(self.instance_server_hwobj, "haveControl", self.have_control) elif property_name == "icons": icons_list = new_value.split() try: self.login_button.setIcon(Icons.load_icon(icons_list[0])) except IndexError: pass try: self.logout_button.setIcon(Icons.load_icon(icons_list[1])) except IndexError: pass elif property_name == "secondaryProposals": self.secondary_proposals = new_value.split() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.light_ho is not None: self.disconnect(self.light_ho, QtImport.SIGNAL("levelChanged"), self.level_changed) self.disconnect(self.light_ho, QtImport.SIGNAL("stateChanged"), self.state_changed) self.light_ho = self.get_hardware_object(new_value) if self.light_ho is not None: self.setEnabled(True) self.connect(self.light_ho, QtImport.SIGNAL("levelChanged"), self.level_changed) self.connect(self.light_ho, QtImport.SIGNAL("stateChanged"), self.state_changed) self.light_ho.update_values() self.setToolTip( "Control of %s (light level and on/off switch." % self.light_ho.getUserName()) self.set_level_limits(self.light_ho.getLimits()) self.set_label(self.light_ho.getUserName()) else: self.setEnabled(False) elif property_name == "icons": self.set_icons(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """Property changed in GUI designer and when launching app.""" if property_name == "mnemonic": self.set_turret_object(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.actuator_hwo is not None: self.disconnect( self.actuator_hwo, QtImport.SIGNAL("stateChanged"), self.state_changed, ) self.actuator_hwo = self.get_hardware_object(new_value) if self.actuator_hwo is not None: self.setEnabled(True) self.connect( self.actuator_hwo, QtImport.SIGNAL("stateChanged"), self.state_changed, ) self.actuator_hwo.re_emit_values() logging.getLogger("HWR").info( "User Name is: %s" % self.actuator_hwo.getUserName() ) self.widget.actuatorBox.setTitle(self.actuator_hwo.getUserName()) else: self.setEnabled(False) elif property_name == "in_cmd_name": self.widget.cmdInButton.setText(new_value) elif property_name == "out_cmd_name": self.widget.cmdOutButton.setText(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.actuator_hwo is not None: self.disconnect( self.actuator_hwo, QtImport.SIGNAL("stateChanged"), self.state_changed ) self.actuator_hwo = self.get_hardware_object(new_value) if self.actuator_hwo is not None: self.setEnabled(True) self.connect( self.actuator_hwo, QtImport.SIGNAL("stateChanged"), self.state_changed ) self.actuator_hwo.update_values() logging.getLogger("HWR").info( "User Name is: %s" % self.actuator_hwo.getUserName() ) self.widget.actuatorBox.setTitle(self.actuator_hwo.getUserName()) else: self.setEnabled(False) elif property_name == "in_cmd_name": self.widget.cmdInButton.setText(new_value) elif property_name == "out_cmd_name": self.widget.cmdOutButton.setText(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """Defines behaviour of the brick""" if property_name == "mnemonic": self.tools_hwobj = self.get_hardware_object(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.beamstop_hwobj is not None: self.disconnect(self.beamstop_hwobj, "deviceReady", self.connected) self.disconnect( self.beamstop_hwobj, "deviceNotReady", self.disconnected ) self.disconnect( self.beamstop_hwobj, "beamstopDistanceChanged", self.beamstop_distance_changed, ) self.beamstop_hwobj = self.get_hardware_object(new_value) if self.beamstop_hwobj is not None: self.connect(self.beamstop_hwobj, "deviceReady", self.connected) self.connect(self.beamstop_hwobj, "deviceNotReady", self.disconnected) self.connect( self.beamstop_hwobj, "beamstopDistanceChanged", self.beamstop_distance_changed, ) if self.beamstop_hwobj.isReady(): self.connected() self.beamstop_hwobj.update_values() else: self.disconnected() else: self.disconnected() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": self.exporter_client_hwobj = self.get_hardware_object(new_value) if self.exporter_client_hwobj is not None: self.init_tables() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "level": self.filter_level = logging.NOTSET if new_value == "INFO": self.filter_level = logging.INFO elif new_value == "WARNING": self.filter_level = logging.WARNING elif new_value == "ERROR": self.filter_level = logging.ERROR elif property_name == "showDebug": if self["appearance"] == "tabs": if not new_value: self.tab_widget.removeTab(self.tab_widget.indexOf(self.debug_log)) elif property_name == "emailAddresses": self.feedback_log.email_addresses = new_value elif property_name == "fromEmailAddress": self.feedback_log.from_email_address = new_value elif property_name == "enableFeedback": if self["appearance"] == "tabs": if not new_value: self.tab_widget.removeTab( self.tab_widget.indexOf(self.feedback_log) ) elif property_name == "appearance": if new_value == "list": self.tab_levels = { logging.NOTSET: self.info_log, logging.DEBUG: self.info_log, logging.INFO: self.info_log, logging.WARNING: self.info_log, logging.ERROR: self.info_log, logging.CRITICAL: self.info_log, } self.tab_widget.removeTab(self.tab_widget.indexOf(self.details_log)) self.tab_widget.removeTab(self.tab_widget.indexOf(self.debug_log)) elif new_value == "tabs": self.tab_levels = { logging.NOTSET: self.details_log, logging.DEBUG: self.debug_log, logging.INFO: self.info_log, logging.WARNING: self.details_log, logging.ERROR: self.details_log, logging.CRITICAL: self.details_log, } elif property_name == "maxLogLines": self.details_log.set_max_log_lines(new_value) self.info_log.set_max_log_lines(new_value) self.debug_log.set_max_log_lines(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "targetMenu": self.target_menu = new_value # elif property_name == 'cameraControls': # self.camera_control_action.setEnabled(new_value) # elif property_name == 'beamDefiner': # self.define_beam_action.setEnabled(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_flux": if self.flux_hwobj is not None: self.disconnect(self.flux_hwobj, "fluxChanged", self.flux_changed) self.flux_hwobj = self.get_hardware_object(new_value) if self.flux_hwobj is not None: self.connect(self.flux_hwobj, "fluxChanged", self.flux_changed) self.flux_changed(self.flux_hwobj.get_flux_info()) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.graphics_manager_hwobj is not None: self.disconnect( self.graphics_manager_hwobj, "mouseMoved", self.mouse_moved ) self.disconnect( self.graphics_manager_hwobj, "imageScaleChanged", self.image_scaled ) self.disconnect( self.graphics_manager_hwobj, "infoMsg", self.set_info_msg ) self.graphics_manager_hwobj = self.get_hardware_object(new_value) if self.graphics_manager_hwobj is not None: self.connect( self.graphics_manager_hwobj, "mouseMoved", self.mouse_moved ) self.connect( self.graphics_manager_hwobj, "imageScaleChanged", self.image_scaled ) self.connect(self.graphics_manager_hwobj, "infoMsg", self.set_info_msg) self.graphics_view = self.graphics_manager_hwobj.get_graphics_view() # self.graphics_camera_frame = self.graphics_manager_hwobj.get_camera_frame() self.main_layout.addWidget(self.graphics_view) self.main_layout.addWidget(self.info_widget) self.set_fixed_size() self.init_image_scale_list() if hasattr(self.graphics_manager_hwobj, "camera_hwobj"): self.camera_control_dialog.set_camera_hwobj( self.graphics_manager_hwobj.camera_hwobj ) elif property_name == "fixedSize": try: fixed_size = list(map(int, new_value.split())) if len(fixed_size) == 2: self.fixed_size = fixed_size self.set_fixed_size() except BaseException: pass elif property_name == "displayBeam": self.display_beam = new_value elif property_name == "displayScale": self.display_scale = new_value if self.graphics_manager_hwobj is not None: self.graphics_manager_hwobj.set_scale_visible(new_value) elif property_name == "beamDefiner": self.define_beam_action.setEnabled(new_value) elif property_name == "cameraControls": self.camera_control_action.setEnabled(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "showStop": if new_value: self.stop_button.show() else: self.stop_button.hide() elif property_name == "defaultStep": if new_value != "": self.set_line_step(float(new_value)) self.step_changed(None) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "enableAutoFocus": self.auto_focus_button.setVisible(new_value) elif property_name == "enableRefreshCamera": self.refresh_camera_button.setVisible(new_value) elif property_name == "enableVisualAlign": self.visual_align_button.setVisible(new_value) elif property_name == "enableAutoCenter": self.auto_center_button.setVisible(new_value) elif property_name == "enableRealignBeam": self.realign_button.setVisible(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """ Defines the behaviour :param property_name: str :param old_value: value :param new_value: value :return: """ if property_name == "hwobj_ssx_control": self.ssx_control_hwobj = self.get_hardware_object(new_value) self.update_chip_config() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.graphics_manager_hwobj is not None: self.disconnect(self.graphics_manager_hwobj, "mouseMoved", self.mouse_moved) self.disconnect(self.graphics_manager_hwobj, "imageScaleChanged", self.image_scaled) self.disconnect(self.graphics_manager_hwobj, "infoMsg", self.set_info_msg) self.graphics_manager_hwobj = self.get_hardware_object(new_value) if self.graphics_manager_hwobj is not None: self.connect(self.graphics_manager_hwobj, "mouseMoved", self.mouse_moved) self.connect(self.graphics_manager_hwobj, "imageScaleChanged", self.image_scaled) self.connect(self.graphics_manager_hwobj, "infoMsg", self.set_info_msg) self.graphics_view = self.graphics_manager_hwobj.get_graphics_view( ) # self.graphics_camera_frame = self.graphics_manager_hwobj.get_camera_frame() self.main_layout.addWidget(self.graphics_view) self.main_layout.addWidget(self.info_widget) self.set_fixed_size() self.init_image_scale_list() if hasattr(self.graphics_manager_hwobj, "camera_hwobj"): self.camera_control_dialog.set_camera_hwobj( self.graphics_manager_hwobj.camera_hwobj) elif property_name == "fixedSize": try: fixed_size = list(map(int, new_value.split())) if len(fixed_size) == 2: self.fixed_size = fixed_size self.set_fixed_size() except BaseException: pass elif property_name == "displayBeam": self.display_beam = new_value elif property_name == "displayScale": self.display_scale = new_value if self.graphics_manager_hwobj is not None: self.graphics_manager_hwobj.set_scale_visible(new_value) elif property_name == "beamDefiner": self.define_beam_action.setEnabled(new_value) elif property_name == "cameraControls": self.camera_control_action.setEnabled(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """Initates the shutter hwobj""" if property_name == "hwobj_shutter": if self.shutter_hwobj is not None: self.disconnect(self.shutter_hwobj, "shutterStateChanged", self.state_changed) else: self.shutter_hwobj = self.get_hardware_object(new_value) self.connect(self.shutter_hwobj, "shutterStateChanged", self.state_changed) self.shutter_hwobj.force_emit_signals() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """Initates the shutter hwobj""" if property_name == "hwobj_shutter": if self.shutter_hwobj is not None: self.disconnect( self.shutter_hwobj, "shutterStateChanged", self.state_changed ) else: self.shutter_hwobj = self.get_hardware_object(new_value) self.connect( self.shutter_hwobj, "shutterStateChanged", self.state_changed ) self.shutter_hwobj.update_values() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "defaultMode": if new_value == "keV": self.units_combobox.setCurrentIndex(0) else: self.units_combobox.setCurrentIndex(1) elif property_name == "displayStatus": self.status_label.setVisible(new_value) self.status_ledit.setVisible(new_value) elif property_name == "doBeamAlignment": self.beam_align_cbox.setEnabled(new_value) self.beam_align_cbox.setChecked(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_beamline_setup": if self.parallel_processing_hwobj is not None: self.parallel_processing_hwobj.disconnect( "processingStarted", self.processing_started ) self.parallel_processing_hwobj.disconnect( "processingFinished", self.processing_finished ) self.parallel_processing_hwobj.disconnect( "processingFailed", self.processing_failed ) self.parallel_processing_hwobj.disconnect( "processingFrame", self.processing_frame_changed ) self.beamline_setup_hwobj = self.get_hardware_object(new_value) self.parallel_processing_hwobj = ( self.beamline_setup_hwobj.parallel_processing_hwobj ) if self.parallel_processing_hwobj is not None: self.parallel_processing_hwobj.connect( "processingStarted", self.processing_started ) self.parallel_processing_hwobj.connect( "processingFinished", self.processing_finished ) self.parallel_processing_hwobj.connect( "processingFailed", self.processing_failed ) self.parallel_processing_hwobj.connect( "processingFrame", self.processing_frame_changed ) for ( grid_property ) in self.parallel_processing_hwobj.get_available_grid_properties(): self.grid_properties_combo.addItem(str(grid_property)) self.grid_properties_combo.blockSignals(True) self.grid_properties_combo.setCurrentIndex(0) self.grid_properties_combo.blockSignals(False) self.grid_properties = ( self.parallel_processing_hwobj.get_current_grid_properties() ) self.init_gui() self.grid_graphics_base.init_item(self.grid_properties) self.grid_graphics_overlay.init_item(self.grid_properties) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonicList": hwobj_role_list = new_value.split() self.hwobj_list = [] for hwobj_role in hwobj_role_list: hwobj = self.get_hardware_object(hwobj_role) if hwobj is not None: self.hwobj_list.append(hwobj) self.connect(self.hwobj_list[-1], "progressInit", self.init_progress) self.connect(self.hwobj_list[-1], "progressStep", self.step_progress) self.connect(self.hwobj_list[-1], "progressStop", self.stop_progress) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "zoom": if self.multipos_hwobj is not None: self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_cal_pos_data_changed) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) if new_value is not None: self.multipos_hwobj = self.get_hardware_object(new_value) if new_value.startswith("/"): new_value = new_value[1:] self.multipos_file_xml_path = os.path.join( HWR.getHardwareRepositoryConfigPath(), new_value + ".xml") if self.multipos_hwobj is not None: self.connect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_cal_pos_data_changed) self.connect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.connect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) self.update_gui() if property_name == "vertical motor": self.v_motor_hwobj = self.get_hardware_object(new_value) name = self.v_motor_hwobj.name() self.ui_widgets_manager.delta_z_label.setText(f"Delta on {name}:") if property_name == "horizontal motor": self.h_motor_hwobj = self.get_hardware_object(new_value) name = self.h_motor_hwobj.name() self.ui_widgets_manager.delta_y_label.setText(f"Delta on {name}:") else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): """Defines gui and connects to hwobj based on the user defined properties""" if property_name == "mnemonic": if self.crl_hwobj: self.disconnect(self.crl_hwobj, "crlModeChanged", self.crl_mode_changed) self.disconnect(self.crl_hwobj, "crlValueChanged", self.crl_value_changed) self.crl_hwobj = self.get_hardware_object(new_value) if self.crl_hwobj: crl_modes = self.crl_hwobj.get_modes() for crl_mode in crl_modes: self.mode_combo.addItem(crl_mode) self.connect(self.crl_hwobj, "crlModeChanged", self.crl_mode_changed) self.connect(self.crl_hwobj, "crlValueChanged", self.crl_value_changed) self.crl_hwobj.re_emit_values() elif property_name == "lenseCount": self.crl_value_table.setColumnCount(new_value) for col_index in range(new_value): temp_item = QtImport.QTableWidgetItem("") temp_item.setFlags(QtImport.Qt.ItemIsEnabled) temp_item.setBackground(Colors.LIGHT_GRAY) self.crl_value_table.setItem(0, col_index, temp_item) self.crl_value_table.setColumnWidth(col_index, 20) self.crl_value.append(0) self.crl_value_table.setFixedWidth(20 * new_value + 6) self.crl_lense_spinbox.setMaximum(new_value - 1) elif property_name == "caption": if new_value: self.main_gbox.setTitle(new_value) elif property_name == "style": self.crl_value_table.setVisible(new_value == "table") self.mode_combo.setEnabled(new_value == "table") self.set_according_to_energy_button.setEnabled( new_value == "table") self.crl_lense_spinbox.setVisible(new_value != "table") self.crl_lense_in_button.setVisible(new_value != "table") self.crl_lense_out_button.setVisible(new_value != "table") else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.diffractometer_hwobj is not None: self.disconnect( self.diffractometer_hwobj, "kappaMotorMoved", self.kappa_motor_moved ) self.disconnect( self.diffractometer_hwobj, "kappaPhiMotorMoved", self.kappaphi_motor_moved, ) self.disconnect( self.diffractometer_hwobj, "minidiffStatusChanged", self.diffractometer_state_changed, ) self.diffractometer_hwobj = self.get_hardware_object(new_value) if self.diffractometer_hwobj is not None: self.connect( self.diffractometer_hwobj, "kappaMotorMoved", self.kappa_motor_moved ) self.connect( self.diffractometer_hwobj, "kappaPhiMotorMoved", self.kappaphi_motor_moved, ) self.connect( self.diffractometer_hwobj, "minidiffStatusChanged", self.diffractometer_state_changed, ) self.diffractometer_state_changed("Ready") else: self.setEnabled(False) elif property_name == "showStop": if new_value: self.stop_button.show() else: self.stop_button.hide() elif property_name == "defaultStep": if new_value != "": self.set_line_step(float(new_value)) self.step_changed(None) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_axis_camera": self.axis_camera = self.get_hardware_object(new_value) image_dimensions = self.axis_camera.get_image_dimensions() self.axis_view.setFixedSize(image_dimensions[0], image_dimensions[1]) self.connect(self.axis_camera, "imageReceived", self.axis_camera_frame_received) elif property_name == "hwobj_sc_camera": self.sc_camera = self.get_hardware_object(new_value) image_dimensions = self.sc_camera.get_image_dimensions() self.sc_view.setFixedSize(image_dimensions[0], image_dimensions[1]) self.connect(self.sc_camera, "imageReceived", self.sc_camera_frame_received) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.mach_info_hwobj is not None: self.disconnect( self.mach_info_hwobj, QtImport.SIGNAL("valuesChanged"), self.set_value ) self.mach_info_hwobj = self.get_hardware_object(new_value) if self.mach_info_hwobj is not None: self.setEnabled(True) self.connect( self.mach_info_hwobj, QtImport.SIGNAL("valuesChanged"), self.set_value ) self.mach_info_hwobj.update_values() else: self.setEnabled(False) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_state_machine": if self.state_machine_hwobj is not None: self.state_machine_hwobj.disconnect("stateChanged", self.state_changed) self.state_machine_hwobj.disconnect( "conditionChanged", self.condition_changed ) self.state_machine_hwobj = self.get_hardware_object(new_value) if self.state_machine_hwobj is not None: self.state_machine_hwobj.connect("stateChanged", self.state_changed) self.state_machine_hwobj.connect( "conditionChanged", self.condition_changed ) self.init_state_machine() self.init_state_graph() self.state_machine_hwobj.force_emit_signals() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_state_machine": if self.state_machine_hwobj is not None: self.state_machine_hwobj.disconnect("stateChanged", self.state_changed) self.state_machine_hwobj.disconnect( "conditionChanged", self.condition_changed ) self.state_machine_hwobj = self.get_hardware_object(new_value) if self.state_machine_hwobj is not None: self.state_machine_hwobj.connect("stateChanged", self.state_changed) self.state_machine_hwobj.connect( "conditionChanged", self.condition_changed ) self.init_state_machine() self.init_state_graph() self.state_machine_hwobj.update_values() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.diffractometer_hwobj is not None: self.disconnect(self.diffractometer_hwobj, "kappaMotorMoved", self.kappa_motor_moved) self.disconnect( self.diffractometer_hwobj, "kappaPhiMotorMoved", self.kappaphi_motor_moved, ) self.disconnect( self.diffractometer_hwobj, "minidiffStatusChanged", self.diffractometer_state_changed, ) self.diffractometer_hwobj = self.get_hardware_object(new_value) if self.diffractometer_hwobj is not None: self.connect(self.diffractometer_hwobj, "kappaMotorMoved", self.kappa_motor_moved) self.connect( self.diffractometer_hwobj, "kappaPhiMotorMoved", self.kappaphi_motor_moved, ) self.connect( self.diffractometer_hwobj, "minidiffStatusChanged", self.diffractometer_state_changed, ) self.diffractometer_state_changed("Ready") else: self.setEnabled(False) elif property_name == "showStop": if new_value: self.stop_button.show() else: self.stop_button.hide() elif property_name == "defaultStep": if new_value != "": self.set_line_step(float(new_value)) self.step_changed(None) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.multipos_hwobj is not None: # disconnect signal/slots self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_pos_cal_data_changed) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) pass if new_value is not None: self.multipos_hwobj = self.get_hardware_object(new_value) #search xml file so it handles the 'tags' # TODO : create a separate xml file for tags!! if new_value.startswith("/"): new_value = new_value[1:] self.multipos_file_xml_path = os.path.join( HWR.getHardwareRepositoryConfigPath(), new_value + ".xml") if self.multipos_hwobj is not None: self.connect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_pos_cal_data_changed) self.connect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.connect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) # self.load_zoom_positions_dict() self.load_list_of_operational_modes() self.load_default_session() self.init_interface() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.beamline_test_hwobj is not None: self.disconnect( self.beamline_test_hwobj, "progressStep", self.update_test_progress ) self.disconnect( self.beamline_test_hwobj, "focusingModeChanged", self.update_focus_status, ) self.disconnect( self.beamline_test_hwobj, "ppuStatusChanged", self.update_ppu_status ) self.disconnect( self.beamline_test_hwobj, "testFinished", self.test_finished ) self.beamline_test_hwobj = self.get_hardware_object(new_value) if self.beamline_test_hwobj is not None: self.init_com_table() self.init_test_queue() self.connect( self.beamline_test_hwobj, "progressStep", self.update_test_progress ) self.connect( self.beamline_test_hwobj, "focusingModeChanged", self.update_focus_status, ) self.connect( self.beamline_test_hwobj, "ppuStatusChanged", self.update_ppu_status ) self.connect( self.beamline_test_hwobj, "testFinished", self.test_finished ) self.update_focus_status(None, None) self.beamline_test_hwobj.update_values() # elif property_name == 'hwobj_unittest': # self.unittest_hwobj = self.getHardwareObject(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.slitbox_hwobj is not None: self.disconnect( self.slitbox_hwobj, "valueChanged", self.gap_value_changed ) self.disconnect( self.slitbox_hwobj, "statusChanged", self.gap_status_changed ) self.disconnect( self.slitbox_hwobj, "focusModeChanged", self.focus_mode_changed ) self.disconnect( self.slitbox_hwobj, "minLimitsChanged", self.min_limits_changed ) self.disconnect( self.slitbox_hwobj, "maxLimitsChanged", self.max_limits_changed ) self.slitbox_hwobj = self.get_hardware_object(new_value) if self.slitbox_hwobj is not None: self.connect(self.slitbox_hwobj, "valueChanged", self.gap_value_changed) self.connect( self.slitbox_hwobj, "statusChanged", self.gap_status_changed ) self.connect( self.slitbox_hwobj, "focusModeChanged", self.focus_mode_changed ) self.connect( self.slitbox_hwobj, "minLimitsChanged", self.min_limits_changed ) self.connect( self.slitbox_hwobj, "maxLimitsChanged", self.max_limits_changed ) self.main_gbox.setEnabled(True) self.initiate_spinboxes() self.slitbox_hwobj.re_emit_values() else: self.main_gbox.setEnabled(False) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonicList": hwobj_role_list = new_value.split() self.hwobj_list = [] for hwobj_role in hwobj_role_list: hwobj = self.get_hardware_object(hwobj_role) if hwobj is not None: self.hwobj_list.append(hwobj) self.connect( self.hwobj_list[-1], "progressInit", self.init_progress ) self.connect( self.hwobj_list[-1], "progressStep", self.step_progress ) self.connect( self.hwobj_list[-1], "progressStop", self.stop_progress ) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.aperture_hwobj is not None: self.disconnect(self.aperture_hwobj, "diameterIndexChanged", self.diameter_changed) self.disconnect(self.aperture_hwobj, "valueChanged", self.position_changed) self.aperture_hwobj = self.get_hardware_object(new_value) if self.aperture_hwobj is not None: self.init_aperture() self.connect(self.aperture_hwobj, "diameterIndexChanged", self.diameter_changed) self.connect(self.aperture_hwobj, "valueChanged", self.position_changed) self.aperture_hwobj.re_emit_values() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.beam_focusing_hwobj is not None: self.disconnect( self.beam_focusing_hwobj, "focusingModeChanged", self.focus_mode_changed, ) self.beam_focusing_hwobj = self.get_hardware_object(new_value) if self.beam_focusing_hwobj is not None: self.connect( self.beam_focusing_hwobj, "focusingModeChanged", self.focus_mode_changed, ) mode, beam_size = self.beam_focusing_hwobj.get_active_focus_mode() self.focus_mode_changed(mode, beam_size) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.plate_manipulator_hwobj is not None: self.disconnect( self.plate_manipulator_hwobj, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, ) self.plate_manipulator_hwobj = self.get_hardware_object(new_value) if self.plate_manipulator_hwobj is not None: self.plate_navigator_widget.init_plate_view( self.plate_manipulator_hwobj) self.connect( self.plate_manipulator_hwobj, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, ) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.plate_manipulator_hwobj is not None: self.disconnect( self.plate_manipulator_hwobj, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, ) self.plate_manipulator_hwobj = self.get_hardware_object(new_value) if self.plate_manipulator_hwobj is not None: self.plate_navigator_widget.init_plate_view( self.plate_manipulator_hwobj ) self.connect( self.plate_manipulator_hwobj, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, ) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.beamline_test_hwobj is not None: self.disconnect(self.beamline_test_hwobj, "progressStep", self.update_test_progress) self.disconnect( self.beamline_test_hwobj, "focusingModeChanged", self.update_focus_status, ) self.disconnect(self.beamline_test_hwobj, "ppuStatusChanged", self.update_ppu_status) self.disconnect(self.beamline_test_hwobj, "testFinished", self.test_finished) self.beamline_test_hwobj = self.get_hardware_object(new_value) if self.beamline_test_hwobj is not None: self.init_com_table() self.init_test_queue() self.connect(self.beamline_test_hwobj, "progressStep", self.update_test_progress) self.connect( self.beamline_test_hwobj, "focusingModeChanged", self.update_focus_status, ) self.connect(self.beamline_test_hwobj, "ppuStatusChanged", self.update_ppu_status) self.connect(self.beamline_test_hwobj, "testFinished", self.test_finished) self.update_focus_status(None, None) self.beamline_test_hwobj.update_values() # elif property_name == 'hwobj_unittest': # self.unittest_hwobj = self.getHardwareObject(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.mach_info_hwobj is not None: self.disconnect( self.mach_info_hwobj, QtImport.SIGNAL("valuesChanged"), self.set_value, ) self.mach_info_hwobj = self.get_hardware_object(new_value) if self.mach_info_hwobj is not None: self.setEnabled(True) self.connect( self.mach_info_hwobj, QtImport.SIGNAL("valuesChanged"), self.set_value, ) self.mach_info_hwobj.update_values() else: self.setEnabled(False) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "zoom": if self.multipos_hwobj is not None: self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_cal_pos_data_changed) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.disconnect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) self.multipos_hwobj = self.get_hardware_object(new_value) # get zoom xml file path if new_value.startswith("/"): new_value = new_value[1:] self.multipos_file_xml_path = os.path.join( HWR.getHardwareRepositoryConfigPath(), new_value + ".xml") if self.multipos_hwobj is not None: self.connect(self.multipos_hwobj, "beam_pos_cal_data_changed", self.beam_cal_pos_data_changed) self.connect(self.multipos_hwobj, "beam_pos_cal_data_saved", self.beam_cal_pos_data_saved) self.connect(self.multipos_hwobj, "beam_pos_cal_data_cancelled", self.beam_cal_pos_data_cancelled) self.init_interface() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "codes": self.set_codes(new_value) elif property_name == "localLogin": self.local_login_hwobj = self.get_hardware_object(new_value, optional=True) elif property_name == "instanceServer": if self.instance_server_hwobj is not None: self.disconnect( self.instance_server_hwobj, "passControl", self.pass_control ) self.disconnect( self.instance_server_hwobj, "haveControl", self.have_control ) self.instance_server_hwobj = self.get_hardware_object( new_value, optional=True ) if self.instance_server_hwobj is not None: self.connect( self.instance_server_hwobj, "passControl", self.pass_control ) self.connect( self.instance_server_hwobj, "haveControl", self.have_control ) elif property_name == "icons": icons_list = new_value.split() try: self.login_button.setIcon(Icons.load_icon(icons_list[0])) except IndexError: pass try: self.logout_button.setIcon(Icons.load_icon(icons_list[1])) except IndexError: pass elif property_name == "secondaryProposals": self.secondary_proposals = new_value.split() else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "label": if new_value == "" and self.motor_hwobj is not None: self.label.setText("<i>" + self.motor_hwobj.username + ":</i>") else: self.label.setText(new_value) elif property_name == "mnemonic": if self.motor_hwobj is not None: self.disconnect( self.motor_hwobj, "stateChanged", self.motor_state_changed ) self.disconnect( self.motor_hwobj, "newPredefinedPositions", self.fill_positions ) self.disconnect( self.motor_hwobj, "predefinedPositionChanged", self.predefined_position_changed, ) self.motor_hwobj = self.get_hardware_object(new_value) if self.motor_hwobj is not None: self.connect( self.motor_hwobj, "newPredefinedPositions", self.fill_positions ) self.connect(self.motor_hwobj, "stateChanged", self.motor_state_changed) self.connect( self.motor_hwobj, "predefinedPositionChanged", self.predefined_position_changed, ) self.fill_positions() if self.motor_hwobj.is_ready(): self.predefined_position_changed( self.motor_hwobj.get_current_position_name(), 0 ) if self["label"] == "": lbl = self.motor_hwobj.username self.label.setText("<i>" + lbl + ":</i>") Colors.set_widget_color( self.positions_combo, MotorPredefPosBrick.STATE_COLORS[0], QtImport.QPalette.Button, ) self.motor_state_changed(self.motor_hwobj.get_state()) elif property_name == "showMoveButtons": if new_value: self.previous_position_button.show() self.next_position_button.show() else: self.previous_position_button.hide() self.next_position_button.hide() elif property_name == "icons": icons_list = new_value.split() try: self.previous_position_button.setIcon(Icons.load_icon(icons_list[0])) self.next_position_button.setIcon(Icons.load_icon(icons_list[1])) except BaseException: pass else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "maxLogLines": self.max_log_lines = new_value else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": hwobj_names_list = new_value.split() default_delta_list = self["defaultDeltas"].split() default_decimal_list = self["defaultDecimals"].split() default_step_list = self["defaultSteps"].split() for index, hwobj_name in enumerate(hwobj_names_list): temp_motor_hwobj = self.get_hardware_object(hwobj_name) if temp_motor_hwobj is not None: temp_motor_widget = MotorSpinBoxBrick(self) temp_motor_widget.set_motor(temp_motor_hwobj, hwobj_name) temp_motor_widget.move_left_button.setVisible( self["showMoveButtons"] ) temp_motor_widget.move_right_button.setVisible( self["showMoveButtons"] ) temp_motor_widget.position_slider.setVisible(self["showSlider"]) temp_motor_widget.step_button.setVisible(self["showStep"]) temp_motor_widget.stop_button.setVisible(self["showStop"]) try: temp_motor_widget.set_line_step(default_step_list[index]) temp_motor_widget["defaultStep"] = default_step_list[index] except BaseException: temp_motor_widget.set_line_step(0.001) temp_motor_widget["defaultStep"] = 0.001 try: temp_motor_widget["delta"] = default_delta_list[index] except BaseException: temp_motor_widget["delta"] = 0.001 try: temp_motor_widget.set_decimals( float(default_decimal_list[index]) ) except BaseException: pass temp_motor_widget.step_changed(None) self.main_groupbox_hlayout.addWidget(temp_motor_widget) self.motor_hwobj_list.append(temp_motor_hwobj) self.motor_widget_list.append(temp_motor_widget) temp_motor_hwobj.update_values() temp_motor_widget.update_gui() self.enable_motors_buttons.setVisible(self["showEnableButtons"]) self.disable_motors_buttons.setVisible(self["showEnableButtons"]) if self["showEnableButtons"]: self.main_groupbox_hlayout.addWidget(self.enable_motors_buttons) self.main_groupbox_hlayout.addWidget(self.disable_motors_buttons) if len(self.motor_widget_labels): for index, label in enumerate(self.motor_widget_labels): self.motor_widget_list[index].setLabel(label) elif property_name == "moveButtonIcons": icon_list = new_value.split() for index in range(len(icon_list) - 1): if index % 2 == 0: self.motor_widget_list[index / 2].move_left_button.setIcon( Icons.load_icon(icon_list[index]) ) self.motor_widget_list[index / 2].move_right_button.setIcon( Icons.load_icon(icon_list[index + 1]) ) elif property_name == "labels": self.motor_widget_labels = new_value.split() if len(self.motor_widget_list): for index, label in enumerate(self.motor_widget_labels): self.motor_widget_list[index].setLabel(label) elif property_name == "predefinedPositions": self.predefined_positions_list = new_value.split() for predefined_position in self.predefined_positions_list: temp_position_button = QtImport.QPushButton( predefined_position, self.main_group_box ) self.main_groupbox_hlayout.addWidget(temp_position_button) temp_position_button.clicked.connect( lambda: self.predefined_position_clicked(predefined_position) ) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": self.set_motor(self.motor_hwobj, new_value) elif property_name == "formatString": if self.motor_hwobj is not None: self.update_gui() elif property_name == "label": self.set_label(new_value) elif property_name == "showLabel": if new_value: self.set_label(self["label"]) else: self.set_label(None) elif property_name == "showMoveButtons": if new_value: self.move_left_button.show() self.move_right_button.show() else: self.move_left_button.hide() self.move_right_button.hide() elif property_name == "showStop": if new_value: self.stop_button.show() else: self.stop_button.hide() elif property_name == "showStep": if new_value: self.step_button.show() else: self.step_button.hide() elif property_name == "showStepList": if new_value: self.step_combo.show() else: self.step_combo.hide() elif property_name == "showPosition": if new_value: self.position_spinbox.show() else: self.position_spinbox.hide() elif property_name == "icons": icons_list = new_value.split() try: self.move_left_button.setIcon(Icons.load_icon(icons_list[0])) self.move_right_button.setIcon(Icons.load_icon(icons_list[1])) self.stop_button.setIcon(Icons.load_icon(icons_list[2])) self.set_step_button_icon(icons_list[3]) except IndexError: pass elif property_name == "helpDecrease": if new_value == "": self.move_left_button.setToolTip("Moves the motor down (while pressed)") else: self.move_left_button.setToolTip(new_value) elif property_name == "helpIncrease": if new_value == "": self.move_right_button.setToolTip("Moves the motor up (while pressed)") else: self.move_right_button.setToolTip(new_value) elif property_name == "defaultSteps": if new_value != "": default_step_list = new_value.split() for default_step in default_step_list: self.set_line_step(float(default_step)) self.step_changed(None) elif property_name == "decimals": self.position_spinbox.setDecimals(new_value) elif property_name == "showSlider": self.position_slider.setVisible(new_value) elif property_name == "enableSliderTracking": self.position_slider.setTracking(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.wrapper_hwobj is not None: self.wrapper_hwobj.duoStateChangedSignal.disconnect(self.stateChanged) h_obj = self.get_hardware_object(new_value) if h_obj is not None: self.wrapper_hwobj = WrapperHO(h_obj) self.main_gbox.show() if self["username"] == "": self["username"] = self.wrapper_hwobj.userName() help_text = self["setin"] + " the " + self["username"].lower() self.set_in_button.setToolTip(help_text) help_text = self["setout"] + " the " + self["username"].lower() self.set_out_button.setToolTip(help_text) self.main_gbox.setTitle(self["username"]) self.wrapper_hwobj.duoStateChangedSignal.connect(self.stateChanged) self.wrapper_hwobj.getState() else: self.wrapper_hwobj = None # self.main_gbox.hide() elif property_name == "expertModeControlOnly": if new_value: if self.__expertMode: self.buttons_widget.show() else: self.buttons_widget.hide() else: self.buttons_widget.show() elif property_name == "forceNoControl": if new_value: self.buttons_widget.hide() else: self.buttons_widget.show() elif property_name == "icons": w = self.fontMetrics().width("Set out") icons_list = new_value.split() try: self.set_in_button.setIcon(Icons.load_icon(icons_list[0])) except IndexError: self.set_in_button.setText(self["setin"]) # self.set_in_button.setMinimumWidth(w) try: self.set_out_button.setIcon(Icons.load_icon(icons_list[1])) except IndexError: self.set_out_button.setText(self["setout"]) # self.set_out_button.setMinimumWidth(w) # elif property_name=='in': # if self.wrapper_hwobj is not None: # self.stateChanged(self.wrapper_hwobj.getState()) # elif property_name=='out': # if self.wrapper_hwobj is not None: # self.stateChanged(self.wrapper_hwobj.getState()) elif property_name == "setin": icons = self["icons"] # w=self.fontMetrics().width("Set out") icons_list = icons.split() try: i = icons_list[0] except IndexError: self.set_in_button.setText(new_value) # self.set_in_button.setMinimumWidth(w) help_text = new_value + " the " + self["username"].lower() self.set_in_button.setToolTip(help_text) self.set_in_button.setText(self["setin"]) elif property_name == "setout": icons = self["icons"] # w=self.fontMetrics().width("Set out") icons_list = icons.split() try: i = icons_list[1] except IndexError: self.set_out_button.setText(new_value) # self.set_out_button.setMinimumWidth(w) help_text = new_value + " the " + self["username"].lower() self.set_out_button.setToolTip(help_text) self.set_out_button.setText(self["setout"]) elif property_name == "username": if new_value == "": if self.wrapper_hwobj is not None: name = self.wrapper_hwobj.userName() if name != "": self["username"] = name return help_text = self["setin"] + " the " + new_value.lower() self.set_in_button.setToolTip(help_text) help_text = self["setout"] + " the " + new_value.lower() self.set_out_button.setToolTip(help_text) self.main_gbox.setTitle(self["username"]) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "hwobj_motors_list": hwobj_names_list = new_value.split() default_delta_list = self["defaultDeltas"].split() default_decimal_list = self["defaultDecimals"].split() default_step_list = self["defaultSteps"].split() icon_list = self["icon_list"].split() for index, hwobj_name in enumerate(hwobj_names_list): temp_motor_hwobj = self.get_hardware_object(hwobj_name) if temp_motor_hwobj is not None: temp_motor_widget = self.motor_widget_list[index] temp_motor_widget.set_motor(temp_motor_hwobj, hwobj_name) temp_motor_widget.move_left_button.setVisible(True) temp_motor_widget.move_right_button.setVisible(True) temp_motor_widget.position_slider.setVisible(False) temp_motor_widget.step_button.setVisible(False) # temp_motor_widget.stop_button.setVisible(False) try: temp_motor_widget.set_line_step(default_step_list[index]) temp_motor_widget["defaultStep"] = default_step_list[index] except BaseException: temp_motor_widget.set_line_step(0.001) temp_motor_widget["defaultStep"] = 0.001 try: temp_motor_widget["delta"] = default_delta_list[index] except BaseException: temp_motor_widget["delta"] = 0.001 try: temp_motor_widget.set_decimals( float(default_decimal_list[index]) ) except BaseException: pass try: temp_motor_widget.move_left_button.setIcon( Icons.load_icon(icon_list[index * 2]) ) temp_motor_widget.move_right_button.setIcon( Icons.load_icon(icon_list[index * 2 + 1]) ) except BaseException: temp_motor_widget.move_left_button.setIcon( Icons.load_icon("Right2") ) temp_motor_widget.move_right_button.setIcon( Icons.load_icon("Left2") ) temp_motor_widget.step_changed(None) temp_motor_hwobj.update_values() temp_motor_widget.update_gui() elif property_name == "hwobj_beam_focusing": if self.beam_focusing_hwobj is not None: self.disconnect( self.beam_focusing_hwobj, "focusingModeChanged", self.focus_mode_changed, ) self.beam_focusing_hwobj = self.get_hardware_object(new_value, optional=True) if self.beam_focusing_hwobj is not None: self.connect( self.beam_focusing_hwobj, "focusingModeChanged", self.focus_mode_changed, ) mode, beam_size = self.beam_focusing_hwobj.get_active_focus_mode() self.focus_mode_changed(mode, beam_size) elif property_name == "hwobj_beamline_test": self.beamline_test_hwobj = self.get_hardware_object(new_value, optional=True) elif property_name == "hwobj_diffractometer": if self.diffractometer_hwobj is not None: self.disconnect( self.diffractometer_hwobj, "minidiffPhaseChanged", self.phase_changed, ) self.diffractometer_hwobj = self.get_hardware_object(new_value) if self.diffractometer_hwobj is not None: self.connect( self.diffractometer_hwobj, "minidiffPhaseChanged", self.phase_changed, ) self.diffractometer_hwobj.update_values() self.update_gui() elif property_name == "enableCenterBeam": self.center_beam_button.setVisible(new_value) elif property_name == "enableMeasureFlux": self.measure_flux_button.setVisible(new_value) elif property_name == "compactView": for widget in self.motor_widget_list: widget.position_spinbox.setHidden(new_value) widget.position_slider.setHidden(new_value) widget.step_button.setHidden(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): self.fast_shut_ho = None self.slow_shut_ho = None self.photon_shut_ho = None self.fe_ho = None print("setting %s property to %s", property_name, new_value) if property_name == "fast_shutter": if self.fast_shut_ho is not None: self.disconnect( self.fast_shut_ho, QtImport.SIGNAL("stateChanged"), self.fast_state_changed, ) self.fast_shut_ho = self.get_hardware_object(new_value) if self.fast_shut_ho is not None: self.connect( self.fast_shut_ho, QtImport.SIGNAL("stateChanged"), self.fast_state_changed, ) elif property_name == "slow_shutter": if self.slow_shut_ho is not None: self.disconnect( self.slow_shut_ho, QtImport.SIGNAL("stateChanged"), self.slow_state_changed, ) self.slow_shut_ho = self.get_hardware_object(new_value) if self.slow_shut_ho is not None: self.connect( self.slow_shut_ho, QtImport.SIGNAL("stateChanged"), self.slow_state_changed, ) elif property_name == "photon_shutter": if self.photon_shut_ho is not None: self.disconnect( self.photon_shut_ho, QtImport.SIGNAL("stateChanged"), self.photon_state_changed, ) self.photon_shut_ho = self.get_hardware_object(new_value) if self.photon_shut_ho is not None: self.connect( self.photon_shut_ho, QtImport.SIGNAL("stateChanged"), self.photon_state_changed, ) elif property_name == "frontend": if self.fe_ho is not None: self.disconnect( self.fe_ho, QtImport.SIGNAL("stateChanged"), self.frontend_state_changed, ) self.fe_ho = self.get_hardware_object(new_value) if self.fe_ho is not None: self.connect( self.fe_ho, QtImport.SIGNAL("stateChanged"), self.frontend_state_changed, ) elif property_name == "led_size": if new_value != "": self.set_led_size(int(new_value)) else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": if self.instance_server_hwobj is not None: self.disconnect( self.instance_server_hwobj, "chatMessageReceived", self.message_arrived, ) self.disconnect( self.instance_server_hwobj, "newClient", self.new_client ) self.disconnect( self.instance_server_hwobj, "serverInitialized", self.server_initialized, ) self.disconnect( self.instance_server_hwobj, "clientInitialized", self.client_initialized, ) self.disconnect( self.instance_server_hwobj, "serverClosed", self.client_closed ) self.disconnect( self.instance_server_hwobj, "wantsControl", self.wants_control ) self.disconnect( self.instance_server_hwobj, "haveControl", self.have_control ) self.disconnect( self.instance_server_hwobj, "passControl", self.pass_control ) self.disconnect( self.instance_server_hwobj, "clientClosed", self.client_closed ) self.disconnect( self.instance_server_hwobj, "clientChanged", self.client_changed ) self.instance_server_hwobj = self.get_hardware_object(new_value) if self.instance_server_hwobj is not None: self.connect( self.instance_server_hwobj, "chatMessageReceived", self.message_arrived, ) self.connect(self.instance_server_hwobj, "newClient", self.new_client) self.connect( self.instance_server_hwobj, "serverInitialized", self.server_initialized, ) self.connect( self.instance_server_hwobj, "clientInitialized", self.client_initialized, ) self.connect( self.instance_server_hwobj, "serverClosed", self.client_closed ) self.connect( self.instance_server_hwobj, "wantsControl", self.wants_control ) self.connect( self.instance_server_hwobj, "haveControl", self.have_control ) self.connect( self.instance_server_hwobj, "passControl", self.pass_control ) self.connect( self.instance_server_hwobj, "clientClosed", self.client_closed ) self.connect( self.instance_server_hwobj, "clientChanged", self.client_changed ) elif property_name == "icons": icons_list = new_value.split() try: self.send_button.setIcon(Icons.load_icon(icons_list[0])) except IndexError: pass else: BaseWidget.property_changed(self, property_name, old_value, new_value)
def property_changed(self, property_name, old_value, new_value): if property_name == "mnemonic": self.beam_align_hwobj = self.get_hardware_object(new_value) else: BaseWidget.property_changed(self, property_name, old_value, new_value)