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()
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
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")
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")
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)