Source code for pyleecan.GUI.Tools.WImport.WImportLinspace.WImportLinspace

from PySide2.QtWidgets import QWidget

from .....Classes.ImportGenVectLin import ImportGenVectLin
from .....GUI.Tools.WImport.WImportLinspace.Ui_WImportLinspace import Ui_WImportLinspace
from PySide2.QtCore import Qt
from PySide2.QtCore import Signal


[docs]class WImportLinspace(Ui_WImportLinspace, QWidget): import_name = "Define as Linspace" import_type = ImportGenVectLin saveNeeded = Signal() dataTypeChanged = Signal() def __init__(self, parent=None, data=None, plot_title="", expected_shape=None): """Initialization of the widget Parameters ---------- data : ImportGenVectLin Data import to define plot_title : str Name of the imported data expected_shape : list List to enforce a shape, [None, 2] enforce 2D matrix with 2 columns """ QWidget.__init__(self, parent=parent) self.setupUi(self) if data is None: self.data = ImportGenVectLin() else: self.data = data self.plot_title = plot_title self.expected_shape = expected_shape self.update() # Connect the slot/signal self.lf_start.editingFinished.connect(self.set_start) self.lf_stop.editingFinished.connect(self.set_stop) self.si_N.editingFinished.connect(self.set_N) self.is_end.toggled.connect(self.set_is_end) self.c_type_lin.currentIndexChanged.connect(self.set_type_lin)
[docs] def update(self): """Fill the widget with the current value of the data""" self.c_type_lin.setCurrentIndex(0) # Start, Stop, N self.set_type_lin() self.lf_start.setValue(self.data.start) self.lf_stop.setValue(self.data.stop) if self.data.num is None: self.data.num = 100 self.si_N.setValue(self.data.num) if self.data.endpoint: self.is_end.setCheckState(Qt.Checked) else: self.is_end.setCheckState(Qt.Unchecked)
[docs] def set_type_lin(self): if self.c_type_lin.currentIndex() == 0: self.in_N.show() self.si_N.show() self.in_step.hide() self.lf_step.hide() else: self.in_N.hide() self.si_N.hide() self.in_step.show() self.lf_step.show()
[docs] def set_start(self): """Change the value according to the widget""" self.data.start = self.lf_start.value() # Notify the machine GUI that the machine has changed self.saveNeeded.emit()
[docs] def set_stop(self): """Change the value according to the widget""" self.data.stop = self.lf_stop.value() # Notify the machine GUI that the machine has changed self.saveNeeded.emit()
[docs] def set_N(self): """Change the value according to the widget""" self.data.num = self.si_N.value() # Notify the machine GUI that the machine has changed self.saveNeeded.emit()
[docs] def set_is_end(self, is_checked): """Signal to update the value of is_internal according to the widget Parameters ---------- self : WImportLinspace A WImportLinspace object is_checked : bool State of is_internal """ self.data.endpoint = is_checked # Notify the machine GUI that the machine has changed self.saveNeeded.emit()