コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)