Skip to content
Snippets Groups Projects

Guifilesignal

Merged Olle Hansson requested to merge guifilesignal into master
2 unresolved threads
Files
3
# -*- coding: utf-8 -*-
from qtpy.QtWidgets import QGridLayout, QLabel, QLineEdit, QSpinBox
from qtpy.QtWidgets import (
QFileDialog,
QGridLayout,
QLabel,
QLineEdit,
QPushButton,
QSpinBox,
)
from b_asic.signal_generator import (
Constant,
FromFile,
Gaussian,
Impulse,
SignalGenerator,
@@ -94,6 +102,26 @@ class ZeroPadInput(SignalGeneratorInput):
return ZeroPad(input_values)
class FromFileInput(SignalGeneratorInput):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.file_label = QLabel("Browse")
self.addWidget(self.file_label, 0, 0)
self.file_browser = QPushButton("No file selected")
self.file_browser.clicked.connect(
lambda i: self.get_input_file(i, self.file_browser)
)
self.addWidget(self.file_browser, 0, 1)
def get_generator(self) -> SignalGenerator:
return FromFile(self.file_browser.text())
def get_input_file(self, i, file_browser):
module, accepted = QFileDialog().getOpenFileName()
file_browser.setText(module)
return
class SinusoidInput(SignalGeneratorInput):
"""
Class for graphically configuring and generating a
@@ -272,4 +300,5 @@ _GENERATOR_MAPPING = {
"Step": StepInput,
"Uniform": UniformInput,
"ZeroPad": ZeroPadInput,
"FromFile": FromFileInput,
}
Loading