Major refactoring of filters connections

This commit is contained in:
alessandro90
2018-11-01 16:42:49 +01:00
parent 10893b2937
commit c50c98b2d3
2 changed files with 68 additions and 265 deletions

1
.gitignore vendored
View File

@@ -5,3 +5,4 @@ Data
wav_converter.py wav_converter.py
*.txt *.txt
icons_imgs icons_imgs
TestData

332
main.py
View File

@@ -68,84 +68,38 @@ class MyApp(QMainWindow, Ui_MainWindow):
self.ehf_filter_btn, self.ehf_filter_btn,
) )
self.lower_freq_spinbox.valueChanged.connect( self.connect_to(
partial(self.set_min_value_upper_limit, objects_to_connect = {self.lower_freq_spinbox: 'valueChanged',
self.lower_freq_filter_unit, self.upper_freq_spinbox: 'valueChanged',
self.lower_freq_spinbox, self.lower_freq_filter_unit: 'currentTextChanged',
self.upper_freq_filter_unit, self.upper_freq_filter_unit: 'currentTextChanged',
self.upper_freq_spinbox) self.activate_low_freq_filter_btn: 'toggled'},
) fun_to_connect = self.set_min_value_upper_limit,
self.lower_freq_spinbox.valueChanged.connect( fun_args = [self.lower_freq_filter_unit,
partial(self.set_band_filter_label, self.lower_freq_spinbox,
self.activate_low_freq_filter_btn, self.upper_freq_filter_unit,
self.lower_freq_spinbox, self.upper_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_spinbox.valueChanged.connect( self.connect_to(
partial(self.set_min_value_upper_limit, objects_to_connect = {self.lower_freq_spinbox: 'valueChanged',
self.lower_freq_filter_unit, self.upper_freq_spinbox: 'valueChanged',
self.lower_freq_spinbox, self.lower_freq_filter_unit: 'currentTextChanged',
self.upper_freq_filter_unit, self.upper_freq_filter_unit: 'currentTextChanged',
self.upper_freq_spinbox) self.activate_low_freq_filter_btn: 'clicked',
) self.activate_up_freq_filter_btn: 'clicked',
self.upper_freq_spinbox.valueChanged.connect( self.lower_freq_confidence: 'valueChanged',
partial(self.set_band_filter_label, self.upper_freq_confidence: 'valueChanged'},
self.activate_low_freq_filter_btn, fun_to_connect = self.set_band_filter_label,
self.lower_freq_spinbox, fun_args = [self.activate_low_freq_filter_btn,
self.lower_freq_filter_unit, self.lower_freq_spinbox,
self.lower_freq_confidence, self.lower_freq_filter_unit,
self.activate_up_freq_filter_btn, self.lower_freq_confidence,
self.upper_freq_spinbox, self.activate_up_freq_filter_btn,
self.upper_freq_filter_unit, self.upper_freq_spinbox,
self.upper_freq_confidence, self.upper_freq_filter_unit,
self.freq_range_lbl) 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.activate_low_freq_filter_btn.toggled.connect( 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_filter_unit,
self.lower_freq_confidence) 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( self.activate_up_freq_filter_btn.toggled.connect(
partial(self.activate_if_toggled, partial(self.activate_if_toggled,
@@ -183,43 +117,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
self.upper_freq_filter_unit, self.upper_freq_filter_unit,
self.upper_freq_confidence) 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_texts("Apply", "Remove")
self.apply_remove_freq_filter_btn.set_slave_filters( self.apply_remove_freq_filter_btn.set_slave_filters(
@@ -247,84 +144,38 @@ class MyApp(QMainWindow, Ui_MainWindow):
# Manage bandwidth filters. # Manage bandwidth filters.
self.lower_band_spinbox.valueChanged.connect( self.connect_to(
partial(self.set_min_value_upper_limit, objects_to_connect = {self.lower_band_spinbox: 'valueChanged',
self.lower_band_filter_unit, self.upper_band_spinbox: 'valueChanged',
self.lower_band_spinbox, self.lower_band_filter_unit: 'currentTextChanged',
self.upper_band_filter_unit, self.upper_band_filter_unit: 'currentTextChanged',
self.upper_band_spinbox) self.activate_low_band_filter_btn: 'toggled'},
) fun_to_connect = self.set_min_value_upper_limit,
self.lower_band_spinbox.valueChanged.connect( fun_args = [self.lower_band_filter_unit,
partial(self.set_band_filter_label, self.lower_band_spinbox,
self.activate_low_band_filter_btn, self.upper_band_filter_unit,
self.lower_band_spinbox, self.upper_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_spinbox.valueChanged.connect( self.connect_to(
partial(self.set_min_value_upper_limit, objects_to_connect = {self.lower_band_spinbox: 'valueChanged',
self.lower_band_filter_unit, self.upper_band_spinbox: 'valueChanged',
self.lower_band_spinbox, self.lower_band_filter_unit: 'currentTextChanged',
self.upper_band_filter_unit, self.upper_band_filter_unit: 'currentTextChanged',
self.upper_band_spinbox) self.activate_low_band_filter_btn: 'clicked',
) self.activate_up_band_filter_btn: 'clicked',
self.upper_band_spinbox.valueChanged.connect( self.lower_band_confidence: 'valueChanged',
partial(self.set_band_filter_label, self.upper_band_confidence: 'valueChanged'},
self.activate_low_band_filter_btn, fun_to_connect = self.set_band_filter_label,
self.lower_band_spinbox, fun_args = [self.activate_low_band_filter_btn,
self.lower_band_filter_unit, self.lower_band_spinbox,
self.lower_band_confidence, self.lower_band_filter_unit,
self.activate_up_band_filter_btn, self.lower_band_confidence,
self.upper_band_spinbox, self.activate_up_band_filter_btn,
self.upper_band_filter_unit, self.upper_band_spinbox,
self.upper_band_confidence, self.upper_band_filter_unit,
self.band_range_lbl) 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.activate_low_band_filter_btn.toggled.connect( 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_filter_unit,
self.lower_band_confidence) 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( self.activate_up_band_filter_btn.toggled.connect(
partial(self.activate_if_toggled, partial(self.activate_if_toggled,
@@ -361,43 +193,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
self.upper_band_filter_unit, self.upper_band_filter_unit,
self.upper_band_confidence) 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_texts("Apply", "Remove")
self.apply_remove_band_filter_btn.set_slave_filters( self.apply_remove_band_filter_btn.set_slave_filters(
@@ -598,6 +393,13 @@ class MyApp(QMainWindow, Ui_MainWindow):
else: else:
self.update_status_tip(self.total_signals) 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() @pyqtSlot()
def set_min_value_upper_limit(self, lower_combo_box, def set_min_value_upper_limit(self, lower_combo_box,
lower_spin_box, lower_spin_box,