Skip to content
Snippets Groups Projects

Guifilesignal

Merged Olle Hansson requested to merge guifilesignal into master
2 unresolved threads
Files
7
# -*- coding: utf-8 -*-
# -*- 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 (
from b_asic.signal_generator import (
Constant,
Constant,
 
FromFile,
Gaussian,
Gaussian,
Impulse,
Impulse,
SignalGenerator,
SignalGenerator,
@@ -94,6 +102,31 @@ class ZeroPadInput(SignalGeneratorInput):
@@ -94,6 +102,31 @@ class ZeroPadInput(SignalGeneratorInput):
return ZeroPad(input_values)
return ZeroPad(input_values)
 
class FromFileInput(SignalGeneratorInput):
 
"""
 
Class for graphically configuring and generating a
 
:class:`~b_asic.signal_generators.FromFile` signal generator.
 
"""
 
 
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 SinusoidInput(SignalGeneratorInput):
"""
"""
Class for graphically configuring and generating a
Class for graphically configuring and generating a
@@ -272,4 +305,5 @@ _GENERATOR_MAPPING = {
@@ -272,4 +305,5 @@ _GENERATOR_MAPPING = {
"Step": StepInput,
"Step": StepInput,
"Uniform": UniformInput,
"Uniform": UniformInput,
"ZeroPad": ZeroPadInput,
"ZeroPad": ZeroPadInput,
 
"FromFile": FromFileInput,
}
}
Loading