Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
parent
7a6b679c05
commit
24604260b8
185
src/SimNDT/gui/runSimulationController.py
Normal file
185
src/SimNDT/gui/runSimulationController.py
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
__author__ = 'Miguel Molero'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
from PySide.QtGui import *
|
||||||
|
|
||||||
|
from SimNDT.gui.ui_runsimulation import Ui_runSimulationDialog
|
||||||
|
from SimNDT.gui.Warnings import WarningParms
|
||||||
|
import SimNDT.gui.constants as c
|
||||||
|
|
||||||
|
|
||||||
|
class RunSimulation(QDialog, Ui_runSimulationDialog):
|
||||||
|
|
||||||
|
def __init__(self, filename, Simulation, parent=None):
|
||||||
|
|
||||||
|
super(RunSimulation, self).__init__(parent)
|
||||||
|
self.setupUi(self)
|
||||||
|
|
||||||
|
# Previous simulations etup, keep settings
|
||||||
|
|
||||||
|
print(Simulation.lastSimulationSetup)
|
||||||
|
|
||||||
|
self.lastSimulationSetup = Simulation.lastSimulationSetup
|
||||||
|
|
||||||
|
self.filename = filename
|
||||||
|
self.basename = None
|
||||||
|
self.Simulation = Simulation
|
||||||
|
|
||||||
|
self.receiverShow = False
|
||||||
|
self.receiverCheckBox.setVisible(False)
|
||||||
|
|
||||||
|
#self.ColormapView = ColorbarWidget()
|
||||||
|
|
||||||
|
self.colormapComboBox.addItems(["jet","gray"])
|
||||||
|
self.colormapComboBox.setCurrentIndex(0)
|
||||||
|
self.colormapComboBox.setVisible(False)
|
||||||
|
|
||||||
|
self.fieldSelectorComboBox.addItems(["Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Tyy]","Dx","Dy","[Dx,Dy]","SV"])
|
||||||
|
self.fieldSelectorComboBox.setCurrentIndex(0)
|
||||||
|
self.fieldSelectorComboBox.setVisible(False)
|
||||||
|
|
||||||
|
|
||||||
|
self.stepsLabel.setVisible(False)
|
||||||
|
|
||||||
|
self.snapshotStepLabel.setVisible(False)
|
||||||
|
self.snapshotStepSpinBox.setVisible(False)
|
||||||
|
|
||||||
|
|
||||||
|
self.visualizacionRangeLabel.setVisible(False)
|
||||||
|
self.visualizacionRangeSpinBox.setVisible(False)
|
||||||
|
|
||||||
|
self.enableSavingFieldsLabel.setVisible(False)
|
||||||
|
self.enableSavingFieldsCheckBox.setVisible(False)
|
||||||
|
self.enableSavingSignalsLabel.setVisible(False)
|
||||||
|
self.enableSavingSignalsCheckBox.setVisible(False)
|
||||||
|
self.enableSavingNumpyLabel.setVisible(False)
|
||||||
|
self.enableSavingNumpyCheckBox.setVisible(False)
|
||||||
|
self.enableSavingVolumeLabel.setVisible(False)
|
||||||
|
self.enableSavingVolumeCheckBox.setVisible(False)
|
||||||
|
self.enableSavingImagesLabel.setVisible(False)
|
||||||
|
self.enableSavingImagesCheckBox.setVisible(False)
|
||||||
|
self.fieldSelectorLabel.setVisible(False)
|
||||||
|
self.fieldSelectorComboBox.setVisible(False)
|
||||||
|
self.signalShapeLabel.setVisible(False)
|
||||||
|
self.signalPlacementLabel.setVisible(False)
|
||||||
|
self.signalSizeLabel.setVisible(False)
|
||||||
|
self.signalShapeLineEdit.setVisible(False)
|
||||||
|
self.signalPlacementLineEdit.setVisible(False)
|
||||||
|
self.signalSizeLineEdit.setVisible(False)
|
||||||
|
self.colormapComboBox.setVisible(True)
|
||||||
|
|
||||||
|
#self.colormapLayout.addWidget(self.ColormapView)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
self.setLayout(self.verticalLayout)
|
||||||
|
self.layout().setSizeConstraint(QLayout.SetFixedSize)
|
||||||
|
|
||||||
|
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.visualizacionRangeSpinBox.setVisible)
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.visualizacionRangeLabel.setVisible)
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.receiverCheckBox.setVisible)
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.colormapComboBox.setVisible)
|
||||||
|
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.receiveFunction)
|
||||||
|
self.viewCheckBox.stateChanged.connect(self.updateColor)
|
||||||
|
#self.colormapComboBox.activated.connect(self.ColormapView.Show)
|
||||||
|
self.snapshotsPushButton.pressed.connect(self.snapshots)
|
||||||
|
self.setWindowTitle("Simulation Run Setup")
|
||||||
|
|
||||||
|
if self.lastSimulationSetup != None:
|
||||||
|
self.viewCheckBox.setChecked(self.lastSimulationSetup["isView"])
|
||||||
|
self.receiverCheckBox.setChecked(self.lastSimulationSetup["isReceiverPlot"])
|
||||||
|
self.receiverShow=self.lastSimulationSetup["isReceiverPlot"]
|
||||||
|
if self.lastSimulationSetup["isView"]:
|
||||||
|
self.visualizacionRangeSpinBox.setVisible(True)
|
||||||
|
self.visualizacionRangeLabel.setVisible(True)
|
||||||
|
self.receiverCheckBox.setVisible(True)
|
||||||
|
self.colormapComboBox.setVisible(True)
|
||||||
|
self.colormapComboBox.setCurrentIndex(self.lastSimulationSetup["color"])
|
||||||
|
self.visualizacionRangeSpinBox.setValue(self.lastSimulationSetup["dB"])
|
||||||
|
self.fieldSelectorComboBox.setCurrentIndex(self.lastSimulationSetup["field"])
|
||||||
|
self.signalShapeLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorShape"]))
|
||||||
|
self.signalPlacementLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorPlacement"]))
|
||||||
|
self.signalSizeLineEdit.setText(str(self.lastSimulationSetup["sensorSize"]))
|
||||||
|
|
||||||
|
def snapshots(self):
|
||||||
|
lastPath=''
|
||||||
|
if self.lastSimulationSetup != None:
|
||||||
|
lastPath=self.lastSimulationSetup["lastPath"]
|
||||||
|
fname = self.filename if self.filename is not None else "."
|
||||||
|
fname, filters = QFileDialog.getSaveFileName(None, "Set Base Name for Snapshots", lastPath+os.path.splitext(fname)[0])
|
||||||
|
self.basename = os.path.splitext(fname)[0]
|
||||||
|
if self.lastSimulationSetup != None:
|
||||||
|
self.lastSimulationSetup["lastPath"] = os.path.dirname(fname)
|
||||||
|
|
||||||
|
if self.basename is not None:
|
||||||
|
|
||||||
|
if len(self.basename)!=0:
|
||||||
|
self.snapshotStepLabel.setVisible(True)
|
||||||
|
self.snapshotStepSpinBox.setVisible(True)
|
||||||
|
|
||||||
|
self.stepsLabel.setVisible(True)
|
||||||
|
self.stepsLabel.setText("Simulation Time Steps: %d"%(self.Simulation.TimeSteps))
|
||||||
|
|
||||||
|
self.visualizacionRangeSpinBox.setVisible(True)
|
||||||
|
self.visualizacionRangeLabel.setVisible(True)
|
||||||
|
|
||||||
|
self.enableSavingFieldsLabel.setVisible(True)
|
||||||
|
self.enableSavingFieldsCheckBox.setVisible(True)
|
||||||
|
self.enableSavingSignalsLabel.setVisible(True)
|
||||||
|
self.enableSavingSignalsCheckBox.setVisible(True)
|
||||||
|
self.enableSavingNumpyLabel.setVisible(True)
|
||||||
|
self.enableSavingNumpyCheckBox.setVisible(True)
|
||||||
|
self.enableSavingVolumeLabel.setVisible(True)
|
||||||
|
self.enableSavingVolumeCheckBox.setVisible(True)
|
||||||
|
self.enableSavingImagesLabel.setVisible(True)
|
||||||
|
self.enableSavingImagesCheckBox.setVisible(True)
|
||||||
|
self.fieldSelectorLabel.setVisible(True)
|
||||||
|
self.fieldSelectorComboBox.setVisible(True)
|
||||||
|
self.signalShapeLabel.setVisible(True)
|
||||||
|
self.signalPlacementLabel.setVisible(True)
|
||||||
|
self.signalSizeLabel.setVisible(True)
|
||||||
|
self.signalShapeLineEdit.setVisible(True)
|
||||||
|
self.signalPlacementLineEdit.setVisible(True)
|
||||||
|
self.signalSizeLineEdit.setVisible(True)
|
||||||
|
|
||||||
|
self.colormapComboBox.setVisible(True)
|
||||||
|
self.updateColor()
|
||||||
|
|
||||||
|
if self.lastSimulationSetup != None:
|
||||||
|
self.enableSavingFieldsCheckBox.setChecked(self.lastSimulationSetup["isEnableFields"])
|
||||||
|
self.enableSavingSignalsCheckBox.setChecked(self.lastSimulationSetup["isEnableSignals"])
|
||||||
|
self.enableSavingNumpyCheckBox.setChecked(self.lastSimulationSetup["isEnableNumPy"])
|
||||||
|
self.enableSavingVolumeCheckBox.setChecked(self.lastSimulationSetup["isEnableVolume"])
|
||||||
|
self.enableSavingImagesCheckBox.setChecked(self.lastSimulationSetup["isEnableImages"])
|
||||||
|
self.snapshotStepSpinBox.setValue(self.lastSimulationSetup["step"])
|
||||||
|
self.visualizacionRangeSpinBox.setValue(self.lastSimulationSetup["dB"])
|
||||||
|
self.fieldSelectorComboBox.setCurrentIndex(self.lastSimulationSetup["field"])
|
||||||
|
self.signalShapeLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorShape"]))
|
||||||
|
self.signalPlacementLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorPlacement"]))
|
||||||
|
self.signalSizeLineEdit.setText(str(self.lastSimulationSetup["sensorSize"]))
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
self.basename = None
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
self.basename = None
|
||||||
|
|
||||||
|
|
||||||
|
def updateColor(self):
|
||||||
|
self.colormapComboBox.setCurrentIndex(0)
|
||||||
|
if self.lastSimulationSetup != None:
|
||||||
|
self.colormapComboBox.setCurrentIndex(self.lastSimulationSetup["color"])
|
||||||
|
#self.ColormapView.Show(0)
|
||||||
|
QApplication.processEvents()
|
||||||
|
|
||||||
|
|
||||||
|
def receiveFunction(self, value):
|
||||||
|
self.receiverShow = value
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user