diff options
author | brenda-br | 2023-01-24 21:06:02 +0530 |
---|---|---|
committer | brenda-br | 2023-01-24 21:06:02 +0530 |
commit | 28ce37268a1041818be036f4f9111075afd0c9e6 (patch) | |
tree | 22da97e7dee39f732df40172df6750955d2ba022 | |
parent | 380010f100ec1d9a40f2c94e41a21d23da579b2e (diff) | |
download | Chemical-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.py | 60 | ||||
-rw-r--r-- | DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc | bin | 3614 -> 4104 bytes | |||
-rw-r--r-- | DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc | bin | 9127 -> 9127 bytes | |||
-rw-r--r-- | Undo.dat | bin | 3471 -> 1034 bytes | |||
-rw-r--r-- | UnitOperations.py | 8 |
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 Binary files differindex db18769..02a92b4 100644 --- a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc +++ b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc diff --git a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc Binary files differBinary files differindex c4f7e2f..78fd42a 100644 --- a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc +++ b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc 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] |