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): 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 == "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)