summaryrefslogtreecommitdiff
path: root/DockWidgets/DockWidget.txt
diff options
context:
space:
mode:
Diffstat (limited to 'DockWidgets/DockWidget.txt')
-rw-r--r--DockWidgets/DockWidget.txt636
1 files changed, 636 insertions, 0 deletions
diff --git a/DockWidgets/DockWidget.txt b/DockWidgets/DockWidget.txt
new file mode 100644
index 0000000..b14eef8
--- /dev/null
+++ b/DockWidgets/DockWidget.txt
@@ -0,0 +1,636 @@
+from PyQt5.QtCore import *
+from PyQt5.QtWidgets import *
+from PyQt5.QtGui import *
+from PyQt5.uic import loadUiType
+import pandas as pd
+from functools import partial
+from component_selector import *
+from collections import defaultdict
+from Graphics import *
+
+ui_dialog,_ = loadUiType('DockWidget.ui')
+
+class DockWidget(QDockWidget,ui_dialog):
+
+ def __init__(self,name,comptype,obj,container,parent=None):
+ QDockWidget.__init__(self,parent)
+ self.setupUi(self)
+ self.setWindowTitle(obj.name)
+ self.name=name
+ self.obj=obj
+ self.type = comptype
+ self.inputdict = {}
+ self.x_pclist = []
+ self.modes()
+ self.comboBox.currentIndexChanged.connect(self.modeSelection)
+
+ print("constructor ", self.inputdict)
+ self.pushButton_2.clicked.connect(self.param)
+ self.dict = {}
+
+ self.nameType = None
+ self.container = container
+
+ header = QTreeWidgetItem(['Compound','Value','Unit'])
+ self.mTreeWidget.setHeaderItem(header)
+ self.lTreeWidget.setHeaderItem(header)
+ self.vTreeWidget.setHeaderItem(header)
+
+ self.mTreeWidget.itemClicked.connect(lambda : self.printer(self.mTreeWidget.currentItem()))
+ self.lTreeWidget.itemClicked.connect(lambda : self.printer(self.lTreeWidget.currentItem()))
+ self.vTreeWidget.itemClicked.connect(lambda : self.printer(self.vTreeWidget.currentItem()))
+
+ def printer(self, treeItem ):
+ foldername = treeItem.text(0)
+ comment = treeItem.text(1)
+ data = treeItem.text(2)
+ print(foldername , ': ' , comment , ' (' + data + ')')
+
+ # input data tab
+ def modes(self):
+ modesList = self.obj.modesList
+ if(modesList):
+ for j in modesList:
+ self.comboBox.addItem(str(self.obj.variables[j]['name']))
+ self.modeSelection()
+ else:
+ self.comboBox.setDisabled(True)
+ self.inputdict= {}
+ self.inputdict = self.obj.paramgetter()
+ self.inputparamslist()
+
+ def modeSelection(self):
+ self.inputdict= {}
+ for i in reversed(range(self.formLayout.count())):
+ self.formLayout.removeRow(i)
+ print(self.comboBox.currentText())
+ for i in self.obj.variables:
+ if self.obj.variables[i]['name'] == self.comboBox.currentText():
+ currentText = i
+ break
+ self.inputdict = self.obj.paramgetter(currentText)
+ print('mode selection ', self.inputdict)
+ self.inputparamslist()
+
+ def inputparamslist(self):
+ try:
+ print("inputparamslist ", self.inputdict)
+ for c,i in enumerate(self.inputdict):
+ if i == None:
+ continue
+ if(i=="thermoPackage"):
+ print("thermo1")
+ combo = QComboBox()
+ self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')]
+ print("thermo2")
+ for j in self.lines:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel(i+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(''), 0, 2, alignment = Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ print("thermo")
+ elif(i=="Ctype"):
+ combo = QComboBox()
+ self.lines = ["Total","Partial"]
+ for j in self.lines:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel("Condensor Type :"), 0, 0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(''), 0, 2, alignment = Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ elif(i=="x_pc"):
+ noc = len(compound_selected)
+ print(noc)
+ self.x_pclist.clear()
+ gp = QGroupBox("Compounds")
+ lay = QGridLayout()
+ for j in range(noc):
+ l = QLineEdit()
+ self.inputdict[i] = "x_pc"
+ lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment=Qt.AlignLeft)
+ lay.addWidget(l,j,1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables[i]['unit']),j,2, alignment=Qt.AlignCenter)
+ self.x_pclist.append(l)
+ gp.setLayout(lay)
+ self.formLayout.addRow(gp)
+ elif (self.obj.type == 'Mixer' and i == 'Pout'):
+ combo = QComboBox()
+ print("Mixer combo")
+ for j in self.obj.Pout_modes:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel(self.obj.variables[i]['name']+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ elif (self.obj.type == 'Splitter' and i == 'CalcType'):
+ combo = QComboBox()
+ print("Splitter combo")
+ for j in self.obj.CalcType_modes:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ stream1 = QLineEdit()
+ stream2 = QLineEdit()
+ unit = QLabel('')
+ lay = QGridLayout()
+ lay.addWidget(QLabel(self.obj.variables[i]['name']+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter)
+
+ lay.addWidget(QLabel("Stream 1 : "), 1,0, alignment = Qt.AlignLeft)
+ lay.addWidget(stream1, 1,1, alignment = Qt.AlignCenter)
+ lay.addWidget(unit, 1,2, alignment = Qt.AlignRight)
+
+ lay.addWidget(QLabel("Stream 2 : "), 2,0, alignment = Qt.AlignLeft)
+ lay.addWidget(stream2, 2,1, alignment = Qt.AlignCenter)
+ lay.addWidget(unit, 2,2, alignment = Qt.AlignRight)
+ self.formLayout.addRow(lay)
+ print("daf ", self.formLayout)
+ #combo.currentIndexChanged.connect(lambda:self.SplitterStreams(combo, lay, unit))
+ lst = [combo, stream1, stream2]
+ #lst = [combo.currentText(), stream1.text(), stream2.text()]
+ self.inputdict[i] = lst
+ # self.inputdict[i] = stream1
+ # self.inputdict[i] = stream2
+ print(self.inputdict[i])
+ elif i == 'HKey' or i == 'LKey':
+ combo = QComboBox()
+ print("ShortcutColumn combo")
+ for j in self.obj.compounds:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel(self.obj.variables[i]['name']+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ elif self.obj.type == 'CompoundSeparator' and i == 'SepStrm':
+ print(i)
+ rlay = QHBoxLayout()
+ r1 = QRadioButton('Stream 1')
+ r1.setChecked(True)
+ r2 = QRadioButton('Stream 2')
+ r2.setChecked(False)
+ rlay.addWidget(r1)
+ rlay.addWidget(r2)
+ self.formLayout.addRow(rlay)
+
+ lst = [r1, r2]
+
+ lay = QGridLayout()
+ for k,val in enumerate(self.obj.compounds):
+ combo = QComboBox()
+ print("CompoundSeparator combo")
+ for j in self.obj.SepFact_modes:
+ combo.addItem(str(j))
+ l = QLineEdit()
+ lay.addWidget(QLabel(val+" :"), k,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, k, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(l,k,2, alignment=Qt.AlignCenter)
+ lst.append(combo)
+ lst.append(l)
+ self.inputdict[i] = lst
+ self.formLayout.addRow(lay)
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ print(i)
+ # rlay = QHBoxLayout()
+ r1 = QCheckBox()
+ r1.setChecked(False)
+ r2 = QCheckBox()
+ r2.setChecked(False)
+ # rlay.addWidget(r1)
+ # rlay.addWidget(r2)
+ # self.formLayout.addRow(rlay)
+
+ l1 = QLineEdit()
+ l1.setText(str(self.obj.variables['Tdef']['value']))
+ l2 = QLineEdit()
+ l2.setText(str(self.obj.variables['Pdef']['value']))
+ lay = QGridLayout()
+ lay.addWidget(r1, 0,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['name']+":"), 0,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l1, 0, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['unit']),0,3, alignment=Qt.AlignRight)
+ l1.setDisabled(True)
+
+ lay.addWidget(r2, 2,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['name']+":"), 2,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l2, 2, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['unit']),2,3, alignment=Qt.AlignRight)
+ self.formLayout.addRow(lay)
+ l2.setDisabled(True)
+ r1.toggled.connect(lambda:l1.setDisabled(not r1.isChecked()))
+ r2.toggled.connect(lambda:l2.setDisabled(not r2.isChecked()))
+
+ self.inputdict[i] = [r1, r2, l1, l2]
+ else:
+ print("elseloop")
+ print(i)
+ if i == None:
+ continue
+ l = QLineEdit()
+ if self.inputdict[i] != None:
+ l.setText(str(self.inputdict[i]))
+ print('before lay')
+ lay = QGridLayout()
+ lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) #self.obj.variables[i]['name']
+ lay.addWidget(l,0,1, alignment=Qt.AlignCenter)
+ print('after lay')
+ if(i != 'MolFlow'):
+ lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter)
+ else:
+ lay.addWidget(QLabel('mol/s'),0,2, alignment=Qt.AlignCenter)
+ print('after all')
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = l
+
+
+ except Exception as e:
+ print(e)
+
+ def Show_Error(self):
+ QMessageBox.about(self, 'Important', "Please fill all fields with data")
+
+ def param(self):
+ try:
+ self.dict={}
+ print("param.inputdict ", self.inputdict)
+ for i in self.inputdict:
+ if (self.inputdict[i] == None):
+ continue
+
+ if(i=="thermoPackage"):
+ if (self.inputdict[i].currentText()):
+ self.dict[i] = self.inputdict[i].currentText()
+ else:
+ self.Show_Error()
+ break
+ elif(i=="Ctype"):
+ if (self.inputdict[i].currentText()):
+ self.dict[i] = self.inputdict[i].currentText()
+ else:
+ self.Show_Error()
+ break
+ elif(i =="x_pc"):
+ l=[]
+ mf = []
+ total_moles = 0
+ for mol_frac in self.x_pclist:
+ if (mol_frac.text()):
+ l.append(mol_frac.text())
+ total_moles += float(l[-1])
+ else:
+ self.Show_Error()
+ break
+ for c in range(len(compound_selected)):
+ mf.append(str(float(l[c])/total_moles))
+ self.x_pclist[c].setText(mf[-1])
+ self.dict[i] = ",".join(mf)
+ elif(i == 'Pout' and self.obj.type == 'Mixer' or i == '' or i == 'HKey' or i == 'LKey'):
+ self.dict[i] = self.inputdict[i].currentText()
+ elif i == 'CalcType' and self.obj.type == 'Splitter':
+ self.dict[i] = [self.inputdict[i][0].currentText(), self.inputdict[i][1].text(), self.inputdict[i][2].text()]
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ self.dict[i] = [self.inputdict[i][0].isChecked(), self.inputdict[i][1].isChecked(), self.inputdict[i][2].text(), self.inputdict[i][3].text()]
+ elif self.obj.type == 'CompoundSeparator':
+ self.dict[i] = [self.inputdict[i][0].isChecked(),self.inputdict[i][1].isChecked()]
+ j = 2
+ for comp in self.obj.compounds:
+ self.dict[i].append(self.inputdict[i][j].currentText())
+ self.dict[i].append(self.inputdict[i][j+1].text())
+ j += 2
+ else:
+ print(self.inputdict[i], i, self.obj.type)
+ if (self.inputdict[i].text()):
+ self.dict[i] = self.inputdict[i].text()
+ else:
+ print(self.inputdict[i].text())
+ self.Show_Error()
+ break
+
+ print("param ", self.dict)
+ self.obj.paramsetter(self.dict)
+ self.hide()
+
+ except Exception as e:
+ print(e)
+
+
+ @staticmethod
+ def showResult(lst):
+ #DockWidget1.flag = True
+ for i in lst:
+ i.resultsCategory(i.name)
+ #i.show()
+
+ # result data tab
+ def resultsCategory(self,name):
+ flag = True
+ try:
+ print("Under result category name ", name)
+ result=self.container.result
+ obj = self.container.fetchObject(name)
+
+ d = {"Mole Fraction":"x_pc", "Mass Fraction":"xm_pc", "Mole Flow":"F_pc", "Mass Flow":"Fm_pc"}
+ lst = list(d.keys())
+ klst = list(d.values())
+
+ p = {"Pressure":"P", "Temperature":"T","Vapour Phase Mole Fraction":"xvap", "Phase Molar Enthalpy":"H_p",
+ "Phase Molar Entropy":"S_p", "Molar Flow Rate":"F_p"}
+
+ # Amounts Tab
+ if obj.type == 'MaterialStream':
+ l = [] # list for basis names
+ for basis in d:
+ propertyname = name + '.' + d[basis]
+ print("basis ", basis, propertyname)
+ for i in result[0]:
+ if (propertyname in i):
+ l.append(i)
+ print(l)
+
+ j = 0
+ t = 0
+ namee = klst[j]
+ print("namee ", namee)
+
+ for i,k in enumerate(l):
+ ind = result[0].index(k)
+ print("index ", ind)
+ print("str ", k)
+ resultval = str(result[-1][ind])
+ print("######Resultsfetch####",resultval)
+ print(k[k.find(".")+1:k.find("[")])
+ obj.variables[k.split('.')[1]]['value'] = resultval
+ if namee in k:
+ if i%3 == 0:
+ if(flag):
+ mroot = QTreeWidgetItem(self.mTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(mroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ elif i%3 == 1:
+ if(flag):
+ lroot = QTreeWidgetItem(self.lTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(lroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ elif i%3 == 2:
+ if (flag):
+ vroot = QTreeWidgetItem(self.vTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(vroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ t += 1
+ flag = False
+ else:
+ j += 1
+ t = 0
+ namee = klst[j]
+ flag = True
+ if i%3 == 0:
+ if (flag):
+ mroot = QTreeWidgetItem(self.mTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(mroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ elif i%3 == 1:
+ if (flag):
+ lroot = QTreeWidgetItem(self.lTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(lroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ elif i%3 == 2:
+ if (flag):
+ vroot = QTreeWidgetItem(self.vTreeWidget, [lst[j]])
+ child = QTreeWidgetItem(vroot, [compound_selected[t], str(resultval),obj.variables[k.split('.')[1]]['unit']])
+ t += 1
+ flag = False
+ #print(obj.variables)
+
+ # Phase Properties Tab
+ phaseResLst = []
+ for phase in p:
+ propertyname = name + '.' + p[phase]
+ print("phase ", phase, propertyname)
+ for i in result[0]:
+ if i.find('['):
+ if (propertyname == i[0:i.find('[')]):
+ phaseResLst.append(i)
+ if propertyname == i:
+ phaseResLst.append(i)
+ print(phaseResLst)
+
+ self.mTableWidget.setRowCount(0)
+ self.lTableWidget.setRowCount(0)
+ self.vTableWidget.setRowCount(0)
+
+ for i,val in enumerate(phaseResLst):
+ ind = result[0].index(val)
+ resultval = str(result[-1][ind])
+ print(resultval, i, val)
+ obj.variables[val.split('.')[1]]['value'] = resultval
+ if '[' in val:
+ print(val)
+ temp = val[val.find('.')+1:val.find('[')]
+ print(temp)
+ if '1' in val.split('.')[1]:
+ print(obj.variables[val.split('.')[1]]['name'])
+ mrowPosition = self.mTableWidget.rowCount()
+ self.mTableWidget.insertRow(mrowPosition)
+ self.mTableWidget.setItem(mrowPosition , 0, QTableWidgetItem(obj.variables[val.split('.')[1]]['name']))
+ self.mTableWidget.setItem(mrowPosition , 1, QTableWidgetItem(resultval))
+ self.mTableWidget.setItem(mrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit']))
+ self.mTableWidget.resizeColumnsToContents()
+
+ if '2' in val.split('.')[1]:
+ lrowPosition = self.lTableWidget.rowCount()
+ self.lTableWidget.insertRow(lrowPosition)
+ self.lTableWidget.setItem(lrowPosition , 0, QTableWidgetItem(obj.variables[val.split('.')[1]]['name']))
+ self.lTableWidget.setItem(lrowPosition , 1, QTableWidgetItem(resultval))
+ self.lTableWidget.setItem(lrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit']))
+ self.lTableWidget.resizeColumnsToContents()
+ if '3' in val.split('.')[1]:
+ vrowPosition = self.vTableWidget.rowCount()
+ self.vTableWidget.insertRow(vrowPosition)
+ self.vTableWidget.setItem(vrowPosition , 0, QTableWidgetItem(obj.variables[val.split('.')[1]]['name']))
+ self.vTableWidget.setItem(vrowPosition , 1, QTableWidgetItem(resultval))
+ self.vTableWidget.setItem(vrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit']))
+ self.vTableWidget.resizeColumnsToContents()
+ if not '[' in val:
+ #print(p[val.split('.')[1]])
+ print(obj.variables[val.split('.')[1]]['name'])
+ mrowPosition = self.mTableWidget.rowCount()
+ self.mTableWidget.insertRow(mrowPosition)
+ self.mTableWidget.setItem(mrowPosition , 0, QTableWidgetItem(obj.variables[val.split('.')[1]]['name']))
+ self.mTableWidget.setItem(mrowPosition , 1, QTableWidgetItem(resultval))
+ self.mTableWidget.setItem(mrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit']))
+ self.mTableWidget.resizeColumnsToContents()
+
+ print(obj.variables)
+
+ except Exception as e:
+ print(e)
+
+
+class DockWidgetFlash(DockWidget):
+
+ def __init__(self,name,comptype,obj,container,parent=None):
+ DockWidget.__init__(self,name,comptype,obj,container,parent=None)
+
+ def inputparamslist(self):
+ try:
+ print("inputparamslist ", self.inputdict)
+ for c,i in enumerate(self.inputdict):
+ if i == None:
+ continue
+ if(i=="thermoPackage"):
+ print("thermo1")
+ combo = QComboBox()
+ self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')]
+ print("thermo2")
+ for j in self.lines:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel(i+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(''), 0, 2, alignment = Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ print("thermo")
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ print(i)
+ r1 = QCheckBox()
+ r1.setChecked(False)
+ r2 = QCheckBox()
+ r2.setChecked(False)
+
+ l1 = QLineEdit()
+ l1.setText(str(self.obj.variables['Tdef']['value']))
+ l2 = QLineEdit()
+ l2.setText(str(self.obj.variables['Pdef']['value']))
+ lay = QGridLayout()
+ lay.addWidget(r1, 0,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['name']+":"), 0,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l1, 0, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['unit']),0,3, alignment=Qt.AlignRight)
+ l1.setDisabled(True)
+
+ lay.addWidget(r2, 2,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['name']+":"), 2,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l2, 2, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['unit']),2,3, alignment=Qt.AlignRight)
+ self.formLayout.addRow(lay)
+ l2.setDisabled(True)
+ r1.toggled.connect(lambda:l1.setDisabled(not r1.isChecked()))
+ r2.toggled.connect(lambda:l2.setDisabled(not r2.isChecked()))
+
+ self.inputdict[i] = [r1, r2, l1, l2]
+ except Exception as e:
+ print(e)
+
+ def param(self):
+ try:
+ self.dict={}
+ print("param.inputdict ", self.inputdict)
+ for i in self.inputdict:
+ if (self.inputdict[i] == None):
+ continue
+
+ if(i=="thermoPackage"):
+ if (self.inputdict[i].currentText()):
+ self.dict[i] = self.inputdict[i].currentText()
+ else:
+ self.Show_Error()
+ break
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ self.dict[i] = [self.inputdict[i][0].isChecked(), self.inputdict[i][1].isChecked(), self.inputdict[i][2].text(), self.inputdict[i][3].text()]
+
+ print("param ", self.dict)
+ self.obj.paramsetter(self.dict)
+ self.hide()
+
+ except Exception as e:
+ print(e)
+
+class DockWidgetFlash(DockWidget):
+
+ def __init__(self,name,comptype,obj,container,parent=None):
+ DockWidget.__init__(self,name,comptype,obj,container,parent=None)
+
+ def inputparamslist(self):
+ try:
+ print("inputparamslist ", self.inputdict)
+ for c,i in enumerate(self.inputdict):
+ if i == None:
+ continue
+ if(i=="thermoPackage"):
+ print("thermo1")
+ combo = QComboBox()
+ self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')]
+ print("thermo2")
+ for j in self.lines:
+ combo.addItem(str(j))
+ combo.setMinimumContentsLength(15)
+ lay = QGridLayout()
+ lay.addWidget(QLabel(i+":"), 0,0, alignment=Qt.AlignLeft)
+ lay.addWidget(combo, 0, 1, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(''), 0, 2, alignment = Qt.AlignCenter)
+ self.formLayout.addRow(lay)
+ self.inputdict[i] = combo
+ print("thermo")
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ print(i)
+ r1 = QCheckBox()
+ r1.setChecked(False)
+ r2 = QCheckBox()
+ r2.setChecked(False)
+
+ l1 = QLineEdit()
+ l1.setText(str(self.obj.variables['Tdef']['value']))
+ l2 = QLineEdit()
+ l2.setText(str(self.obj.variables['Pdef']['value']))
+ lay = QGridLayout()
+ lay.addWidget(r1, 0,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['name']+":"), 0,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l1, 0, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Tdef']['unit']),0,3, alignment=Qt.AlignRight)
+ l1.setDisabled(True)
+
+ lay.addWidget(r2, 2,0, alignment = Qt.AlignLeft)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['name']+":"), 2,1, alignment=Qt.AlignLeft)
+ lay.addWidget(l2, 2, 2, alignment=Qt.AlignCenter)
+ lay.addWidget(QLabel(self.obj.variables['Pdef']['unit']),2,3, alignment=Qt.AlignRight)
+ self.formLayout.addRow(lay)
+ l2.setDisabled(True)
+ r1.toggled.connect(lambda:l1.setDisabled(not r1.isChecked()))
+ r2.toggled.connect(lambda:l2.setDisabled(not r2.isChecked()))
+
+ self.inputdict[i] = [r1, r2, l1, l2]
+ except Exception as e:
+ print(e)
+
+ def param(self):
+ try:
+ self.dict={}
+ print("param.inputdict ", self.inputdict)
+ for i in self.inputdict:
+ if (self.inputdict[i] == None):
+ continue
+
+ if(i=="thermoPackage"):
+ if (self.inputdict[i].currentText()):
+ self.dict[i] = self.inputdict[i].currentText()
+ else:
+ self.Show_Error()
+ break
+ elif self.obj.type == 'Flash' and i == 'Bdef':
+ self.dict[i] = [self.inputdict[i][0].isChecked(), self.inputdict[i][1].isChecked(), self.inputdict[i][2].text(), self.inputdict[i][3].text()]
+
+ print("param ", self.dict)
+ self.obj.paramsetter(self.dict)
+ self.hide()
+
+ except Exception as e:
+ print(e) \ No newline at end of file