Example #1
0
    def get_state(self):
        """
            Returns an object with the state of the interface
        """
        m = Detector()

        # Mask
        m.x_position = util._check_and_get_float_line_edit(self._content.x_pos_edit)
        m.y_position = util._check_and_get_float_line_edit(self._content.y_pos_edit)
        m.beam_radius = util._check_and_get_float_line_edit(self._content.beam_radius_edit)
        m.use_finder = self._content.use_beam_finder_checkbox.isChecked()
        m.beam_file = unicode(self._content.beam_data_file_edit.text())
        m.use_direct_beam = self._content.direct_beam.isChecked()

        # Sensitivity
        m.sensitivity_corr = self._content.sensitivity_chk.isChecked()
        m.sensitivity_data = unicode(self._content.sensitivity_file_edit.text())
        m.min_sensitivity = util._check_and_get_float_line_edit(self._content.min_sensitivity_edit)
        m.max_sensitivity = util._check_and_get_float_line_edit(self._content.max_sensitivity_edit)
        if not self._use_sample_dc:
            m.sensitivity_dark = unicode(self._content.sensitivity_dark_file_edit.text())
        m.use_sample_dark = self._use_sample_dc

        m.use_sample_beam_center = self._content.use_sample_center_checkbox.isChecked()
        m.flood_x_position = util._check_and_get_float_line_edit(self._content.x_pos_edit_2)
        m.flood_y_position = util._check_and_get_float_line_edit(self._content.y_pos_edit_2)
        m.flood_beam_radius = util._check_and_get_float_line_edit(self._content.beam_radius_edit_2)
        m.flood_use_finder = self._content.use_beam_finder_checkbox_2.isChecked()
        m.flood_beam_file = unicode(self._content.beam_data_file_edit_2.text())
        m.flood_use_direct_beam = self._content.direct_beam_2.isChecked()

        self._settings.emit_key_value("FLOOD_FIELD", str(self._content.sensitivity_file_edit.text()))
        return m