def update_fit_peak_ranges_table(self, **kwargs): self.parent.ui.peak_range_table.blockSignals(True) def __get_kwargs_value(key='', data_type='boolean'): if data_type == 'boolean': _default = False elif data_type == 'array': _default = [] return kwargs[key] if key in kwargs.keys() else _default # click = __get_kwargs_value('click', data_type='boolean') # move = __get_kwargs_value('move', data_type='boolean') # release = __get_kwargs_value('release', data_type='boolean') list_fit_peak_ranges = __get_kwargs_value('list_fit_peak_ranges', data_type='array') # list_fit_peak_ranges_matplotlib_id = __get_kwargs_value('list_fit_peak_ranges_matplotlib_id', # data_type='array') list_fit_peak_labels = __get_kwargs_value('list_fit_peak_labels', data_type='array') list_fit_peak_d0 = __get_kwargs_value('list_fit_peak_d0', data_type='array') o_gui = GuiUtilities(parent=self.parent) o_gui.reset_peak_range_table() o_gui.fill_peak_range_table(list_fit_peak_ranges=list_fit_peak_ranges, list_fit_peak_labels=list_fit_peak_labels, list_fit_peak_d0=list_fit_peak_d0) self.parent.ui.peak_range_table.blockSignals(False) o_gui.check_if_fitting_widgets_can_be_enabled()
def peak_range_table_right_click(self, position=-1): nbr_row = self.parent.ui.peak_range_table.rowCount() if nbr_row == 0: return menu = QMenu(self.parent) _remove_row = menu.addAction("Remove") action = menu.exec_(QCursor.pos()) if action == _remove_row: self.remove_peak_range_table_row() o_gui = GuiUtilities(parent=self.parent) o_gui.check_if_fitting_widgets_can_be_enabled()
def load_and_plot(self, hidra_file_name): try: o_load = Load(parent=self.parent) o_load.load(project_file=hidra_file_name) except RuntimeError as run_err: pop_message(self, 'Failed to load {}'.format(hidra_file_name), str(run_err), 'error') except KeyError as key_err: pop_message(self, 'Failed to load {}'.format(hidra_file_name), str(key_err), 'error') self.parent.current_root_statusbar_message = "Working with: {} " \ "\t\t\t\t Project Name: {}" \ "".format(hidra_file_name, self.parent._project_name) self.parent.ui.statusbar.showMessage( self.parent.current_root_statusbar_message) try: o_plot = Plot(parent=self.parent) o_plot.plot_diff_data(plot_model=False) o_plot.reset_fitting_plot() except RuntimeError as run_err: pop_message(self, 'Failed to plot {}'.format(hidra_file_name), str(run_err), 'error') try: o_fit = Fit(parent=self.parent) o_fit.initialize_fitting_table() # enabled all fitting widgets and main plot o_gui = GuiUtilities(parent=self.parent) o_gui.check_if_fitting_widgets_can_be_enabled() o_gui.enabled_sub_runs_interation_widgets(True) # o_gui.enabled_fitting_widgets(True) o_gui.enabled_data_fit_plot(True) o_gui.enabled_peak_ranges_widgets(True) o_gui.enabled_1dplot_widgets(True) except RuntimeError as run_err: pop_message( self, 'Failed to initialize widgets for {}'.format(hidra_file_name), str(run_err), 'error')
def browse_load_plot_hdf(self): if self.parent._core is None: raise RuntimeError('Not set up yet!') # o_utility = Utilities(parent=self.parent) # hydra_file_name = o_utility.get_default_hdf() hidra_file_name = None if hidra_file_name is None: # No default Hidra file: browse the file file_filter = 'HDF (*.hdf);H5 (*.h5)' hidra_file_name = browse_file(self.parent, 'HIDRA Project File', os.getcwd(), file_filter, file_list=False, save_file=False) if hidra_file_name is None: return # user clicked cancel self.parent.current_hidra_file_name = hidra_file_name try: o_load = Load(parent=self.parent) o_load.load(project_file=hidra_file_name) except RuntimeError as run_err: pop_message(self, 'Failed to load {}'.format(hidra_file_name), str(run_err), 'error') except KeyError as key_err: pop_message(self, 'Failed to load {}'.format(hidra_file_name), str(key_err), 'error') self.parent.current_root_statusbar_message = "Working with: {} " \ "\t\t\t\t Project Name: {}" \ "".format(hidra_file_name, self.parent._project_name) self.parent.ui.statusbar.showMessage( self.parent.current_root_statusbar_message) try: o_plot = Plot(parent=self.parent) o_plot.plot_diff_data(plot_model=False) o_plot.reset_fitting_plot() except RuntimeError as run_err: pop_message(self, 'Failed to plot {}'.format(hidra_file_name), str(run_err), 'error') try: o_fit = Fit(parent=self.parent) o_fit.initialize_fitting_table() # enabled all fitting widgets and main plot o_gui = GuiUtilities(parent=self.parent) o_gui.check_if_fitting_widgets_can_be_enabled() o_gui.enabled_sub_runs_interation_widgets(True) # o_gui.enabled_fitting_widgets(True) o_gui.enabled_data_fit_plot(True) o_gui.enabled_peak_ranges_widgets(True) o_gui.enabled_1dplot_widgets(True) except RuntimeError as run_err: pop_message( self, 'Failed to initialize widgets for {}'.format(hidra_file_name), str(run_err), 'error')