summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrenda-br2023-01-24 21:06:02 +0530
committerbrenda-br2023-01-24 21:06:02 +0530
commit28ce37268a1041818be036f4f9111075afd0c9e6 (patch)
tree22da97e7dee39f732df40172df6750955d2ba022
parent380010f100ec1d9a40f2c94e41a21d23da579b2e (diff)
downloadChemical-Simulator-GUI-28ce37268a1041818be036f4f9111075afd0c9e6.tar.gz
Chemical-Simulator-GUI-28ce37268a1041818be036f4f9111075afd0c9e6.tar.bz2
Chemical-Simulator-GUI-28ce37268a1041818be036f4f9111075afd0c9e6.zip
Fix #34 Compounds updated in compound separator dock widget
-rw-r--r--DockWidgets/DockWidgetCompoundSeparator.py60
-rw-r--r--DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pycbin3614 -> 4104 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pycbin9127 -> 9127 bytes
-rw-r--r--Undo.datbin3471 -> 1034 bytes
-rw-r--r--UnitOperations.py8
5 files changed, 47 insertions, 21 deletions
diff --git a/DockWidgets/DockWidgetCompoundSeparator.py b/DockWidgets/DockWidgetCompoundSeparator.py
index 69b2770..8fcee39 100644
--- a/DockWidgets/DockWidgetCompoundSeparator.py
+++ b/DockWidgets/DockWidgetCompoundSeparator.py
@@ -20,15 +20,16 @@ class DockWidgetCompoundSeparator(QDockWidget,ui_dialog):
self.obj=obj
self.type = comptype
self.input_dict = []
-
+ self.lst = []
self.input_params_list()
self.dict = []
def input_params_list(self):
try:
if self.type == 'CompoundSeparator':
- calculationGroupBox = QGroupBox('Calculation Parameters')
- calculationLayout = QGridLayout()
+ self.lst.clear()
+ self.calculationGroupBox = QGroupBox('Calculation Parameters')
+ self.calculationLayout = QGridLayout()
r1 = QRadioButton('Stream 1')
r1.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
@@ -42,37 +43,37 @@ class DockWidgetCompoundSeparator(QDockWidget,ui_dialog):
r2.setChecked(True)
- lst = [r1, r2]
- calculationLayout.addWidget(r1, 0, 1)
- calculationLayout.addWidget(r2, 0, 2)
+ self.lst = [r1, r2]
+ self.calculationLayout.addWidget(r1, 0, 1)
+ self.calculationLayout.addWidget(r2, 0, 2)
for k,val in enumerate(self.obj.compounds):
combo = QComboBox()
- print("CompoundSeparator combo")
+ #print("CompoundSeparator combo")
for j in self.obj.SepFact_modes:
combo.addItem(str(j))
- print(self.obj.variables['SepFact_c']['value'][k])
+ #print(self.obj.variables['SepFact_c']['value'][k])
combo.setCurrentText(self.obj.variables['SepFact_c']['value'][k])
combo.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
l = QLineEdit(str(self.obj.variables['SepVal_c']['value'][k]))
l.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
- calculationLayout.addWidget(QLabel(val+" :"), k+1,0, alignment=Qt.AlignLeft)
- calculationLayout.addWidget(combo, k+1, 1, alignment=Qt.AlignCenter)
- calculationLayout.addWidget(l,k+1,2, alignment=Qt.AlignCenter)
- lst.append(combo)
- lst.append(l)
+ self.calculationLayout.addWidget(QLabel(val+" :"), k+1,0, alignment=Qt.AlignLeft)
+ self.calculationLayout.addWidget(combo, k+1, 1, alignment=Qt.AlignCenter)
+ self.calculationLayout.addWidget(l,k+1,2, alignment=Qt.AlignCenter)
+ self.lst.append(combo)
+ self.lst.append(l)
- calculationLayout.setColumnStretch(3, len(self.obj.compounds)+1)
- calculationGroupBox.setLayout(calculationLayout)
+ self.calculationLayout.setColumnStretch(3, len(self.obj.compounds)+1)
+ self.calculationGroupBox.setLayout(self.calculationLayout)
btn = QPushButton('Submit')
btn.clicked.connect(self.param)
self.gridLayout.setVerticalSpacing(5)
- self.gridLayout.addWidget(calculationGroupBox,0,0)
+ self.gridLayout.addWidget(self.calculationGroupBox,0,0)
self.gridLayout.addWidget(btn,1,0)
- self.input_dict = lst
+ self.input_dict = self.lst
except Exception as e:
print(e)
@@ -80,6 +81,22 @@ class DockWidgetCompoundSeparator(QDockWidget,ui_dialog):
def show_error(self):
QMessageBox.about(self, 'Important', "Please fill all fields with data")
+ def update_compounds(self):
+ try:
+ self.obj.init_variables()
+ t_item = self.calculationGroupBox.layout().itemAt(0)
+ self.calculationGroupBox.layout().removeItem(t_item)
+ while(t_item):
+ t_widget = t_item.widget()
+ if(t_widget):
+ t_widget.setHidden(True)
+ self.calculationGroupBox.layout().removeWidget(t_widget)
+ t_item = self.calculationGroupBox.layout().itemAt(0)
+ self.input_params_list()
+ except Exception as e:
+ print(e)
+
+
def param(self):
try:
self.dict=[]
@@ -87,10 +104,13 @@ class DockWidgetCompoundSeparator(QDockWidget,ui_dialog):
self.dict = [self.input_dict[0].isChecked(), self.input_dict[1].isChecked()]
j = 2
for i in range(len(self.obj.compounds)):
- print(j+i)
self.dict.append(self.input_dict[j+i].currentText())
- self.dict.append(self.input_dict[j+i+1].text())
- j += 1
+ if(self.input_dict[j+i+1].text()):
+ self.dict.append(self.input_dict[j+i+1].text())
+ j += 1
+ else:
+ self.show_error()
+
self.obj.param_setter(self.dict)
self.hide()
diff --git a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
index db18769..02a92b4 100644
--- a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
index c4f7e2f..78fd42a 100644
--- a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
Binary files differ
diff --git a/Undo.dat b/Undo.dat
index 435cb62..ba45f2a 100644
--- a/Undo.dat
+++ b/Undo.dat
Binary files differ
diff --git a/UnitOperations.py b/UnitOperations.py
index da01df0..064b2da 100644
--- a/UnitOperations.py
+++ b/UnitOperations.py
@@ -447,7 +447,13 @@ class CompoundSeparator(UnitOperation):
'SepVal_c' : {'name':'Separation Value', 'value':['']*len(self.compounds), 'unit':''},
'SepFact_c' : {'name':'Separaction Factor', 'value':['']*len(self.compounds), 'unit':''},
}
-
+
+ def init_variables(self):
+ self.variables = {
+ 'SepStrm' : {'name':'Separation Stream', 'value':1, 'unit':''},
+ 'SepVal_c' : {'name':'Separation Value', 'value':['']*len(self.compounds), 'unit':''},
+ 'SepFact_c' : {'name':'Separaction Factor', 'value':['']*len(self.compounds), 'unit':''},
+ }
def update_compounds(self):
self.compounds = [c[:c.index('(')] for c in compound_selected]