Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
parent
0fdf01de17
commit
847273d5bc
126
src/SimNDT/gui/boundarySetupController.py
Normal file
126
src/SimNDT/gui/boundarySetupController.py
Normal file
|
@ -0,0 +1,126 @@
|
|||
__author__ = 'Miguel'
|
||||
|
||||
|
||||
from PySide.QtCore import *
|
||||
from PySide.QtGui import *
|
||||
|
||||
from SimNDT.gui.ui_boundarysetup import Ui_boundarySetupDialog
|
||||
from SimNDT.gui.Warnings import WarningParms
|
||||
from SimNDT.gui.constants import *
|
||||
|
||||
from SimNDT.core.constants import *
|
||||
from SimNDT.core.boundary import Boundary
|
||||
import copy
|
||||
|
||||
|
||||
class BoundarySetup(QDialog,Ui_boundarySetupDialog):
|
||||
|
||||
def __init__(self, SimNDT_Boundaries, parent = None):
|
||||
super(BoundarySetup,self).__init__(parent)
|
||||
self.setupUi(self)
|
||||
self.connectionSetup()
|
||||
|
||||
if SimNDT_Boundaries is not None:
|
||||
for boundary in SimNDT_Boundaries:
|
||||
self.setupBC(boundary)
|
||||
else:
|
||||
self.topComboBox.setCurrentIndex(BC.AirLayer)
|
||||
self.bottomComboBox.setCurrentIndex(BC.AirLayer)
|
||||
self.leftComboBox.setCurrentIndex(BC.AirLayer)
|
||||
self.rightComboBox.setCurrentIndex(BC.AirLayer)
|
||||
|
||||
|
||||
def connectionSetup(self):
|
||||
self.connect(self.topComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.topComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.bottomComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.bottomComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.leftComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.leftComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.rightComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
self.connect(self.rightComboBox, SIGNAL("currentIndexChanged(int)"), self.setVisibleFunc)
|
||||
|
||||
|
||||
def setVisibleFunc(self, value):
|
||||
|
||||
sender = self.sender()
|
||||
if sender.objectName() == "topComboBox":
|
||||
self.topLayerSizeLabel.setVisible(not value)
|
||||
self.topLayerSizeLineEdit.setVisible(not value)
|
||||
elif sender.objectName() == "bottomComboBox":
|
||||
self.bottomLayerSizeLabel.setVisible(not value)
|
||||
self.bottomLayerSizeLineEdit.setVisible(not value)
|
||||
elif sender.objectName() == "leftComboBox":
|
||||
self.leftLayerSizeLabel.setVisible(not value)
|
||||
self.leftLayerSizeLineEdit.setVisible(not value)
|
||||
elif sender.objectName() == "rightComboBox":
|
||||
self.rightLayerSizeLabel.setVisible(not value)
|
||||
self.rightLayerSizeLineEdit.setVisible(not value)
|
||||
|
||||
|
||||
def setupBC(self, boundary):
|
||||
|
||||
if boundary.Name == "Top":
|
||||
self.topComboBox.setCurrentIndex(boundary.BC)
|
||||
if boundary.BC == BC.AbsorbingLayer:
|
||||
self.topLayerSizeLabel.setVisible(True)
|
||||
self.topLayerSizeLineEdit.setVisible(True)
|
||||
self.topLayerSizeLineEdit.setText(unicode(boundary.Size))
|
||||
|
||||
elif boundary.Name == "Bottom":
|
||||
self.bottomComboBox.setCurrentIndex(boundary.BC)
|
||||
if boundary.BC == BC.AbsorbingLayer:
|
||||
self.bottomLayerSizeLabel.setVisible(True)
|
||||
self.bottomLayerSizeLineEdit.setVisible(True)
|
||||
self.bottomLayerSizeLineEdit.setText(unicode(boundary.Size))
|
||||
|
||||
elif boundary.Name == "Left":
|
||||
self.leftComboBox.setCurrentIndex(boundary.BC)
|
||||
if boundary.BC == BC.AbsorbingLayer:
|
||||
self.leftLayerSizeLabel.setVisible(True)
|
||||
self.leftLayerSizeLineEdit.setVisible(True)
|
||||
self.leftLayerSizeLineEdit.setText(unicode(boundary.Size))
|
||||
|
||||
|
||||
elif boundary.Name == "Right":
|
||||
self.rightComboBox.setCurrentIndex(boundary.BC)
|
||||
if boundary.BC == BC.AbsorbingLayer:
|
||||
self.rightLayerSizeLabel.setVisible(True)
|
||||
self.rightLayerSizeLineEdit.setVisible(True)
|
||||
self.rightLayerSizeLineEdit.setText(unicode(boundary.Size))
|
||||
|
||||
|
||||
|
||||
|
||||
def accept(self):
|
||||
|
||||
try:
|
||||
items = [ (self.topComboBox,self.topLayerSizeLineEdit, "Top" ),
|
||||
(self.bottomComboBox,self.bottomLayerSizeLineEdit,"Bottom" ),
|
||||
(self.leftComboBox,self.leftLayerSizeLineEdit,"Left" ),
|
||||
(self.rightComboBox,self.rightLayerSizeLineEdit,"Right" )]
|
||||
|
||||
self.Boundaries = list()
|
||||
|
||||
|
||||
for item in items:
|
||||
index = item[0].currentIndex()
|
||||
if index == BC.AirLayer:
|
||||
Size = 0.0
|
||||
else:
|
||||
Size = float(item[1].text())
|
||||
if Size == 0:
|
||||
msgBox = WarningParms("Undefined Size (%s)!!!!" % item[2])
|
||||
if msgBox.exec_():
|
||||
return
|
||||
|
||||
self.Boundaries.append(Boundary(item[2],index,Size))
|
||||
|
||||
|
||||
except:
|
||||
msgBox = WarningParms()
|
||||
if msgBox.exec_():
|
||||
return
|
||||
|
||||
|
||||
QDialog.accept(self)
|
Loading…
Reference in New Issue
Block a user