From c50c98b2d3cd2fefcfa9435812783bc62f02100c Mon Sep 17 00:00:00 2001 From: alessandro90 Date: Thu, 1 Nov 2018 16:42:49 +0100 Subject: [PATCH] Major refactoring of filters connections --- .gitignore | 1 + main.py | 332 +++++++++++------------------------------------------ 2 files changed, 68 insertions(+), 265 deletions(-) diff --git a/.gitignore b/.gitignore index a5b9e97..c158ac8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Data wav_converter.py *.txt icons_imgs +TestData diff --git a/main.py b/main.py index 7695cbe..1e93fcb 100644 --- a/main.py +++ b/main.py @@ -68,84 +68,38 @@ class MyApp(QMainWindow, Ui_MainWindow): self.ehf_filter_btn, ) - self.lower_freq_spinbox.valueChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_freq_filter_unit, - self.lower_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_spinbox) - ) - self.lower_freq_spinbox.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) + self.connect_to( + objects_to_connect = {self.lower_freq_spinbox: 'valueChanged', + self.upper_freq_spinbox: 'valueChanged', + self.lower_freq_filter_unit: 'currentTextChanged', + self.upper_freq_filter_unit: 'currentTextChanged', + self.activate_low_freq_filter_btn: 'toggled'}, + fun_to_connect = self.set_min_value_upper_limit, + fun_args = [self.lower_freq_filter_unit, + self.lower_freq_spinbox, + self.upper_freq_filter_unit, + self.upper_freq_spinbox] ) - self.upper_freq_spinbox.valueChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_freq_filter_unit, - self.lower_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_spinbox) - ) - self.upper_freq_spinbox.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) - - self.lower_freq_filter_unit.currentTextChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_freq_filter_unit, - self.lower_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_spinbox) - ) - self.lower_freq_filter_unit.currentTextChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) - - self.upper_freq_filter_unit.currentTextChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_freq_filter_unit, - self.lower_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_spinbox) - ) - self.upper_freq_filter_unit.currentTextChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) + self.connect_to( + objects_to_connect = {self.lower_freq_spinbox: 'valueChanged', + self.upper_freq_spinbox: 'valueChanged', + self.lower_freq_filter_unit: 'currentTextChanged', + self.upper_freq_filter_unit: 'currentTextChanged', + self.activate_low_freq_filter_btn: 'clicked', + self.activate_up_freq_filter_btn: 'clicked', + self.lower_freq_confidence: 'valueChanged', + self.upper_freq_confidence: 'valueChanged'}, + fun_to_connect = self.set_band_filter_label, + fun_args = [self.activate_low_freq_filter_btn, + self.lower_freq_spinbox, + self.lower_freq_filter_unit, + self.lower_freq_confidence, + self.activate_up_freq_filter_btn, + self.upper_freq_spinbox, + self.upper_freq_filter_unit, + self.upper_freq_confidence, + self.freq_range_lbl] ) self.activate_low_freq_filter_btn.toggled.connect( @@ -155,26 +109,6 @@ class MyApp(QMainWindow, Ui_MainWindow): self.lower_freq_filter_unit, self.lower_freq_confidence) ) - self.activate_low_freq_filter_btn.toggled.connect( - partial(self.set_min_value_upper_limit, - self.lower_freq_filter_unit, - self.lower_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_spinbox) - ) - - self.activate_low_freq_filter_btn.clicked.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) self.activate_up_freq_filter_btn.toggled.connect( partial(self.activate_if_toggled, @@ -183,43 +117,6 @@ class MyApp(QMainWindow, Ui_MainWindow): self.upper_freq_filter_unit, self.upper_freq_confidence) ) - self.activate_up_freq_filter_btn.clicked.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) - - self.lower_freq_confidence.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) - self.upper_freq_confidence.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_freq_filter_btn, - self.lower_freq_spinbox, - self.lower_freq_filter_unit, - self.lower_freq_confidence, - self.activate_up_freq_filter_btn, - self.upper_freq_spinbox, - self.upper_freq_filter_unit, - self.upper_freq_confidence, - self.freq_range_lbl) - ) self.apply_remove_freq_filter_btn.set_texts("Apply", "Remove") self.apply_remove_freq_filter_btn.set_slave_filters( @@ -247,84 +144,38 @@ class MyApp(QMainWindow, Ui_MainWindow): # Manage bandwidth filters. - self.lower_band_spinbox.valueChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_band_filter_unit, - self.lower_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_spinbox) - ) - self.lower_band_spinbox.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) + self.connect_to( + objects_to_connect = {self.lower_band_spinbox: 'valueChanged', + self.upper_band_spinbox: 'valueChanged', + self.lower_band_filter_unit: 'currentTextChanged', + self.upper_band_filter_unit: 'currentTextChanged', + self.activate_low_band_filter_btn: 'toggled'}, + fun_to_connect = self.set_min_value_upper_limit, + fun_args = [self.lower_band_filter_unit, + self.lower_band_spinbox, + self.upper_band_filter_unit, + self.upper_band_spinbox] ) - self.upper_band_spinbox.valueChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_band_filter_unit, - self.lower_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_spinbox) - ) - self.upper_band_spinbox.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) - - self.lower_band_filter_unit.currentTextChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_band_filter_unit, - self.lower_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_spinbox) - ) - self.lower_band_filter_unit.currentTextChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) - - self.upper_band_filter_unit.currentTextChanged.connect( - partial(self.set_min_value_upper_limit, - self.lower_band_filter_unit, - self.lower_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_spinbox) - ) - self.upper_band_filter_unit.currentTextChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) + self.connect_to( + objects_to_connect = {self.lower_band_spinbox: 'valueChanged', + self.upper_band_spinbox: 'valueChanged', + self.lower_band_filter_unit: 'currentTextChanged', + self.upper_band_filter_unit: 'currentTextChanged', + self.activate_low_band_filter_btn: 'clicked', + self.activate_up_band_filter_btn: 'clicked', + self.lower_band_confidence: 'valueChanged', + self.upper_band_confidence: 'valueChanged'}, + fun_to_connect = self.set_band_filter_label, + fun_args = [self.activate_low_band_filter_btn, + self.lower_band_spinbox, + self.lower_band_filter_unit, + self.lower_band_confidence, + self.activate_up_band_filter_btn, + self.upper_band_spinbox, + self.upper_band_filter_unit, + self.upper_band_confidence, + self.band_range_lbl] ) self.activate_low_band_filter_btn.toggled.connect( @@ -334,25 +185,6 @@ class MyApp(QMainWindow, Ui_MainWindow): self.lower_band_filter_unit, self.lower_band_confidence) ) - self.activate_low_band_filter_btn.toggled.connect( - partial(self.set_min_value_upper_limit, - self.lower_band_filter_unit, - self.lower_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_spinbox) - ) - self.activate_low_band_filter_btn.clicked.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) self.activate_up_band_filter_btn.toggled.connect( partial(self.activate_if_toggled, @@ -361,43 +193,6 @@ class MyApp(QMainWindow, Ui_MainWindow): self.upper_band_filter_unit, self.upper_band_confidence) ) - self.activate_up_band_filter_btn.clicked.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) - - self.lower_band_confidence.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) - self.upper_band_confidence.valueChanged.connect( - partial(self.set_band_filter_label, - self.activate_low_band_filter_btn, - self.lower_band_spinbox, - self.lower_band_filter_unit, - self.lower_band_confidence, - self.activate_up_band_filter_btn, - self.upper_band_spinbox, - self.upper_band_filter_unit, - self.upper_band_confidence, - self.band_range_lbl) - ) self.apply_remove_band_filter_btn.set_texts("Apply", "Remove") self.apply_remove_band_filter_btn.set_slave_filters( @@ -598,6 +393,13 @@ class MyApp(QMainWindow, Ui_MainWindow): else: self.update_status_tip(self.total_signals) + @staticmethod + def connect_to(objects_to_connect, fun_to_connect, fun_args): + for obj, signal in objects_to_connect.items(): + getattr(obj, signal).connect( + partial(fun_to_connect, *fun_args) + ) + @pyqtSlot() def set_min_value_upper_limit(self, lower_combo_box, lower_spin_box,