def handle_load_grouping_from_file(self):
        # Only XML format
        file_filter = file_utils.filter_for_extensions(["xml"])
        filename = self._view.show_file_browser_and_return_selection(
            file_filter, [""])

        if filename == '':
            return

        groups, pairs, description, default = xml_utils.load_grouping_from_XML(
            filename)

        self._model.clear()
        for group in groups:
            try:
                self._model.add_group(group)
            except ValueError as error:
                self._view.display_warning_box(str(error))

        for pair in pairs:
            if pair.forward_group in self._model.group_names and pair.backward_group in self._model.group_names:
                self._model.add_pair(pair)

        self.grouping_table_widget.update_view_from_model()
        self.pairing_table_widget.update_view_from_model()
        self.update_description_text(description)
        self._model._context.group_pair_context.selected = default
        self.groupingNotifier.notify_subscribers()

        self.handle_update_all_clicked()
Пример #2
0
 def get_filenames_from_user(self):
     file_filter = file_utils.filter_for_extensions(["nxs"])
     directory = ""
     filenames = self._view.show_file_browser_and_return_selection(file_filter, [directory],
                                                                   multiple_files=self._multiple_files)
     # validate
     filenames = file_utils.parse_user_input_to_files(";".join(filenames))
     filenames = file_utils.remove_duplicated_files_from_list(filenames)
     return filenames
Пример #3
0
 def get_filenames_from_user(self):
     file_filter = file_utils.filter_for_extensions(["bin", "nxs"])
     directory = ""
     filenames = self._view.show_file_browser_and_return_selection(
         file_filter, [directory], multiple_files=self._multiple_files)
     # validate
     filenames = file_utils.parse_user_input_to_files(";".join(filenames))
     filenames = file_utils.remove_duplicated_files_from_list(filenames)
     return filenames
    def handle_load_grouping_from_file(self):
        # Only XML format
        file_filter = file_utils.filter_for_extensions(["xml"])
        filename = self._view.show_file_browser_and_return_selection(
            file_filter, [""])

        if filename == '':
            return

        groups, pairs, diffs, description, default = xml_utils.load_grouping_from_XML(
            filename)

        self._model.clear()
        for group in groups:
            try:
                self._model.add_group(group)
            except ValueError as error:
                self._view.display_warning_box(str(error))

        for pair in pairs:
            try:
                if pair.forward_group in self._model.group_names and pair.backward_group in self._model.group_names:
                    self._model.add_pair(pair)
            except ValueError as error:
                self._view.display_warning_box(str(error))
        for diff in diffs:
            try:
                if diff.positive in self._model.group_names and diff.negative in self._model.group_names:
                    self._model.add_diff(diff)
                elif diff.positive in self._model.pair_names and diff.negative in self._model.pair_names:
                    self._model.add_diff(diff)
            except ValueError as error:
                self._view.display_warning_box(str(error))
        # Sets the default from file if it exists, if not selected groups/pairs are set on the logic
        # Select all pairs if there are any pairs otherwise select all groups.
        if default:
            if default in self._model.group_names:
                self._model.add_group_to_analysis(default)
            elif default in self._model.pair_names:
                self._model.add_pair_to_analysis(default)

        self.grouping_table_widget.update_view_from_model()
        self.pairing_table_widget.update_view_from_model()
        self.diff_table.update_view_from_model()
        self.update_description_text(description)
        self._model._context.group_pair_context.selected = default
        self.plot_default_groups_or_pairs()
        self.groupingNotifier.notify_subscribers()

        self.handle_update_all_clicked()
    def handle_dead_time_browse_clicked(self):
        """User selects the option to Browse for a nexus file to load dead times from."""
        filename = self._view.show_file_browser_and_return_selection(
            filter_for_extensions(['nxs']), [''], multiple_files=False)[0]

        if filename == '':
            return

        name = load_utils.load_dead_time_from_filename(filename)
        if name == "":
            self._view.warning_popup("File does not appear to contain dead time data.")
            return

        # switch the view to the "from table workspace" option
        self._view.set_dead_time_selection(2)
        is_set = self._view.set_dead_time_file_selection_text(name)
        if not is_set:
            self._view.warning_popup("Dead time table cannot be loaded")
Пример #6
0
    def handle_dead_time_browse_clicked(self):
        """User selects the option to Browse for a nexus file to load dead times from."""
        filename = self._view.show_file_browser_and_return_selection(
            filter_for_extensions(['nxs']), [''], multiple_files=False)[0]

        if filename == '':
            return

        name = load_utils.load_dead_time_from_filename(filename)
        if name == "":
            self._view.warning_popup(
                "File does not appear to contain dead time data.")
            return

        # switch the view to the "from table workspace" option
        self._view.set_dead_time_selection(DEADTIME_WORKSPACE)
        is_set = self._view.set_dead_time_file_selection_text(name)
        if not is_set:
            self._view.warning_popup("Dead time table cannot be loaded")
Пример #7
0
 def show_file_browser_and_return_selection(self, extensions: list, search_directories: list,
                                            multiple_files: bool = False) -> list:
     """Opens the file browser and returns the selected file name."""
     return show_file_browser_and_return_selection(self, filter_for_extensions(extensions), search_directories,
                                                   multiple_files)