From d476d2e053f937c0060f696312f301591e4f43ea Mon Sep 17 00:00:00 2001 From: brenda-br Date: Thu, 23 Feb 2023 22:14:39 +0530 Subject: Restructure Code -1 --- .../DistillationColumnStagewiseResults.py | 18 + src/main/python/DockWidgets/DockWidget.py | 167 +++++++++ .../DockWidgets/DockWidgetCompoundSeparator.py | 133 ++++++++ .../DockWidgets/DockWidgetCompressorExpander.py | 166 +++++++++ .../DockWidgets/DockWidgetDistillationColumn.py | 375 +++++++++++++++++++++ src/main/python/DockWidgets/DockWidgetFlash.py | 86 +++++ .../python/DockWidgets/DockWidgetMaterialStream.py | 373 ++++++++++++++++++++ src/main/python/DockWidgets/DockWidgetMixer.py | 66 ++++ .../python/DockWidgets/DockWidgetShortcutColumn.py | 148 ++++++++ src/main/python/DockWidgets/DockWidgetSplitter.py | 85 +++++ src/main/python/DockWidgets/__init__.py | 0 ...stillationColumnStagewiseResults.cpython-36.pyc | Bin 0 -> 767 bytes ...stillationColumnStagewiseResults.cpython-37.pyc | Bin 0 -> 946 bytes .../__pycache__/DockWidget.cpython-36.pyc | Bin 0 -> 4404 bytes .../__pycache__/DockWidget.cpython-37.pyc | Bin 0 -> 4934 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 0 -> 3271 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 0 -> 4422 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 0 -> 5450 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 0 -> 5657 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 0 -> 9874 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 0 -> 10480 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 0 -> 2871 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 0 -> 3521 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 0 -> 8673 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 0 -> 9641 bytes .../__pycache__/DockWidgetMixer.cpython-36.pyc | Bin 0 -> 2057 bytes .../__pycache__/DockWidgetMixer.cpython-37.pyc | Bin 0 -> 2707 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 0 -> 5015 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 0 -> 5671 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 0 -> 2689 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 0 -> 3342 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 208 bytes 32 files changed, 1617 insertions(+) create mode 100644 src/main/python/DockWidgets/DistillationColumnStagewiseResults.py create mode 100644 src/main/python/DockWidgets/DockWidget.py create mode 100644 src/main/python/DockWidgets/DockWidgetCompoundSeparator.py create mode 100644 src/main/python/DockWidgets/DockWidgetCompressorExpander.py create mode 100644 src/main/python/DockWidgets/DockWidgetDistillationColumn.py create mode 100644 src/main/python/DockWidgets/DockWidgetFlash.py create mode 100644 src/main/python/DockWidgets/DockWidgetMaterialStream.py create mode 100644 src/main/python/DockWidgets/DockWidgetMixer.py create mode 100644 src/main/python/DockWidgets/DockWidgetShortcutColumn.py create mode 100644 src/main/python/DockWidgets/DockWidgetSplitter.py create mode 100644 src/main/python/DockWidgets/__init__.py create mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py b/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py new file mode 100644 index 0000000..65527dc --- /dev/null +++ b/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py @@ -0,0 +1,18 @@ +import os, sys +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.uic import loadUiType +from PyQt5.QtWidgets import QWidget + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DistillationColumnStagewiseResults.ui') + + +class DistillationColumnStagewiseResults(QWidget,ui_dialog): + + def __init__(self, parent=None): + QWidget.__init__(self, parent) + self.setupUi(self) + # self.setWindowTitle(self.parent.obj.name) diff --git a/src/main/python/DockWidgets/DockWidget.py b/src/main/python/DockWidgets/DockWidget.py new file mode 100644 index 0000000..a97212a --- /dev/null +++ b/src/main/python/DockWidgets/DockWidget.py @@ -0,0 +1,167 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/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.input_dict = {} + self.modes() + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + print("constructor ", self.input_dict) + self.pushButton_2.clicked.connect(self.param) + + self.dict = {} # a dictionary + self.container = container + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(self.obj.variables[j]['name'])) + self.comboBox.setCurrentText(self.obj.variables[self.obj.mode]['name']) + self.mode_selection() + else: + self.comboBox.setDisabled(True) + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + 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.input_dict = self.obj.param_getter(currentText) + print('mode selection ', self.input_dict) + self.input_params_list() + + def input_params_list(self): + try: + print("input_params_list ", self.input_dict) + for c,i in enumerate(self.input_dict): + #print(i) + if i == None: + continue + l = QLineEdit(str(self.obj.variables[i]['value'])) + lay = QGridLayout() + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter) + self.formLayout.addRow(lay) + self.input_dict[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.input_dict ", self.input_dict) + for i in self.input_dict: + if (self.input_dict[i] == None): + continue + else: + #print(self.input_dict[i], i, self.obj.type) + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + #print(self.input_dict[i].text()) + self.show_error() + break + + #print("param ", self.dict) + self.obj.param_setter(self.dict) + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = list(obj.variables.keys()) + #print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + #print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + #print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + # Updating result in class + obj.variables[val]['value'] = resultval + # try: + # if obj.type == "Heater": + # print(obj.variables[val]['name'] + str(obj.variables[val]['value'])) + # except Exception as e: + # print(e) + + + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py new file mode 100644 index 0000000..4ae503a --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py @@ -0,0 +1,133 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +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 python.utils.ComponentSelector import * +from collections import defaultdict +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompoundSeparator.ui') + +class DockWidgetCompoundSeparator(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.input_dict = [] + self.lst = [] + self.input_params_list() + self.dict = [] + + def input_params_list(self): + try: + if self.type == 'CompoundSeparator': + self.lst.clear() + self.calculationGroupBox = QGroupBox('Calculation Parameters') + self.calculationLayout = QGridLayout() + + r1 = QRadioButton('Stream 1') + r1.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + r2 = QRadioButton('Stream 2') + r2.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + if self.obj.variables['SepStrm']['value'] == 1: + r1.setChecked(True) + r2.setChecked(False) + else: + r1.setChecked(False) + r2.setChecked(True) + + + 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") + for j in self.obj.SepFact_modes: + combo.addItem(str(j)) + #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) + 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) + + 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(self.calculationGroupBox,0,0) + self.gridLayout.addWidget(btn,1,0) + + self.input_dict = self.lst + + except Exception as e: + print(e) + + 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=[] + + self.dict = [self.input_dict[0].isChecked(), self.input_dict[1].isChecked()] + j = 2 + for i in range(len(self.obj.compounds)): + self.dict.append(self.input_dict[j+i].currentText()) + 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) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py new file mode 100644 index 0000000..2439801 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py @@ -0,0 +1,166 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompressorExpander.ui') + +class DockWidgetCompressorExpander(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.input_dict = {} + self.x_pclist = [] + self.modes() + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + self.pushButton_2.clicked.connect(self.param) + self.dict = {} + + self.name_type = None + self.container = container + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(self.obj.variables[j]['name'])) + self.mode_selection() + else: + self.comboBox.setDisabled(True) + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + 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.input_dict = self.obj.param_getter(currentText) + print('mode selection ', self.input_dict) + self.input_params_list() + + def input_params_list(self): + try: + print("input_params_list ", self.input_dict) + for c,i in enumerate(self.input_dict): + if i == None: + continue + + l = QLineEdit() + if self.input_dict[i] != None: + l.setText(str(self.input_dict[i])) + lay = QGridLayout() + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter) + + self.formLayout.addRow(lay) + self.input_dict[i] = l + + self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + for j in self.lines: + self.cbTP.addItem(str(j)) + self.input_dict['Thermo Package'] = self.cbTP + + 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={} + for i in self.input_dict: + if (self.input_dict[i] == None): + continue + elif (i == "Thermo Package"): + self.dict[i] = self.input_dict[i].currentText() + else: + print(self.input_dict[i], i, self.obj.type) + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + print(self.input_dict[i].text()) + self.show_error() + break + + self.obj.param_setter(self.dict) + + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = list(obj.variables.keys()) + print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py new file mode 100644 index 0000000..cf71f58 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py @@ -0,0 +1,375 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +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 collections import defaultdict + +from python.utils.ComponentSelector import * +from python.DockWidgets.DistillationColumnStagewiseResults import DistillationColumnStagewiseResults +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetDistillationColumn.ui') + + +class DockWidgetDistillationColumn(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.input_dict = [] + self.pushButton_2.clicked.connect(self.param) + self.dict = [] + self.input_params_list() + self.name_type = None + self.container = container + self.stage_res_table = DistillationColumnStagewiseResults() + self.stageResultsButton.clicked.connect(self.showStagewiseResults) + + # input data tab + + def input_params_list(self): + try: + print("input_params_list ", self.input_dict) + + # tab 1 + + l1 = QLineEdit() + l1.setText(str(self.obj.variables['Nt']['value'])) + self.lay1.addWidget(QLabel(self.obj.variables['Nt']['name'] + " :"), 0 ,0, alignment=Qt.AlignLeft) + self.lay1.addWidget(l1,0,1, alignment=Qt.AlignLeft) + self.input_dict.append(l1) + + for i in range(self.obj.variables['Ni']['value']): + print(i) + l = QLineEdit() + if len(self.obj.variables['InT_s']['value']) is not 0: + l.setText(str(self.obj.variables['InT_s']['value'][i])) + self.lay1.addWidget(QLabel(self.obj.variables['InT_s']['name'] +" " + str(i+1) + " location :"),2*(i+1),0, alignment=Qt.AlignLeft) + self.lay1.addWidget(l,2*(i+1),1, alignment=Qt.AlignLeft) + self.input_dict.append(l) + + # tab 2 + self.l4.setText(self.obj.variables['Ctype']['name']+":") + + self.u1.setText(self.obj.variables['Ctype']['unit']) + self.l5.setText(self.obj.variables['Pcond']['name']+":") + self.le5.setText(str(self.obj.variables['Pcond']['value'])) + self.u2.setText(self.obj.variables['Pcond']['unit']) + self.l6.setText(self.obj.variables['C_Spec']['name']+":") + self.le6.setText(str(self.obj.variables['C_Spec']['value'])) + self.l7.setText("Compounds :") + + self.cb5.addItem("Total") + self.cb5.addItem("Partial") + self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) + for j in self.obj.Cspec_list: + self.cb1.addItem(str(j)) + self.cb1.setCurrentText(self.obj.variables['C_Spec']['type']) + for j in self.obj.compounds: + self.cb2.addItem(str(j)) + self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) + + self.cb2.setDisabled(True) + self.cb1.currentIndexChanged.connect(self.fun2) + + self.input_dict.append(self.cb5) + self.input_dict.append(self.le5) + self.input_dict.append(self.cb1) + self.input_dict.append(self.cb2) + self.input_dict.append(self.le6) + + # tab3 + self.l8.setText(self.obj.variables['Preb']['name']+":") + self.le7.setText(str(self.obj.variables['Preb']['value'])) + self.u3.setText(self.obj.variables['Preb']['unit']) + self.l9.setText(self.obj.variables['R_Spec']['name']+":") + self.le8.setText(str(self.obj.variables['R_Spec']['value'])) + self.l10.setText('Compounds') + + for j in self.obj.Rspec_list: + self.cb3.addItem(str(j)) + self.cb3.setCurrentText(self.obj.variables['R_Spec']['type']) + for j in self.obj.compounds: + self.cb4.addItem(str(j)) + self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) + self.cb4.setDisabled(True) + self.cb3.currentIndexChanged.connect(self.fun3) + + self.input_dict.append(self.le7) + self.input_dict.append(self.cb3) + self.input_dict.append(self.cb4) + self.input_dict.append(self.le8) + + self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + for j in self.lines: + self.cbTP.addItem(str(j)) + self.cbTP.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.input_dict.append(self.cbTP) + + # self.input_dict = [self.le1, self.le2, self.le3, self.cb5, self.le5, self.cb1, self.cb2, self.le6, self.le7, self.cb3, self.cb4, self.le8] + + except Exception as e: + print(e) + + def update_compounds(self): + self.cb2.clear() + self.cb4.clear() + for j in self.obj.compounds: + self.cb2.addItem(str(j)) + self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) + for j in self.obj.compounds: + self.cb4.addItem(str(j)) + self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) + + def fun2(self): + if self.cb1.currentText() == 'Compound Molar Fraction' or self.cb1.currentText() == 'Compound Molar Flow (mol/s)': + self.cb2.setDisabled(False) + else: + self.cb2.setDisabled(True) + + def fun3(self): + if self.cb3.currentText() == 'Compound Molar Fraction' or self.cb3.currentText() == 'Compound Molar Flow (mol/s)': + self.cb4.setDisabled(False) + else: + self.cb4.setDisabled(True) + + def Show_Error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict= [] + temp = 0 + print("param.input_dict ", self.input_dict) + self.dict.append(int(self.input_dict[0].text())) + + for i in range(self.obj.variables['Ni']['value']): + self.dict.append(int(self.input_dict[i+1].text())) + temp = i + 1 + print(temp) + + print(temp) + print(self.input_dict[temp+1]) + self.dict.append(self.input_dict[temp+1].currentText()) + print(temp+1) + self.dict.append(int(self.input_dict[temp+2].text())) + print(temp+2) + self.dict.append(self.input_dict[temp+3].currentText()) + print(temp+3) + self.dict.append(self.input_dict[temp+4].currentText()) + print(temp+4) + self.dict.append(int(self.input_dict[temp+5].text())) + print(temp+5) + self.dict.append(int(self.input_dict[temp+6].text())) + print(temp+6) + self.dict.append(self.input_dict[temp+7].currentText()) + print(temp+7) + self.dict.append(self.input_dict[temp+8].currentText()) + print(temp+8) + self.dict.append(int(self.input_dict[temp+9].text())) + print(temp+9) + self.dict.append(self.input_dict[temp+10].currentText()) + print(temp + 10) + + print("param ", self.dict) + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def showStagewiseResults(self): + self.stage_res_table.show() + + @staticmethod + def showResult(lst): + # DockWidget1.flag = True + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + self.stage_res_table.T_table.setRowCount(0) + self.stage_res_table.T_table.setColumnCount(0) + self.stage_res_table.x_pc_table.setRowCount(0) + self.stage_res_table.x_pc_table.setColumnCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + print("Under result category name ", name) + result = self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = obj.result_parameters + print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + print(i, val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + obj.variables[val]['value'] = result[-1][ind] + print("######Resultsfetch####", val, resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition, 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition, 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition, 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + # Stagewise Results + Nt = self.obj.variables['Nt']['value'] + Nc = len(self.obj.compounds) + # initializing temporary arrays + Stages_T = [None for i in range(Nt)] + # Can be uncommented when F_p and F_pc implemented in modelica table + # Stages_F_p = [[None for i in range(3)] for j in range(Nt)] + # Stages_F_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] + Stages_x_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] + + Stages_res_varikeys = ['T'] + for i in range(Nc): + for j in range(3): + Stages_res_varikeys.append('x_pc[' + str(j + 1) + ',' + str(i + 1) + ']') + + for v in Stages_res_varikeys: + propertyname = name + '.condenser.' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[0] = result[-1][ind] + # Can be uncommented when F_p is implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[0][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[0][1] = result[-1][ind] + # else: + # Stages_F_p[0][2] = result[-1][ind] + else: + print(ind) + phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) + comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) + Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented and improved when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + + for i in range(1, Nt - 1): + propertyname = name + '.tray[' + str(i) + '].' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[i] = result[-1][ind] + # Can be uncommented when F_p implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[i][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[i][1] = result[-1][ind] + # else: + # Stages_F_p[i][2] = result[-1][ind] + else: + print(ind) + print(result[0][ind]) + phase_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index('[') + 1]) + comp_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index(']') - 1]) + Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + + propertyname = name + '.reboiler.' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[-1] = result[-1][ind] + # Can be uncommented when F_p implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[-1][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[-1][1] = result[-1][ind] + # else: + # Stages_F_p[-1][2] = result[-1][ind] + else: + print(ind) + phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) + comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) + Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + + # Assigning temp variables to obj variabes + self.obj.variables['Stages.T']['value'] = Stages_T + # Can be uncommented when F_p and F_pc implemented in modelica model + # self.obj.variables['Stages.F_p']['value'] = Stages_F_p + # self.obj.variables['Stages.F_pc']['value'] = Stages_F_pc + self.obj.variables['Stages.x_pc']['value'] = Stages_x_pc + + # filling stagewise result table + tables = [self.stage_res_table.T_table, self.stage_res_table.x_pc_table] + # Can be uncommented when F_p and F_pc implemented in modelica model + # tables = [self.stage_res_table.T_table, self.stage_res_table.F_p_table, self.stage_res_table.F_pc_table, self.stage_res_table.x_pc_table] + + for t in tables: + t.setRowCount(Nt) + t.setVerticalHeaderItem(0, QTableWidgetItem('Condenser')) + t.setVerticalHeaderItem(Nt -1, QTableWidgetItem('Reboiler')) + for i in range(1, Nt - 1): + t.setVerticalHeaderItem(i, QTableWidgetItem('Stage ' + str(i))) + + T_table = self.stage_res_table.T_table + T_table.setColumnCount(1) + for i in range(Nt): + T_table.setItem(i, 0, QTableWidgetItem(Stages_T[i])) + + x_pc_table = self.stage_res_table.x_pc_table + x_pc_table.setColumnCount(2*Nc) + for i in range(Nc): + x_pc_table.setHorizontalHeaderItem(2*i, QTableWidgetItem(self.obj.compounds[i] + '(Vapor)')) + x_pc_table.setHorizontalHeaderItem(2*i + 1, QTableWidgetItem(self.obj.compounds[i] + '(Liquid)')) + + for i in range(Nt): + for j in range(Nc): + x_pc_table.setItem(i, 2*j, QTableWidgetItem(Stages_x_pc[i][j][1])) + x_pc_table.setItem(i, 2 * j + 1, QTableWidgetItem(Stages_x_pc[i][j][2])) + + for t in tables: + t.resizeColumnsToContents() + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetFlash.py b/src/main/python/DockWidgets/DockWidgetFlash.py new file mode 100644 index 0000000..7742e62 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetFlash.py @@ -0,0 +1,86 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetFlash.ui') + +class DockWidgetFlash(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = [] # a list + + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['thermo_package']['name']+":") + self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + for j in self.lines: + self.cb1.addItem(str(j)) + self.cb1.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.check1.setText(self.obj.variables['Tdef']['name']+":") + self.le2.setText(str(self.obj.variables['Tdef']['value'])) + self.u2.setText(self.obj.variables['Tdef']['unit']) + self.check1.toggled.connect(self.fun) + self.check1.setChecked(self.obj.variables['BTdef']['value']) + self.check2.setText(self.obj.variables['Pdef']['name']+":") + self.le3.setText(str(self.obj.variables['Pdef']['value'])) + self.u3.setText(self.obj.variables['Pdef']['unit']) + self.check2.toggled.connect(self.fun) + self.check2.setChecked(self.obj.variables['BPdef']['value']) + + self.input_dict = [self.cb1, self.check1, self.le2, self.check2, self.le3] + + except Exception as e: + print(e) + + def fun(self): + if self.check1.isChecked(): + self.le2.setDisabled(False) + else: + self.le2.setDisabled(True) + if self.check2.isChecked(): + self.le3.setDisabled(False) + else: + self.le3.setDisabled(True) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict = [] + print("param.input_dict ", self.input_dict) + self.dict = [self.input_dict[0].currentText(),self.input_dict[1].isChecked(), float(self.input_dict[2].text()), self.input_dict[3].isChecked(), float(self.input_dict[4].text())] + print("param ", self.dict) + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMaterialStream.py b/src/main/python/DockWidgets/DockWidgetMaterialStream.py new file mode 100644 index 0000000..5bc77c5 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetMaterialStream.py @@ -0,0 +1,373 @@ +import os, sys +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMaterialStream.ui') + +class DockWidgetMaterialStream(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.input_dict = {} + self.x_pclist = [] + + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + self.pushButton_2.clicked.connect(self.param) + self.dict = {} # a dictionary + + self.name_type = None + self.container = container + + header = QTreeWidgetItem(['Compound','Value','Unit']) + self.mTreeWidget.setHeaderItem(header) + self.lTreeWidget.setHeaderItem(header) + self.vTreeWidget.setHeaderItem(header) + lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in lines: + self.cbTP.addItem(str(j)) + self.modes() + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(j)) + self.comboBox.setCurrentText(self.obj.mode) + self.mode_selection() + else: + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + try: # removing existing rows while changing modes + for i in reversed(range(self.formLayout.count())): + self.formLayout.removeRow(i) + except Exception as e: + print(e) + self.input_dict = self.obj.param_getter(self.comboBox.currentText()) + self.obj.mode = self.comboBox.currentText() + self.input_params_list() + + def input_params_list(self): + try: + for c,i in enumerate(self.input_dict): + if(i=="x_pc"): + noc = len(compound_selected) + #print(noc) + self.x_pclist.clear() + + self.comp_gb = QGroupBox("Mole Fractions") + lay = QGridLayout() + for j in range(noc): + try: + l = QLineEdit(str(self.obj.variables['x_pc']['value'][j])) + except: + l = QLineEdit() + # if self.input_dict[i] != '': + # l.setText(str(self.obj.variables['x_pc']['value'][j])) + # print('l = ', str(self.obj.variables['x_pc']['value'][j])) + + self.input_dict[i] = "x_pc" + lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment= Qt.AlignLeft) + lay.addWidget(l,j,1, alignment=Qt.AlignCenter) + self.x_pclist.append(l) + lay.setSizeConstraint(QLayout.SetFixedSize) + self.comp_gb.setLayout(lay) + self.formLayout.addRow(self.comp_gb) + elif i == "Thermo Package": + self.cbTP.setCurrentText(self.input_dict[i]) + else: + #print("elseloop") + l = QLineEdit() + if self.input_dict[i] != None: + l.setText(str(self.input_dict[i])) + + lay = QGridLayout() + if i !='MolFlow': + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + else: + lay.addWidget(QLabel(i+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + 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) + self.formLayout.addRow(lay) + self.input_dict[i] = l + + + except Exception as e: + print(e) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def update_compounds(self): + try: + noc = len(compound_selected) + #print(noc) + self.x_pclist.clear() + + lay = QGridLayout() + for j in range(noc): + l = QLineEdit() + lay.addWidget(QLabel(str(compound_selected[j]) + ":"), j, 0, alignment=Qt.AlignLeft) + lay.addWidget(l, j, 1, alignment=Qt.AlignCenter) + self.x_pclist.append(l) + lay.setSizeConstraint(QLayout.SetFixedSize) + self.comp_gb.setLayout(lay) + indexx = self.comboBox.currentIndex() + self.comboBox.setCurrentIndex(1) + self.comboBox.setCurrentIndex(indexx) + self.obj.init_variables() + except Exception as e: + print(e) + + def param(self): + try: + self.dict={} + #print("param.input_dict ", self.input_dict) + for i in self.input_dict: + #print(i) + if(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.obj.variables[compound_selected[c]]['value'] = str(float(l[c])/total_moles) + self.x_pclist[c].setText(mf[-1]) + self.dict[i] = ",".join(mf) + elif (i == "Thermo Package"): + self.dict[i] = self.cbTP.currentText() + else: + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + #print(self.input_dict[i]) + self.show_error() + break + + #print("param ", self.dict) + + self.obj.param_setter(self.dict) + + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def update_input_values(self): + self.init() + + @staticmethod + def show_result(ms_lst): + for i in ms_lst: + i.results_category(i.name) + + def clear_results(self): + self.mTreeWidget.clear() + self.mTableWidget.setRowCount(0) + self.lTreeWidget.clear() + self.lTableWidget.setRowCount(0) + self.vTreeWidget.clear() + self.vTableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + + + d = {"Mole Fraction":"x_pc", "Mass Fraction":"xm_pc", "Mole Flow":"F_pc", "Mass Flow":"Fm_pc"} + ms_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","Mass Flow Rate":"Fm_p"} + + # Amounts Tab + if obj.type == 'MaterialStream': + ll = [] # 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): + ll.append(i) + #print(ll) + + j = 0 + namee = 'none' + #print("namee ", namee) + #initialization for treewidgets + lroot = 1 + mroot = 1 + vroot = 1 + + + for i,k in enumerate(ll): + 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 not in k: + mroot = QTreeWidgetItem(self.mTreeWidget, [ms_lst[j]]) + lroot = QTreeWidgetItem(self.lTreeWidget, [ms_lst[j]]) + vroot = QTreeWidgetItem(self.vTreeWidget, [ms_lst[j]]) + namee = klst[j] + + phase_no = int(k[k.index(',') - 1]) # phase no is from modelica list + compound_no = int(k[k.index(',') + 1]) - 1 # compound is from python list + + if phase_no == 1: + child = QTreeWidgetItem(mroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + elif phase_no == 2: + child = QTreeWidgetItem(lroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + elif phase_no == 3: + child = QTreeWidgetItem(vroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + if (compound_no + 1) == len(compound_selected): + j += 1 + + + + # 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(str(round(float(resultval),4)))) + 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(str(round(float(resultval),4)))) + 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(str(round(float(resultval),4)))) + self.vTableWidget.setItem(vrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) + self.vTableWidget.resizeColumnsToContents() + if not '[' in val: + #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(str(round(float(resultval),4)))) + self.mTableWidget.setItem(mrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) + self.mTableWidget.resizeColumnsToContents() + + + # updating the input data from fetched results from simulation + #print(self.comboBox.currentText()) + + self.input_dict = {} + self.input_dict = self.obj.param_getter(self.comboBox.currentText()) + # print("before", self.input_dict) + #self.input_dict.pop("x_pc") + # temp = self.input_dict.pop('thermo_package') + for i in range(len(compound_selected)): + #print(i) + self.input_dict['x_pc[1,' + str(i+1) + ']'] = self.obj.variables['x_pc[1,' + str(i+1) +']']['value'] + # self.input_dict['thermo_package'] = temp + # print("after", self.input_dict) + + # changing index for updating the input data + indexx = self.comboBox.currentIndex() + self.comboBox.setCurrentIndex(1) + self.comboBox.setCurrentIndex(indexx) + + try: + + for i in self.parent().container.graphics.graphicsView.items(): + try: + if i.obj == self.obj: + i.update_tooltip() + except Exception as e: + pass + except Exception as e: + print(e) + + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMixer.py b/src/main/python/DockWidgets/DockWidgetMixer.py new file mode 100644 index 0000000..5d89589 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetMixer.py @@ -0,0 +1,66 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMixer.ui') + +class DockWidgetMixer(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.input_dict = [] + self.x_pclist = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = {} + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['NI']['name']+":") + self.le1.setText(str(self.obj.variables['NI']['value'])) + self.u1.setText(self.obj.variables['NI']['unit']) + for i in self.obj.Pout_modes: + self.cb2.addItem(str(i)) + self.cb2.setCurrentText(self.obj.variables['outPress']['value']) + + self.l2.setText(self.obj.variables['outPress']['name']+":") + self.input_dict = [self.le1, self.cb2] + + 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={} + self.dict = [int(self.input_dict[0].text()), self.input_dict[1].currentText()] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py new file mode 100644 index 0000000..43d01e9 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py @@ -0,0 +1,148 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetShortcutColumn.ui') + +class DockWidgetShortcutColumn(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = [] + + self.name_type = None + self.container = container + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['HKey']['name']+":") + self.l2.setText(self.obj.variables['LKey']['name']+":") + + print(self.obj.compounds) + for i in self.obj.compounds: + self.cb1.addItem(str(i)) + self.cb2.addItem(str(i)) + self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value'])-1]) + self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value'])-1]) + + self.l3.setText(self.obj.variables['HKey_x_pc']['name']+":") + self.le3.setText(str(self.obj.variables['HKey_x_pc']['value'])) + self.u3.setText(self.obj.variables['HKey_x_pc']['unit']) + self.l4.setText(self.obj.variables['LKey_x_pc']['name']+":") + self.u4.setText(self.obj.variables['LKey_x_pc']['unit']) + self.le4.setText(str(self.obj.variables['LKey_x_pc']['value'])) + + self.l5.setText(self.obj.variables['Ctype']['name']+":") + self.cb5.addItem('Total') + self.cb5.addItem('Partial') + self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) + + self.l6.setText(self.obj.variables['Pcond']['name']+":") + self.le6.setText(str(self.obj.variables['Pcond']['value'])) + self.u6.setText(self.obj.variables['Pcond']['unit']) + self.l7.setText(self.obj.variables['Preb']['name']+":") + self.u7.setText(self.obj.variables['Preb']['unit']) + self.le7.setText(str(self.obj.variables['Preb']['value'])) + + self.l8.setText(self.obj.variables['RR']['name']+":") + self.le8.setText(str(self.obj.variables['RR']['value'])) + + self.l9.setText("Thermo Package :") + + self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + for j in self.lines: + self.cb6.addItem(str(j)) + self.cb6.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.input_dict = [self.cb1, self.cb2, self.le3, self.le4, self.cb5, self.le6, self.le7, self.le8, self.cb6] + + except Exception as e: + print(e) + + def update_compounds(self): + self.cb1.clear() + self.cb2.clear() + for i in self.obj.compounds: + self.cb1.addItem(str(i)) + self.cb2.addItem(str(i)) + self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value']) - 1]) + self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value']) - 1]) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict=[] + self.dict = [self.input_dict[0].currentText(),self.input_dict[1].currentText(),float(self.input_dict[2].text()), float(self.input_dict[3].text()), + self.input_dict[4].currentText(), float(self.input_dict[5].text()), float(self.input_dict[6].text()), float(self.input_dict[7].text()), + self.input_dict[8].currentText()] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = obj.result_parameters + print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + obj.variables[val]['value']= result[-1][ind] + print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetSplitter.py b/src/main/python/DockWidgets/DockWidgetSplitter.py new file mode 100644 index 0000000..296e111 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetSplitter.py @@ -0,0 +1,85 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetSplitter.ui') + +class DockWidgetSplitter(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = {} + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['No']['name']+":") + self.le1.setText(str(self.obj.variables['No']['value'])) + self.u1.setText(self.obj.variables['No']['unit']) + + self.l2.setText(self.obj.variables['CalcType']['name'] + ":") + for i in self.obj.CalcType_modes: + self.cb2.addItem(str(i)) + self.cb2.setCurrentText(self.obj.variables['CalcType']['value']) + + self.l3.setText("Stream 1 :") + self.le3.setText(str(self.obj.variables['SpecVal_s']['value'][0])) + self.u3.setText(self.obj.variables['SpecVal_s']['unit']) + self.l4.setText("Stream 2 :") + self.le4.setText(str(self.obj.variables['SpecVal_s']['value'][1])) + self.u4.setText(str(self.obj.variables['SpecVal_s']['unit'])) + self.cb2.currentIndexChanged.connect(self.fun) + + self.input_dict = [self.le1, self.cb2, self.le3, self.le4] + + except Exception as e: + print(e) + + def fun(self): + if self.cb2.currentText() == 'Molar_Flow': + self.u3.setText('mol/s') + self.u4.setText('mol/s') + elif self.cb2.currentText() == 'Mass_Flow': + self.u3.setText('g/s') + self.u4.setText('g/s') + else: + self.u3.setText('') + self.u4.setText('') + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict={} + self.dict = [int(self.input_dict[0].text()),self.input_dict[1].currentText(), float(self.input_dict[2].text()), float(self.input_dict[3].text())] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/__init__.py b/src/main/python/DockWidgets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc new file mode 100644 index 0000000..0b8a850 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc new file mode 100644 index 0000000..98f972c Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc new file mode 100644 index 0000000..362d798 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc new file mode 100644 index 0000000..16d524f Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc new file mode 100644 index 0000000..35f8cc8 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc new file mode 100644 index 0000000..ddb230a Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc new file mode 100644 index 0000000..922d625 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc new file mode 100644 index 0000000..b50fc09 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc new file mode 100644 index 0000000..b2d28ee Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc new file mode 100644 index 0000000..7b8ffd6 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc new file mode 100644 index 0000000..5d96e15 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc new file mode 100644 index 0000000..9bb461c Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc new file mode 100644 index 0000000..dcdd91b Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc new file mode 100644 index 0000000..426a9a7 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc new file mode 100644 index 0000000..7ce7bc5 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc new file mode 100644 index 0000000..05e5d7f Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc new file mode 100644 index 0000000..a43a296 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc new file mode 100644 index 0000000..e6c7383 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc new file mode 100644 index 0000000..ddefbdd Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc new file mode 100644 index 0000000..9461f0b Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000..afad453 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc differ -- cgit From 2b94618c50110c38cd67564a5b58630aeeb2adc5 Mon Sep 17 00:00:00 2001 From: brenda-br Date: Fri, 24 Feb 2023 11:55:27 +0530 Subject: Fix #62 Remove Redundant Lines --- src/main/python/DockWidgets/DockWidget.py | 4 +-- .../DockWidgets/DockWidgetCompressorExpander.py | 18 +++++----- .../DockWidgets/DockWidgetDistillationColumn.py | 40 ++++++++++----------- src/main/python/DockWidgets/DockWidgetFlash.py | 4 +-- .../python/DockWidgets/DockWidgetMaterialStream.py | 5 --- .../python/DockWidgets/DockWidgetShortcutColumn.py | 8 ++--- ...stillationColumnStagewiseResults.cpython-37.pyc | Bin 946 -> 946 bytes .../__pycache__/DockWidget.cpython-37.pyc | Bin 4934 -> 4934 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 4422 -> 4422 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 5657 -> 5657 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 10480 -> 10480 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 3521 -> 3521 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 9641 -> 9641 bytes .../__pycache__/DockWidgetMixer.cpython-37.pyc | Bin 2707 -> 2707 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 5671 -> 5671 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 3342 -> 3342 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 208 -> 208 bytes 17 files changed, 37 insertions(+), 42 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/DockWidget.py b/src/main/python/DockWidgets/DockWidget.py index a97212a..fcfc172 100644 --- a/src/main/python/DockWidgets/DockWidget.py +++ b/src/main/python/DockWidgets/DockWidget.py @@ -51,13 +51,13 @@ class DockWidget(QDockWidget,ui_dialog): self.input_dict= {} for i in reversed(range(self.formLayout.count())): self.formLayout.removeRow(i) - print(self.comboBox.currentText()) + #print(self.comboBox.currentText()) for i in self.obj.variables: if self.obj.variables[i]['name'] == self.comboBox.currentText(): currentText = i break self.input_dict = self.obj.param_getter(currentText) - print('mode selection ', self.input_dict) + #print('mode selection ', self.input_dict) self.input_params_list() def input_params_list(self): diff --git a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py index 2439801..8b23b8e 100644 --- a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py +++ b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py @@ -51,18 +51,18 @@ class DockWidgetCompressorExpander(QDockWidget,ui_dialog): self.input_dict= {} for i in reversed(range(self.formLayout.count())): self.formLayout.removeRow(i) - print(self.comboBox.currentText()) + #print(self.comboBox.currentText()) for i in self.obj.variables: if self.obj.variables[i]['name'] == self.comboBox.currentText(): currentText = i break self.input_dict = self.obj.param_getter(currentText) - print('mode selection ', self.input_dict) + #print('mode selection ', self.input_dict) self.input_params_list() def input_params_list(self): try: - print("input_params_list ", self.input_dict) + #print("input_params_list ", self.input_dict) for c,i in enumerate(self.input_dict): if i == None: continue @@ -98,11 +98,11 @@ class DockWidgetCompressorExpander(QDockWidget,ui_dialog): elif (i == "Thermo Package"): self.dict[i] = self.input_dict[i].currentText() else: - print(self.input_dict[i], i, self.obj.type) + #print(self.input_dict[i], i, self.obj.type) if (self.input_dict[i].text()): self.dict[i] = self.input_dict[i].text() else: - print(self.input_dict[i].text()) + #print(self.input_dict[i].text()) self.show_error() break @@ -137,19 +137,19 @@ class DockWidgetCompressorExpander(QDockWidget,ui_dialog): def results_category(self,name): flag = True try: - print("Under result category name ", name) + #print("Under result category name ", name) result=self.container.result obj = self.container.fetch_object(name) self.tableWidget.setRowCount(0) variKeys = list(obj.variables.keys()) - print(variKeys) + #print(variKeys) for i, val in enumerate(variKeys): propertyname = name + '.' + val - print(i,val, propertyname) + #print(i,val, propertyname) if propertyname in result[0]: ind = result[0].index(propertyname) resultval = str(result[-1][ind]) - print("######Resultsfetch####",val,resultval) + #print("######Resultsfetch####",val,resultval) rowPosition = self.tableWidget.rowCount() self.tableWidget.insertRow(rowPosition) self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) diff --git a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py index cf71f58..08e5bcd 100644 --- a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py +++ b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py @@ -162,30 +162,30 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): temp = i + 1 print(temp) - print(temp) - print(self.input_dict[temp+1]) + # print(temp) + # print(self.input_dict[temp+1]) self.dict.append(self.input_dict[temp+1].currentText()) - print(temp+1) + # print(temp+1) self.dict.append(int(self.input_dict[temp+2].text())) - print(temp+2) + #print(temp+2) self.dict.append(self.input_dict[temp+3].currentText()) - print(temp+3) + #print(temp+3) self.dict.append(self.input_dict[temp+4].currentText()) - print(temp+4) + #print(temp+4) self.dict.append(int(self.input_dict[temp+5].text())) - print(temp+5) + #print(temp+5) self.dict.append(int(self.input_dict[temp+6].text())) - print(temp+6) + #print(temp+6) self.dict.append(self.input_dict[temp+7].currentText()) - print(temp+7) + #print(temp+7) self.dict.append(self.input_dict[temp+8].currentText()) - print(temp+8) + #print(temp+8) self.dict.append(int(self.input_dict[temp+9].text())) - print(temp+9) + #print(temp+9) self.dict.append(self.input_dict[temp+10].currentText()) - print(temp + 10) + #print(temp + 10) - print("param ", self.dict) + #print("param ", self.dict) self.obj.param_setter(self.dict) if(self.isVisible()): currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() @@ -218,20 +218,20 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): def results_category(self,name): flag = True try: - print("Under result category name ", name) + #print("Under result category name ", name) result = self.container.result obj = self.container.fetch_object(name) self.tableWidget.setRowCount(0) variKeys = obj.result_parameters - print(variKeys) + #print(variKeys) for i, val in enumerate(variKeys): propertyname = name + '.' + val - print(i, val, propertyname) + #print(i, val, propertyname) if propertyname in result[0]: ind = result[0].index(propertyname) resultval = str(result[-1][ind]) obj.variables[val]['value'] = result[-1][ind] - print("######Resultsfetch####", val, resultval) + #print("######Resultsfetch####", val, resultval) rowPosition = self.tableWidget.rowCount() self.tableWidget.insertRow(rowPosition) self.tableWidget.setItem(rowPosition, 0, QTableWidgetItem(obj.variables[val]['name'])) @@ -269,7 +269,7 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): # else: # Stages_F_p[0][2] = result[-1][ind] else: - print(ind) + #print(ind) phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] @@ -294,8 +294,8 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): # else: # Stages_F_p[i][2] = result[-1][ind] else: - print(ind) - print(result[0][ind]) + # print(ind) + # print(result[0][ind]) phase_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index('[') + 1]) comp_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index(']') - 1]) Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] diff --git a/src/main/python/DockWidgets/DockWidgetFlash.py b/src/main/python/DockWidgets/DockWidgetFlash.py index 7742e62..a2abbeb 100644 --- a/src/main/python/DockWidgets/DockWidgetFlash.py +++ b/src/main/python/DockWidgets/DockWidgetFlash.py @@ -68,9 +68,9 @@ class DockWidgetFlash(QDockWidget,ui_dialog): def param(self): try: self.dict = [] - print("param.input_dict ", self.input_dict) + #print("param.input_dict ", self.input_dict) self.dict = [self.input_dict[0].currentText(),self.input_dict[1].isChecked(), float(self.input_dict[2].text()), self.input_dict[3].isChecked(), float(self.input_dict[4].text())] - print("param ", self.dict) + #print("param ", self.dict) self.obj.param_setter(self.dict) if(self.isVisible()): currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() diff --git a/src/main/python/DockWidgets/DockWidgetMaterialStream.py b/src/main/python/DockWidgets/DockWidgetMaterialStream.py index 5bc77c5..684d1df 100644 --- a/src/main/python/DockWidgets/DockWidgetMaterialStream.py +++ b/src/main/python/DockWidgets/DockWidgetMaterialStream.py @@ -81,9 +81,6 @@ class DockWidgetMaterialStream(QDockWidget,ui_dialog): l = QLineEdit(str(self.obj.variables['x_pc']['value'][j])) except: l = QLineEdit() - # if self.input_dict[i] != '': - # l.setText(str(self.obj.variables['x_pc']['value'][j])) - # print('l = ', str(self.obj.variables['x_pc']['value'][j])) self.input_dict[i] = "x_pc" lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment= Qt.AlignLeft) @@ -339,8 +336,6 @@ class DockWidgetMaterialStream(QDockWidget,ui_dialog): self.input_dict = {} self.input_dict = self.obj.param_getter(self.comboBox.currentText()) # print("before", self.input_dict) - #self.input_dict.pop("x_pc") - # temp = self.input_dict.pop('thermo_package') for i in range(len(compound_selected)): #print(i) self.input_dict['x_pc[1,' + str(i+1) + ']'] = self.obj.variables['x_pc[1,' + str(i+1) +']']['value'] diff --git a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py index 43d01e9..33605b4 100644 --- a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py +++ b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py @@ -120,20 +120,20 @@ class DockWidgetShortcutColumn(QDockWidget,ui_dialog): def results_category(self,name): flag = True try: - print("Under result category name ", name) + #print("Under result category name ", name) result=self.container.result obj = self.container.fetch_object(name) self.tableWidget.setRowCount(0) variKeys = obj.result_parameters - print(variKeys) + #print(variKeys) for i, val in enumerate(variKeys): propertyname = name + '.' + val - print(i,val, propertyname) + #print(i,val, propertyname) if propertyname in result[0]: ind = result[0].index(propertyname) resultval = str(result[-1][ind]) obj.variables[val]['value']= result[-1][ind] - print("######Resultsfetch####",val,resultval) + #print("######Resultsfetch####",val,resultval) rowPosition = self.tableWidget.rowCount() self.tableWidget.insertRow(rowPosition) self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc index 98f972c..d8c43f1 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc index 16d524f..4829b7e 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc index ddb230a..14c0665 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc index b50fc09..93827d9 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc index 7b8ffd6..c7de762 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc index 9bb461c..4b212fd 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc index 426a9a7..fea6a84 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc index 05e5d7f..2974d48 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc index e6c7383..19bc102 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc index 9461f0b..df9b82e 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc index afad453..9a9342e 100644 Binary files a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc differ -- cgit From 688385aad786326be5d18c25d8f2a62e845d73e0 Mon Sep 17 00:00:00 2001 From: brenda-br Date: Fri, 24 Feb 2023 13:21:30 +0530 Subject: Fix #62 restructure -2 --- ...DistillationColumnStagewiseResults.cpython-36.pyc | Bin 767 -> 942 bytes .../__pycache__/DockWidget.cpython-36.pyc | Bin 4404 -> 4878 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 3271 -> 4418 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 5450 -> 5411 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 9874 -> 10206 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 2871 -> 3462 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 8673 -> 9652 bytes .../__pycache__/DockWidgetMixer.cpython-36.pyc | Bin 2057 -> 2703 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 5015 -> 5569 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 2689 -> 3338 bytes 10 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc index 0b8a850..b740ae4 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc index 362d798..d1958e4 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc index 35f8cc8..2f08a64 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc index 922d625..b8ca696 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc index b2d28ee..aad2e1f 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc index 5d96e15..bda9fee 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc index dcdd91b..9c60f72 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc index 7ce7bc5..5f13a9d 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc index a43a296..34b2b4a 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc index ddefbdd..91cd0b7 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc differ -- cgit From b50743bc2fc56b8c071fa7ccce34698a038a7d3e Mon Sep 17 00:00:00 2001 From: brenda-br Date: Fri, 24 Feb 2023 13:32:34 +0530 Subject: Fix #62 Restructure -3 --- .../__pycache__/DockWidget.cpython-37.pyc | Bin 4934 -> 4882 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 5657 -> 5415 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 10480 -> 10143 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 3521 -> 3466 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 9641 -> 9641 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 5671 -> 5566 bytes 6 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc index 4829b7e..eced00d 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc index 93827d9..93b8e8d 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc index c7de762..9c85f38 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc index 4b212fd..bfc8375 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc index fea6a84..4f50c8c 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc index 19bc102..bcc4d4a 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ -- cgit From f85ca605c02f70fcd911547323ee1245265b83ab Mon Sep 17 00:00:00 2001 From: brenda-br Date: Wed, 1 Mar 2023 12:49:04 +0530 Subject: DockWidgets Realigning --- src/main/python/DockWidgets/DockWidget.py | 7 ++++--- .../DockWidgets/DockWidgetCompoundSeparator.py | 1 + .../DockWidgets/DockWidgetCompressorExpander.py | 5 +++-- .../DockWidgets/DockWidgetDistillationColumn.py | 17 ++++++++++++++++- src/main/python/DockWidgets/DockWidgetFlash.py | 6 +++++- .../python/DockWidgets/DockWidgetMaterialStream.py | 8 ++++---- .../python/DockWidgets/DockWidgetShortcutColumn.py | 2 +- .../__pycache__/DockWidget.cpython-37.pyc | Bin 4882 -> 4847 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 4422 -> 4454 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 5415 -> 5470 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 10143 -> 10387 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 3466 -> 3551 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 9641 -> 9690 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 5566 -> 5589 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 3342 -> 3342 bytes 15 files changed, 34 insertions(+), 12 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/DockWidget.py b/src/main/python/DockWidgets/DockWidget.py index fcfc172..764d8fb 100644 --- a/src/main/python/DockWidgets/DockWidget.py +++ b/src/main/python/DockWidgets/DockWidget.py @@ -27,7 +27,7 @@ class DockWidget(QDockWidget,ui_dialog): self.modes() self.comboBox.currentIndexChanged.connect(self.mode_selection) - print("constructor ", self.input_dict) + #print("constructor ", self.input_dict) self.pushButton_2.clicked.connect(self.param) self.dict = {} # a dictionary @@ -62,16 +62,17 @@ class DockWidget(QDockWidget,ui_dialog): def input_params_list(self): try: - print("input_params_list ", self.input_dict) + #print("input_params_list ", self.input_dict) for c,i in enumerate(self.input_dict): #print(i) if i == None: continue l = QLineEdit(str(self.obj.variables[i]['value'])) + l.setFixedWidth(80) lay = QGridLayout() lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) lay.addWidget(l,0,1, alignment=Qt.AlignCenter) - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) self.formLayout.addRow(lay) self.input_dict[i] = l except Exception as e: diff --git a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py index 4ae503a..26f8fd4 100644 --- a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py +++ b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py @@ -63,6 +63,7 @@ class DockWidgetCompoundSeparator(QDockWidget,ui_dialog): 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.setFixedWidth(80) l.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.calculationLayout.addWidget(QLabel(val+" :"), k+1,0, alignment=Qt.AlignLeft) self.calculationLayout.addWidget(combo, k+1, 1, alignment=Qt.AlignCenter) diff --git a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py index 8b23b8e..9a8cb07 100644 --- a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py +++ b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py @@ -70,15 +70,16 @@ class DockWidgetCompressorExpander(QDockWidget,ui_dialog): l = QLineEdit() if self.input_dict[i] != None: l.setText(str(self.input_dict[i])) + l.setFixedWidth(80) lay = QGridLayout() lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) lay.addWidget(l,0,1, alignment=Qt.AlignCenter) - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) self.formLayout.addRow(lay) self.input_dict[i] = l - self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] for j in self.lines: self.cbTP.addItem(str(j)) self.input_dict['Thermo Package'] = self.cbTP diff --git a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py index 08e5bcd..7895b32 100644 --- a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py +++ b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py @@ -47,6 +47,7 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): # tab 1 l1 = QLineEdit() + l1.setFixedWidth(80) l1.setText(str(self.obj.variables['Nt']['value'])) self.lay1.addWidget(QLabel(self.obj.variables['Nt']['name'] + " :"), 0 ,0, alignment=Qt.AlignLeft) self.lay1.addWidget(l1,0,1, alignment=Qt.AlignLeft) @@ -55,6 +56,7 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): for i in range(self.obj.variables['Ni']['value']): print(i) l = QLineEdit() + l.setFixedWidth(80) if len(self.obj.variables['InT_s']['value']) is not 0: l.setText(str(self.obj.variables['InT_s']['value'][i])) self.lay1.addWidget(QLabel(self.obj.variables['InT_s']['name'] +" " + str(i+1) + " location :"),2*(i+1),0, alignment=Qt.AlignLeft) @@ -75,6 +77,7 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): self.cb5.addItem("Total") self.cb5.addItem("Partial") self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) + for j in self.obj.Cspec_list: self.cb1.addItem(str(j)) self.cb1.setCurrentText(self.obj.variables['C_Spec']['type']) @@ -85,6 +88,18 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): self.cb2.setDisabled(True) self.cb1.currentIndexChanged.connect(self.fun2) + self.le5.setFixedWidth(80) + self.le6.setFixedWidth(80) + self.le7.setFixedWidth(80) + self.le8.setFixedWidth(80) + self.cb1.setFixedWidth(180) + self.cb2.setFixedWidth(80) + self.cb3.setFixedWidth(180) + self.cb4.setFixedWidth(80) + self.cb5.setFixedWidth(80) + self.u2.setAlignment(Qt.AlignLeft) + self.u3.setAlignment(Qt.AlignLeft) + self.input_dict.append(self.cb5) self.input_dict.append(self.le5) self.input_dict.append(self.cb1) @@ -113,7 +128,7 @@ class DockWidgetDistillationColumn(QDockWidget, ui_dialog): self.input_dict.append(self.cb4) self.input_dict.append(self.le8) - self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] for j in self.lines: self.cbTP.addItem(str(j)) self.cbTP.setCurrentText(self.obj.variables['thermo_package']['value']) diff --git a/src/main/python/DockWidgets/DockWidgetFlash.py b/src/main/python/DockWidgets/DockWidgetFlash.py index a2abbeb..c001fe2 100644 --- a/src/main/python/DockWidgets/DockWidgetFlash.py +++ b/src/main/python/DockWidgets/DockWidgetFlash.py @@ -31,7 +31,7 @@ class DockWidgetFlash(QDockWidget,ui_dialog): def input_params_list(self): try: self.l1.setText(self.obj.variables['thermo_package']['name']+":") - self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] for j in self.lines: self.cb1.addItem(str(j)) self.cb1.setCurrentText(self.obj.variables['thermo_package']['value']) @@ -47,6 +47,10 @@ class DockWidgetFlash(QDockWidget,ui_dialog): self.check2.toggled.connect(self.fun) self.check2.setChecked(self.obj.variables['BPdef']['value']) + self.le2.setFixedWidth(80) + self.le3.setFixedWidth(80) + self.cb1.setFixedWidth(80) + self.input_dict = [self.cb1, self.check1, self.le2, self.check2, self.le3] except Exception as e: diff --git a/src/main/python/DockWidgets/DockWidgetMaterialStream.py b/src/main/python/DockWidgets/DockWidgetMaterialStream.py index 684d1df..d2aefb6 100644 --- a/src/main/python/DockWidgets/DockWidgetMaterialStream.py +++ b/src/main/python/DockWidgets/DockWidgetMaterialStream.py @@ -81,7 +81,7 @@ class DockWidgetMaterialStream(QDockWidget,ui_dialog): l = QLineEdit(str(self.obj.variables['x_pc']['value'][j])) except: l = QLineEdit() - + l.setFixedWidth(100) self.input_dict[i] = "x_pc" lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment= Qt.AlignLeft) lay.addWidget(l,j,1, alignment=Qt.AlignCenter) @@ -96,7 +96,7 @@ class DockWidgetMaterialStream(QDockWidget,ui_dialog): l = QLineEdit() if self.input_dict[i] != None: l.setText(str(self.input_dict[i])) - + l.setFixedWidth(80) lay = QGridLayout() if i !='MolFlow': lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) @@ -104,9 +104,9 @@ class DockWidgetMaterialStream(QDockWidget,ui_dialog): lay.addWidget(QLabel(i+":"),0,0, alignment=Qt.AlignLeft) lay.addWidget(l,0,1, alignment=Qt.AlignCenter) if(i != 'MolFlow'): - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) else: - lay.addWidget(QLabel("mol/s"),0,2, alignment=Qt.AlignCenter) + lay.addWidget(QLabel("mol/s"),0,2, alignment=Qt.AlignLeft) self.formLayout.addRow(lay) self.input_dict[i] = l diff --git a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py index 33605b4..b627e9d 100644 --- a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py +++ b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py @@ -68,7 +68,7 @@ class DockWidgetShortcutColumn(QDockWidget,ui_dialog): self.l9.setText("Thermo Package :") - self.lines = [line.rstrip('\n') for line in open('thermopackage.txt')] + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] for j in self.lines: self.cb6.addItem(str(j)) self.cb6.setCurrentText(self.obj.variables['thermo_package']['value']) diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc index eced00d..90c3ef9 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc index 14c0665..eed70e1 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc index 93b8e8d..05d0157 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc index 9c85f38..a3cba32 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc index bfc8375..08f6dae 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc index 4f50c8c..abc5f50 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc index bcc4d4a..46cd536 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc index df9b82e..d23e668 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc differ -- cgit From f7b5ea052db8e59518dcf6283311a7064f842b46 Mon Sep 17 00:00:00 2001 From: brenda-br Date: Thu, 2 Mar 2023 11:03:01 +0530 Subject: Rounding Values in Dock Widgets --- .../__pycache__/DockWidget.cpython-36.pyc | Bin 4878 -> 4843 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 4418 -> 4450 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 5411 -> 5466 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 10206 -> 10450 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 3462 -> 3547 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 9652 -> 9701 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 5569 -> 5592 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 3338 -> 3338 bytes 8 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc index d1958e4..0910bb4 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc index 2f08a64..0bb8ec2 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc index b8ca696..75c33c9 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc index aad2e1f..18ebc2a 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc index bda9fee..665e2e1 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc index 9c60f72..7be87c9 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc index 34b2b4a..34ef4fe 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc index 91cd0b7..eaac842 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc differ -- cgit From 7af3526e105cc330422f8742ec5edec1c4a0a98f Mon Sep 17 00:00:00 2001 From: brenda-br Date: Thu, 2 Mar 2023 15:49:11 +0530 Subject: Restructuring Finalized for App Bundling --- .../DistillationColumnStagewiseResults.py | 18 - src/main/python/DockWidgets/DockWidget.py | 168 --------- .../DockWidgets/DockWidgetCompoundSeparator.py | 134 ------- .../DockWidgets/DockWidgetCompressorExpander.py | 167 --------- .../DockWidgets/DockWidgetDistillationColumn.py | 390 --------------------- src/main/python/DockWidgets/DockWidgetFlash.py | 90 ----- .../python/DockWidgets/DockWidgetMaterialStream.py | 368 ------------------- src/main/python/DockWidgets/DockWidgetMixer.py | 66 ---- .../python/DockWidgets/DockWidgetShortcutColumn.py | 148 -------- src/main/python/DockWidgets/DockWidgetSplitter.py | 85 ----- src/main/python/DockWidgets/__init__.py | 0 ...stillationColumnStagewiseResults.cpython-36.pyc | Bin 942 -> 0 bytes ...stillationColumnStagewiseResults.cpython-37.pyc | Bin 946 -> 0 bytes .../__pycache__/DockWidget.cpython-36.pyc | Bin 4843 -> 0 bytes .../__pycache__/DockWidget.cpython-37.pyc | Bin 4847 -> 0 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 4450 -> 0 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 4454 -> 0 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 5466 -> 0 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 5470 -> 0 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 10450 -> 0 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 10387 -> 0 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 3547 -> 0 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 3551 -> 0 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 9701 -> 0 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 9690 -> 0 bytes .../__pycache__/DockWidgetMixer.cpython-36.pyc | Bin 2703 -> 0 bytes .../__pycache__/DockWidgetMixer.cpython-37.pyc | Bin 2707 -> 0 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 5592 -> 0 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 5589 -> 0 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 3338 -> 0 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 3342 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 208 -> 0 bytes 32 files changed, 1634 deletions(-) delete mode 100644 src/main/python/DockWidgets/DistillationColumnStagewiseResults.py delete mode 100644 src/main/python/DockWidgets/DockWidget.py delete mode 100644 src/main/python/DockWidgets/DockWidgetCompoundSeparator.py delete mode 100644 src/main/python/DockWidgets/DockWidgetCompressorExpander.py delete mode 100644 src/main/python/DockWidgets/DockWidgetDistillationColumn.py delete mode 100644 src/main/python/DockWidgets/DockWidgetFlash.py delete mode 100644 src/main/python/DockWidgets/DockWidgetMaterialStream.py delete mode 100644 src/main/python/DockWidgets/DockWidgetMixer.py delete mode 100644 src/main/python/DockWidgets/DockWidgetShortcutColumn.py delete mode 100644 src/main/python/DockWidgets/DockWidgetSplitter.py delete mode 100644 src/main/python/DockWidgets/__init__.py delete mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc delete mode 100644 src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py b/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py deleted file mode 100644 index 65527dc..0000000 --- a/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py +++ /dev/null @@ -1,18 +0,0 @@ -import os, sys -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.uic import loadUiType -from PyQt5.QtWidgets import QWidget - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DistillationColumnStagewiseResults.ui') - - -class DistillationColumnStagewiseResults(QWidget,ui_dialog): - - def __init__(self, parent=None): - QWidget.__init__(self, parent) - self.setupUi(self) - # self.setWindowTitle(self.parent.obj.name) diff --git a/src/main/python/DockWidgets/DockWidget.py b/src/main/python/DockWidgets/DockWidget.py deleted file mode 100644 index 764d8fb..0000000 --- a/src/main/python/DockWidgets/DockWidget.py +++ /dev/null @@ -1,168 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/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.input_dict = {} - self.modes() - self.comboBox.currentIndexChanged.connect(self.mode_selection) - - #print("constructor ", self.input_dict) - self.pushButton_2.clicked.connect(self.param) - - self.dict = {} # a dictionary - self.container = container - - # input data tab - def modes(self): - modes_list = self.obj.modes_list - if(modes_list): - for j in modes_list: - self.comboBox.addItem(str(self.obj.variables[j]['name'])) - self.comboBox.setCurrentText(self.obj.variables[self.obj.mode]['name']) - self.mode_selection() - else: - self.comboBox.setDisabled(True) - self.input_dict= {} - self.input_dict = self.obj.param_getter() - self.input_params_list() - - def mode_selection(self): - self.input_dict= {} - 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.input_dict = self.obj.param_getter(currentText) - #print('mode selection ', self.input_dict) - self.input_params_list() - - def input_params_list(self): - try: - #print("input_params_list ", self.input_dict) - for c,i in enumerate(self.input_dict): - #print(i) - if i == None: - continue - l = QLineEdit(str(self.obj.variables[i]['value'])) - l.setFixedWidth(80) - lay = QGridLayout() - lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) - lay.addWidget(l,0,1, alignment=Qt.AlignCenter) - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) - self.formLayout.addRow(lay) - self.input_dict[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.input_dict ", self.input_dict) - for i in self.input_dict: - if (self.input_dict[i] == None): - continue - else: - #print(self.input_dict[i], i, self.obj.type) - if (self.input_dict[i].text()): - self.dict[i] = self.input_dict[i].text() - else: - #print(self.input_dict[i].text()) - self.show_error() - break - - #print("param ", self.dict) - self.obj.param_setter(self.dict) - for i in self.container.graphics.graphicsView.items(): - try: - if(i.name == self.name): - i.update_tooltip() - except: - pass - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - @staticmethod - def show_result(lst): - for i in lst: - try: - i.results_category(i.name) - except AttributeError: - pass - - def clear_results(self): - self.tableWidget.setRowCount(0) - - # result data tab - def results_category(self,name): - flag = True - try: - #print("Under result category name ", name) - result=self.container.result - obj = self.container.fetch_object(name) - self.tableWidget.setRowCount(0) - variKeys = list(obj.variables.keys()) - #print(variKeys) - for i, val in enumerate(variKeys): - propertyname = name + '.' + val - #print(i,val, propertyname) - if propertyname in result[0]: - ind = result[0].index(propertyname) - resultval = str(result[-1][ind]) - #print("######Resultsfetch####",val,resultval) - rowPosition = self.tableWidget.rowCount() - self.tableWidget.insertRow(rowPosition) - self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) - self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) - self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) - self.tableWidget.resizeColumnsToContents() - - # Updating result in class - obj.variables[val]['value'] = resultval - # try: - # if obj.type == "Heater": - # print(obj.variables[val]['name'] + str(obj.variables[val]['value'])) - # except Exception as e: - # print(e) - - - - except Exception as e: - print(e) - - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py deleted file mode 100644 index 26f8fd4..0000000 --- a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py +++ /dev/null @@ -1,134 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -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 python.utils.ComponentSelector import * -from collections import defaultdict -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompoundSeparator.ui') - -class DockWidgetCompoundSeparator(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.input_dict = [] - self.lst = [] - self.input_params_list() - self.dict = [] - - def input_params_list(self): - try: - if self.type == 'CompoundSeparator': - self.lst.clear() - self.calculationGroupBox = QGroupBox('Calculation Parameters') - self.calculationLayout = QGridLayout() - - r1 = QRadioButton('Stream 1') - r1.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) - r2 = QRadioButton('Stream 2') - r2.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) - if self.obj.variables['SepStrm']['value'] == 1: - r1.setChecked(True) - r2.setChecked(False) - else: - r1.setChecked(False) - r2.setChecked(True) - - - 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") - for j in self.obj.SepFact_modes: - combo.addItem(str(j)) - #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.setFixedWidth(80) - l.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) - 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) - - 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(self.calculationGroupBox,0,0) - self.gridLayout.addWidget(btn,1,0) - - self.input_dict = self.lst - - except Exception as e: - print(e) - - 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=[] - - self.dict = [self.input_dict[0].isChecked(), self.input_dict[1].isChecked()] - j = 2 - for i in range(len(self.obj.compounds)): - self.dict.append(self.input_dict[j+i].currentText()) - 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) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py deleted file mode 100644 index 9a8cb07..0000000 --- a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py +++ /dev/null @@ -1,167 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompressorExpander.ui') - -class DockWidgetCompressorExpander(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.input_dict = {} - self.x_pclist = [] - self.modes() - self.comboBox.currentIndexChanged.connect(self.mode_selection) - - self.pushButton_2.clicked.connect(self.param) - self.dict = {} - - self.name_type = None - self.container = container - - # input data tab - def modes(self): - modes_list = self.obj.modes_list - if(modes_list): - for j in modes_list: - self.comboBox.addItem(str(self.obj.variables[j]['name'])) - self.mode_selection() - else: - self.comboBox.setDisabled(True) - self.input_dict= {} - self.input_dict = self.obj.param_getter() - self.input_params_list() - - def mode_selection(self): - self.input_dict= {} - 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.input_dict = self.obj.param_getter(currentText) - #print('mode selection ', self.input_dict) - self.input_params_list() - - def input_params_list(self): - try: - #print("input_params_list ", self.input_dict) - for c,i in enumerate(self.input_dict): - if i == None: - continue - - l = QLineEdit() - if self.input_dict[i] != None: - l.setText(str(self.input_dict[i])) - l.setFixedWidth(80) - lay = QGridLayout() - lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) - lay.addWidget(l,0,1, alignment=Qt.AlignCenter) - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) - - self.formLayout.addRow(lay) - self.input_dict[i] = l - - self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] - for j in self.lines: - self.cbTP.addItem(str(j)) - self.input_dict['Thermo Package'] = self.cbTP - - 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={} - for i in self.input_dict: - if (self.input_dict[i] == None): - continue - elif (i == "Thermo Package"): - self.dict[i] = self.input_dict[i].currentText() - else: - #print(self.input_dict[i], i, self.obj.type) - if (self.input_dict[i].text()): - self.dict[i] = self.input_dict[i].text() - else: - #print(self.input_dict[i].text()) - self.show_error() - break - - self.obj.param_setter(self.dict) - - for i in self.container.graphics.graphicsView.items(): - try: - if(i.name == self.name): - i.update_tooltip() - except: - pass - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - @staticmethod - def show_result(lst): - for i in lst: - try: - i.results_category(i.name) - except AttributeError: - pass - - def clear_results(self): - self.tableWidget.setRowCount(0) - - # result data tab - def results_category(self,name): - flag = True - try: - #print("Under result category name ", name) - result=self.container.result - obj = self.container.fetch_object(name) - self.tableWidget.setRowCount(0) - variKeys = list(obj.variables.keys()) - #print(variKeys) - for i, val in enumerate(variKeys): - propertyname = name + '.' + val - #print(i,val, propertyname) - if propertyname in result[0]: - ind = result[0].index(propertyname) - resultval = str(result[-1][ind]) - #print("######Resultsfetch####",val,resultval) - rowPosition = self.tableWidget.rowCount() - self.tableWidget.insertRow(rowPosition) - self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) - self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) - self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) - self.tableWidget.resizeColumnsToContents() - - except Exception as e: - print(e) - - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py deleted file mode 100644 index 7895b32..0000000 --- a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py +++ /dev/null @@ -1,390 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -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 collections import defaultdict - -from python.utils.ComponentSelector import * -from python.DockWidgets.DistillationColumnStagewiseResults import DistillationColumnStagewiseResults -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetDistillationColumn.ui') - - -class DockWidgetDistillationColumn(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.input_dict = [] - self.pushButton_2.clicked.connect(self.param) - self.dict = [] - self.input_params_list() - self.name_type = None - self.container = container - self.stage_res_table = DistillationColumnStagewiseResults() - self.stageResultsButton.clicked.connect(self.showStagewiseResults) - - # input data tab - - def input_params_list(self): - try: - print("input_params_list ", self.input_dict) - - # tab 1 - - l1 = QLineEdit() - l1.setFixedWidth(80) - l1.setText(str(self.obj.variables['Nt']['value'])) - self.lay1.addWidget(QLabel(self.obj.variables['Nt']['name'] + " :"), 0 ,0, alignment=Qt.AlignLeft) - self.lay1.addWidget(l1,0,1, alignment=Qt.AlignLeft) - self.input_dict.append(l1) - - for i in range(self.obj.variables['Ni']['value']): - print(i) - l = QLineEdit() - l.setFixedWidth(80) - if len(self.obj.variables['InT_s']['value']) is not 0: - l.setText(str(self.obj.variables['InT_s']['value'][i])) - self.lay1.addWidget(QLabel(self.obj.variables['InT_s']['name'] +" " + str(i+1) + " location :"),2*(i+1),0, alignment=Qt.AlignLeft) - self.lay1.addWidget(l,2*(i+1),1, alignment=Qt.AlignLeft) - self.input_dict.append(l) - - # tab 2 - self.l4.setText(self.obj.variables['Ctype']['name']+":") - - self.u1.setText(self.obj.variables['Ctype']['unit']) - self.l5.setText(self.obj.variables['Pcond']['name']+":") - self.le5.setText(str(self.obj.variables['Pcond']['value'])) - self.u2.setText(self.obj.variables['Pcond']['unit']) - self.l6.setText(self.obj.variables['C_Spec']['name']+":") - self.le6.setText(str(self.obj.variables['C_Spec']['value'])) - self.l7.setText("Compounds :") - - self.cb5.addItem("Total") - self.cb5.addItem("Partial") - self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) - - for j in self.obj.Cspec_list: - self.cb1.addItem(str(j)) - self.cb1.setCurrentText(self.obj.variables['C_Spec']['type']) - for j in self.obj.compounds: - self.cb2.addItem(str(j)) - self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) - - self.cb2.setDisabled(True) - self.cb1.currentIndexChanged.connect(self.fun2) - - self.le5.setFixedWidth(80) - self.le6.setFixedWidth(80) - self.le7.setFixedWidth(80) - self.le8.setFixedWidth(80) - self.cb1.setFixedWidth(180) - self.cb2.setFixedWidth(80) - self.cb3.setFixedWidth(180) - self.cb4.setFixedWidth(80) - self.cb5.setFixedWidth(80) - self.u2.setAlignment(Qt.AlignLeft) - self.u3.setAlignment(Qt.AlignLeft) - - self.input_dict.append(self.cb5) - self.input_dict.append(self.le5) - self.input_dict.append(self.cb1) - self.input_dict.append(self.cb2) - self.input_dict.append(self.le6) - - # tab3 - self.l8.setText(self.obj.variables['Preb']['name']+":") - self.le7.setText(str(self.obj.variables['Preb']['value'])) - self.u3.setText(self.obj.variables['Preb']['unit']) - self.l9.setText(self.obj.variables['R_Spec']['name']+":") - self.le8.setText(str(self.obj.variables['R_Spec']['value'])) - self.l10.setText('Compounds') - - for j in self.obj.Rspec_list: - self.cb3.addItem(str(j)) - self.cb3.setCurrentText(self.obj.variables['R_Spec']['type']) - for j in self.obj.compounds: - self.cb4.addItem(str(j)) - self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) - self.cb4.setDisabled(True) - self.cb3.currentIndexChanged.connect(self.fun3) - - self.input_dict.append(self.le7) - self.input_dict.append(self.cb3) - self.input_dict.append(self.cb4) - self.input_dict.append(self.le8) - - self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] - for j in self.lines: - self.cbTP.addItem(str(j)) - self.cbTP.setCurrentText(self.obj.variables['thermo_package']['value']) - - self.input_dict.append(self.cbTP) - - # self.input_dict = [self.le1, self.le2, self.le3, self.cb5, self.le5, self.cb1, self.cb2, self.le6, self.le7, self.cb3, self.cb4, self.le8] - - except Exception as e: - print(e) - - def update_compounds(self): - self.cb2.clear() - self.cb4.clear() - for j in self.obj.compounds: - self.cb2.addItem(str(j)) - self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) - for j in self.obj.compounds: - self.cb4.addItem(str(j)) - self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) - - def fun2(self): - if self.cb1.currentText() == 'Compound Molar Fraction' or self.cb1.currentText() == 'Compound Molar Flow (mol/s)': - self.cb2.setDisabled(False) - else: - self.cb2.setDisabled(True) - - def fun3(self): - if self.cb3.currentText() == 'Compound Molar Fraction' or self.cb3.currentText() == 'Compound Molar Flow (mol/s)': - self.cb4.setDisabled(False) - else: - self.cb4.setDisabled(True) - - def Show_Error(self): - QMessageBox.about(self, 'Important', "Please fill all fields with data") - - def param(self): - try: - self.dict= [] - temp = 0 - print("param.input_dict ", self.input_dict) - self.dict.append(int(self.input_dict[0].text())) - - for i in range(self.obj.variables['Ni']['value']): - self.dict.append(int(self.input_dict[i+1].text())) - temp = i + 1 - print(temp) - - # print(temp) - # print(self.input_dict[temp+1]) - self.dict.append(self.input_dict[temp+1].currentText()) - # print(temp+1) - self.dict.append(int(self.input_dict[temp+2].text())) - #print(temp+2) - self.dict.append(self.input_dict[temp+3].currentText()) - #print(temp+3) - self.dict.append(self.input_dict[temp+4].currentText()) - #print(temp+4) - self.dict.append(int(self.input_dict[temp+5].text())) - #print(temp+5) - self.dict.append(int(self.input_dict[temp+6].text())) - #print(temp+6) - self.dict.append(self.input_dict[temp+7].currentText()) - #print(temp+7) - self.dict.append(self.input_dict[temp+8].currentText()) - #print(temp+8) - self.dict.append(int(self.input_dict[temp+9].text())) - #print(temp+9) - self.dict.append(self.input_dict[temp+10].currentText()) - #print(temp + 10) - - #print("param ", self.dict) - self.obj.param_setter(self.dict) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - def showStagewiseResults(self): - self.stage_res_table.show() - - @staticmethod - def showResult(lst): - # DockWidget1.flag = True - for i in lst: - try: - i.results_category(i.name) - except AttributeError: - pass - - def clear_results(self): - self.tableWidget.setRowCount(0) - self.stage_res_table.T_table.setRowCount(0) - self.stage_res_table.T_table.setColumnCount(0) - self.stage_res_table.x_pc_table.setRowCount(0) - self.stage_res_table.x_pc_table.setColumnCount(0) - - # result data tab - def results_category(self,name): - flag = True - try: - #print("Under result category name ", name) - result = self.container.result - obj = self.container.fetch_object(name) - self.tableWidget.setRowCount(0) - variKeys = obj.result_parameters - #print(variKeys) - for i, val in enumerate(variKeys): - propertyname = name + '.' + val - #print(i, val, propertyname) - if propertyname in result[0]: - ind = result[0].index(propertyname) - resultval = str(result[-1][ind]) - obj.variables[val]['value'] = result[-1][ind] - #print("######Resultsfetch####", val, resultval) - rowPosition = self.tableWidget.rowCount() - self.tableWidget.insertRow(rowPosition) - self.tableWidget.setItem(rowPosition, 0, QTableWidgetItem(obj.variables[val]['name'])) - self.tableWidget.setItem(rowPosition, 1, QTableWidgetItem(resultval)) - self.tableWidget.setItem(rowPosition, 2, QTableWidgetItem(obj.variables[val]['unit'])) - self.tableWidget.resizeColumnsToContents() - - # Stagewise Results - Nt = self.obj.variables['Nt']['value'] - Nc = len(self.obj.compounds) - # initializing temporary arrays - Stages_T = [None for i in range(Nt)] - # Can be uncommented when F_p and F_pc implemented in modelica table - # Stages_F_p = [[None for i in range(3)] for j in range(Nt)] - # Stages_F_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] - Stages_x_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] - - Stages_res_varikeys = ['T'] - for i in range(Nc): - for j in range(3): - Stages_res_varikeys.append('x_pc[' + str(j + 1) + ',' + str(i + 1) + ']') - - for v in Stages_res_varikeys: - propertyname = name + '.condenser.' + v - if propertyname in result[0]: - ind = result[0].index(propertyname) - if v == 'T': - Stages_T[0] = result[-1][ind] - # Can be uncommented when F_p is implemented in modelica model - # elif v == 'F_p': - # if result[0][ind][result[0][ind].index('[') + 1] == '1': - # Stages_F_p[0][0] = result[-1][ind] - # elif result[0][ind][result[0][ind].index('[') + 1] == '2': - # Stages_F_p[0][1] = result[-1][ind] - # else: - # Stages_F_p[0][2] = result[-1][ind] - else: - #print(ind) - phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) - comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) - Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] - # Can be uncommented and improved when F_pc implemented in modelica model - # if v == 'F_pc': - # Stages_F_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] - # else: - # Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] - - for i in range(1, Nt - 1): - propertyname = name + '.tray[' + str(i) + '].' + v - if propertyname in result[0]: - ind = result[0].index(propertyname) - if v == 'T': - Stages_T[i] = result[-1][ind] - # Can be uncommented when F_p implemented in modelica model - # elif v == 'F_p': - # if result[0][ind][result[0][ind].index('[') + 1] == '1': - # Stages_F_p[i][0] = result[-1][ind] - # elif result[0][ind][result[0][ind].index('[') + 1] == '2': - # Stages_F_p[i][1] = result[-1][ind] - # else: - # Stages_F_p[i][2] = result[-1][ind] - else: - # print(ind) - # print(result[0][ind]) - phase_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index('[') + 1]) - comp_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index(']') - 1]) - Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] - # Can be uncommented when F_pc implemented in modelica model - # if v == 'F_pc': - # Stages_F_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] - # else: - # Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] - - propertyname = name + '.reboiler.' + v - if propertyname in result[0]: - ind = result[0].index(propertyname) - if v == 'T': - Stages_T[-1] = result[-1][ind] - # Can be uncommented when F_p implemented in modelica model - # elif v == 'F_p': - # if result[0][ind][result[0][ind].index('[') + 1] == '1': - # Stages_F_p[-1][0] = result[-1][ind] - # elif result[0][ind][result[0][ind].index('[') + 1] == '2': - # Stages_F_p[-1][1] = result[-1][ind] - # else: - # Stages_F_p[-1][2] = result[-1][ind] - else: - print(ind) - phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) - comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) - Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] - # Can be uncommented when F_pc implemented in modelica model - # if v == 'F_pc': - # Stages_F_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] - # else: - # Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] - - # Assigning temp variables to obj variabes - self.obj.variables['Stages.T']['value'] = Stages_T - # Can be uncommented when F_p and F_pc implemented in modelica model - # self.obj.variables['Stages.F_p']['value'] = Stages_F_p - # self.obj.variables['Stages.F_pc']['value'] = Stages_F_pc - self.obj.variables['Stages.x_pc']['value'] = Stages_x_pc - - # filling stagewise result table - tables = [self.stage_res_table.T_table, self.stage_res_table.x_pc_table] - # Can be uncommented when F_p and F_pc implemented in modelica model - # tables = [self.stage_res_table.T_table, self.stage_res_table.F_p_table, self.stage_res_table.F_pc_table, self.stage_res_table.x_pc_table] - - for t in tables: - t.setRowCount(Nt) - t.setVerticalHeaderItem(0, QTableWidgetItem('Condenser')) - t.setVerticalHeaderItem(Nt -1, QTableWidgetItem('Reboiler')) - for i in range(1, Nt - 1): - t.setVerticalHeaderItem(i, QTableWidgetItem('Stage ' + str(i))) - - T_table = self.stage_res_table.T_table - T_table.setColumnCount(1) - for i in range(Nt): - T_table.setItem(i, 0, QTableWidgetItem(Stages_T[i])) - - x_pc_table = self.stage_res_table.x_pc_table - x_pc_table.setColumnCount(2*Nc) - for i in range(Nc): - x_pc_table.setHorizontalHeaderItem(2*i, QTableWidgetItem(self.obj.compounds[i] + '(Vapor)')) - x_pc_table.setHorizontalHeaderItem(2*i + 1, QTableWidgetItem(self.obj.compounds[i] + '(Liquid)')) - - for i in range(Nt): - for j in range(Nc): - x_pc_table.setItem(i, 2*j, QTableWidgetItem(Stages_x_pc[i][j][1])) - x_pc_table.setItem(i, 2 * j + 1, QTableWidgetItem(Stages_x_pc[i][j][2])) - - for t in tables: - t.resizeColumnsToContents() - except Exception as e: - print(e) - - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetFlash.py b/src/main/python/DockWidgets/DockWidgetFlash.py deleted file mode 100644 index c001fe2..0000000 --- a/src/main/python/DockWidgets/DockWidgetFlash.py +++ /dev/null @@ -1,90 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetFlash.ui') - -class DockWidgetFlash(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.input_dict = [] - self.input_params_list() - self.btn.clicked.connect(self.param) - self.dict = [] # a list - - def input_params_list(self): - try: - self.l1.setText(self.obj.variables['thermo_package']['name']+":") - self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] - for j in self.lines: - self.cb1.addItem(str(j)) - self.cb1.setCurrentText(self.obj.variables['thermo_package']['value']) - - self.check1.setText(self.obj.variables['Tdef']['name']+":") - self.le2.setText(str(self.obj.variables['Tdef']['value'])) - self.u2.setText(self.obj.variables['Tdef']['unit']) - self.check1.toggled.connect(self.fun) - self.check1.setChecked(self.obj.variables['BTdef']['value']) - self.check2.setText(self.obj.variables['Pdef']['name']+":") - self.le3.setText(str(self.obj.variables['Pdef']['value'])) - self.u3.setText(self.obj.variables['Pdef']['unit']) - self.check2.toggled.connect(self.fun) - self.check2.setChecked(self.obj.variables['BPdef']['value']) - - self.le2.setFixedWidth(80) - self.le3.setFixedWidth(80) - self.cb1.setFixedWidth(80) - - self.input_dict = [self.cb1, self.check1, self.le2, self.check2, self.le3] - - except Exception as e: - print(e) - - def fun(self): - if self.check1.isChecked(): - self.le2.setDisabled(False) - else: - self.le2.setDisabled(True) - if self.check2.isChecked(): - self.le3.setDisabled(False) - else: - self.le3.setDisabled(True) - - def show_error(self): - QMessageBox.about(self, 'Important', "Please fill all fields with data") - - def param(self): - try: - self.dict = [] - #print("param.input_dict ", self.input_dict) - self.dict = [self.input_dict[0].currentText(),self.input_dict[1].isChecked(), float(self.input_dict[2].text()), self.input_dict[3].isChecked(), float(self.input_dict[4].text())] - #print("param ", self.dict) - self.obj.param_setter(self.dict) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMaterialStream.py b/src/main/python/DockWidgets/DockWidgetMaterialStream.py deleted file mode 100644 index d2aefb6..0000000 --- a/src/main/python/DockWidgets/DockWidgetMaterialStream.py +++ /dev/null @@ -1,368 +0,0 @@ -import os, sys -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMaterialStream.ui') - -class DockWidgetMaterialStream(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.input_dict = {} - self.x_pclist = [] - - self.comboBox.currentIndexChanged.connect(self.mode_selection) - - self.pushButton_2.clicked.connect(self.param) - self.dict = {} # a dictionary - - self.name_type = None - self.container = container - - header = QTreeWidgetItem(['Compound','Value','Unit']) - self.mTreeWidget.setHeaderItem(header) - self.lTreeWidget.setHeaderItem(header) - self.vTreeWidget.setHeaderItem(header) - lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] - for j in lines: - self.cbTP.addItem(str(j)) - self.modes() - - # input data tab - def modes(self): - modes_list = self.obj.modes_list - if(modes_list): - for j in modes_list: - self.comboBox.addItem(str(j)) - self.comboBox.setCurrentText(self.obj.mode) - self.mode_selection() - else: - self.input_dict= {} - self.input_dict = self.obj.param_getter() - self.input_params_list() - - def mode_selection(self): - self.input_dict= {} - try: # removing existing rows while changing modes - for i in reversed(range(self.formLayout.count())): - self.formLayout.removeRow(i) - except Exception as e: - print(e) - self.input_dict = self.obj.param_getter(self.comboBox.currentText()) - self.obj.mode = self.comboBox.currentText() - self.input_params_list() - - def input_params_list(self): - try: - for c,i in enumerate(self.input_dict): - if(i=="x_pc"): - noc = len(compound_selected) - #print(noc) - self.x_pclist.clear() - - self.comp_gb = QGroupBox("Mole Fractions") - lay = QGridLayout() - for j in range(noc): - try: - l = QLineEdit(str(self.obj.variables['x_pc']['value'][j])) - except: - l = QLineEdit() - l.setFixedWidth(100) - self.input_dict[i] = "x_pc" - lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment= Qt.AlignLeft) - lay.addWidget(l,j,1, alignment=Qt.AlignCenter) - self.x_pclist.append(l) - lay.setSizeConstraint(QLayout.SetFixedSize) - self.comp_gb.setLayout(lay) - self.formLayout.addRow(self.comp_gb) - elif i == "Thermo Package": - self.cbTP.setCurrentText(self.input_dict[i]) - else: - #print("elseloop") - l = QLineEdit() - if self.input_dict[i] != None: - l.setText(str(self.input_dict[i])) - l.setFixedWidth(80) - lay = QGridLayout() - if i !='MolFlow': - lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) - else: - lay.addWidget(QLabel(i+":"),0,0, alignment=Qt.AlignLeft) - lay.addWidget(l,0,1, alignment=Qt.AlignCenter) - if(i != 'MolFlow'): - lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) - else: - lay.addWidget(QLabel("mol/s"),0,2, alignment=Qt.AlignLeft) - self.formLayout.addRow(lay) - self.input_dict[i] = l - - - except Exception as e: - print(e) - - def show_error(self): - QMessageBox.about(self, 'Important', "Please fill all fields with data") - - def update_compounds(self): - try: - noc = len(compound_selected) - #print(noc) - self.x_pclist.clear() - - lay = QGridLayout() - for j in range(noc): - l = QLineEdit() - lay.addWidget(QLabel(str(compound_selected[j]) + ":"), j, 0, alignment=Qt.AlignLeft) - lay.addWidget(l, j, 1, alignment=Qt.AlignCenter) - self.x_pclist.append(l) - lay.setSizeConstraint(QLayout.SetFixedSize) - self.comp_gb.setLayout(lay) - indexx = self.comboBox.currentIndex() - self.comboBox.setCurrentIndex(1) - self.comboBox.setCurrentIndex(indexx) - self.obj.init_variables() - except Exception as e: - print(e) - - def param(self): - try: - self.dict={} - #print("param.input_dict ", self.input_dict) - for i in self.input_dict: - #print(i) - if(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.obj.variables[compound_selected[c]]['value'] = str(float(l[c])/total_moles) - self.x_pclist[c].setText(mf[-1]) - self.dict[i] = ",".join(mf) - elif (i == "Thermo Package"): - self.dict[i] = self.cbTP.currentText() - else: - if (self.input_dict[i].text()): - self.dict[i] = self.input_dict[i].text() - else: - #print(self.input_dict[i]) - self.show_error() - break - - #print("param ", self.dict) - - self.obj.param_setter(self.dict) - - for i in self.container.graphics.graphicsView.items(): - try: - if(i.name == self.name): - i.update_tooltip() - except: - pass - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - def update_input_values(self): - self.init() - - @staticmethod - def show_result(ms_lst): - for i in ms_lst: - i.results_category(i.name) - - def clear_results(self): - self.mTreeWidget.clear() - self.mTableWidget.setRowCount(0) - self.lTreeWidget.clear() - self.lTableWidget.setRowCount(0) - self.vTreeWidget.clear() - self.vTableWidget.setRowCount(0) - - # result data tab - def results_category(self,name): - try: - #print("Under result category name ", name) - result=self.container.result - obj = self.container.fetch_object(name) - - - d = {"Mole Fraction":"x_pc", "Mass Fraction":"xm_pc", "Mole Flow":"F_pc", "Mass Flow":"Fm_pc"} - ms_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","Mass Flow Rate":"Fm_p"} - - # Amounts Tab - if obj.type == 'MaterialStream': - ll = [] # 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): - ll.append(i) - #print(ll) - - j = 0 - namee = 'none' - #print("namee ", namee) - #initialization for treewidgets - lroot = 1 - mroot = 1 - vroot = 1 - - - for i,k in enumerate(ll): - 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 not in k: - mroot = QTreeWidgetItem(self.mTreeWidget, [ms_lst[j]]) - lroot = QTreeWidgetItem(self.lTreeWidget, [ms_lst[j]]) - vroot = QTreeWidgetItem(self.vTreeWidget, [ms_lst[j]]) - namee = klst[j] - - phase_no = int(k[k.index(',') - 1]) # phase no is from modelica list - compound_no = int(k[k.index(',') + 1]) - 1 # compound is from python list - - if phase_no == 1: - child = QTreeWidgetItem(mroot, [compound_selected[compound_no], str(round(float(resultval),4)), - obj.variables[k.split('.')[1]]['unit']]) - elif phase_no == 2: - child = QTreeWidgetItem(lroot, [compound_selected[compound_no], str(round(float(resultval),4)), - obj.variables[k.split('.')[1]]['unit']]) - elif phase_no == 3: - child = QTreeWidgetItem(vroot, [compound_selected[compound_no], str(round(float(resultval),4)), - obj.variables[k.split('.')[1]]['unit']]) - if (compound_no + 1) == len(compound_selected): - j += 1 - - - - # 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(str(round(float(resultval),4)))) - 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(str(round(float(resultval),4)))) - 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(str(round(float(resultval),4)))) - self.vTableWidget.setItem(vrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) - self.vTableWidget.resizeColumnsToContents() - if not '[' in val: - #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(str(round(float(resultval),4)))) - self.mTableWidget.setItem(mrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) - self.mTableWidget.resizeColumnsToContents() - - - # updating the input data from fetched results from simulation - #print(self.comboBox.currentText()) - - self.input_dict = {} - self.input_dict = self.obj.param_getter(self.comboBox.currentText()) - # print("before", self.input_dict) - for i in range(len(compound_selected)): - #print(i) - self.input_dict['x_pc[1,' + str(i+1) + ']'] = self.obj.variables['x_pc[1,' + str(i+1) +']']['value'] - # self.input_dict['thermo_package'] = temp - # print("after", self.input_dict) - - # changing index for updating the input data - indexx = self.comboBox.currentIndex() - self.comboBox.setCurrentIndex(1) - self.comboBox.setCurrentIndex(indexx) - - try: - - for i in self.parent().container.graphics.graphicsView.items(): - try: - if i.obj == self.obj: - i.update_tooltip() - except Exception as e: - pass - except Exception as e: - print(e) - - - except Exception as e: - print(e) - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMixer.py b/src/main/python/DockWidgets/DockWidgetMixer.py deleted file mode 100644 index 5d89589..0000000 --- a/src/main/python/DockWidgets/DockWidgetMixer.py +++ /dev/null @@ -1,66 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMixer.ui') - -class DockWidgetMixer(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.input_dict = [] - self.x_pclist = [] - self.input_params_list() - self.btn.clicked.connect(self.param) - self.dict = {} - - # input data tab - def input_params_list(self): - try: - self.l1.setText(self.obj.variables['NI']['name']+":") - self.le1.setText(str(self.obj.variables['NI']['value'])) - self.u1.setText(self.obj.variables['NI']['unit']) - for i in self.obj.Pout_modes: - self.cb2.addItem(str(i)) - self.cb2.setCurrentText(self.obj.variables['outPress']['value']) - - self.l2.setText(self.obj.variables['outPress']['name']+":") - self.input_dict = [self.le1, self.cb2] - - 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={} - self.dict = [int(self.input_dict[0].text()), self.input_dict[1].currentText()] - self.obj.param_setter(self.dict) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py deleted file mode 100644 index b627e9d..0000000 --- a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py +++ /dev/null @@ -1,148 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetShortcutColumn.ui') - -class DockWidgetShortcutColumn(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.input_dict = [] - self.input_params_list() - self.btn.clicked.connect(self.param) - self.dict = [] - - self.name_type = None - self.container = container - - # input data tab - def input_params_list(self): - try: - self.l1.setText(self.obj.variables['HKey']['name']+":") - self.l2.setText(self.obj.variables['LKey']['name']+":") - - print(self.obj.compounds) - for i in self.obj.compounds: - self.cb1.addItem(str(i)) - self.cb2.addItem(str(i)) - self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value'])-1]) - self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value'])-1]) - - self.l3.setText(self.obj.variables['HKey_x_pc']['name']+":") - self.le3.setText(str(self.obj.variables['HKey_x_pc']['value'])) - self.u3.setText(self.obj.variables['HKey_x_pc']['unit']) - self.l4.setText(self.obj.variables['LKey_x_pc']['name']+":") - self.u4.setText(self.obj.variables['LKey_x_pc']['unit']) - self.le4.setText(str(self.obj.variables['LKey_x_pc']['value'])) - - self.l5.setText(self.obj.variables['Ctype']['name']+":") - self.cb5.addItem('Total') - self.cb5.addItem('Partial') - self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) - - self.l6.setText(self.obj.variables['Pcond']['name']+":") - self.le6.setText(str(self.obj.variables['Pcond']['value'])) - self.u6.setText(self.obj.variables['Pcond']['unit']) - self.l7.setText(self.obj.variables['Preb']['name']+":") - self.u7.setText(self.obj.variables['Preb']['unit']) - self.le7.setText(str(self.obj.variables['Preb']['value'])) - - self.l8.setText(self.obj.variables['RR']['name']+":") - self.le8.setText(str(self.obj.variables['RR']['value'])) - - self.l9.setText("Thermo Package :") - - self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] - for j in self.lines: - self.cb6.addItem(str(j)) - self.cb6.setCurrentText(self.obj.variables['thermo_package']['value']) - - self.input_dict = [self.cb1, self.cb2, self.le3, self.le4, self.cb5, self.le6, self.le7, self.le8, self.cb6] - - except Exception as e: - print(e) - - def update_compounds(self): - self.cb1.clear() - self.cb2.clear() - for i in self.obj.compounds: - self.cb1.addItem(str(i)) - self.cb2.addItem(str(i)) - self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value']) - 1]) - self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value']) - 1]) - - def show_error(self): - QMessageBox.about(self, 'Important', "Please fill all fields with data") - - def param(self): - try: - self.dict=[] - self.dict = [self.input_dict[0].currentText(),self.input_dict[1].currentText(),float(self.input_dict[2].text()), float(self.input_dict[3].text()), - self.input_dict[4].currentText(), float(self.input_dict[5].text()), float(self.input_dict[6].text()), float(self.input_dict[7].text()), - self.input_dict[8].currentText()] - self.obj.param_setter(self.dict) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - - except Exception as e: - print(e) - - @staticmethod - def show_result(lst): - for i in lst: - try: - i.results_category(i.name) - except AttributeError: - pass - - def clear_results(self): - self.tableWidget.setRowCount(0) - - # result data tab - def results_category(self,name): - flag = True - try: - #print("Under result category name ", name) - result=self.container.result - obj = self.container.fetch_object(name) - self.tableWidget.setRowCount(0) - variKeys = obj.result_parameters - #print(variKeys) - for i, val in enumerate(variKeys): - propertyname = name + '.' + val - #print(i,val, propertyname) - if propertyname in result[0]: - ind = result[0].index(propertyname) - resultval = str(result[-1][ind]) - obj.variables[val]['value']= result[-1][ind] - #print("######Resultsfetch####",val,resultval) - rowPosition = self.tableWidget.rowCount() - self.tableWidget.insertRow(rowPosition) - self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) - self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) - self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) - self.tableWidget.resizeColumnsToContents() - except Exception as e: - print(e) - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetSplitter.py b/src/main/python/DockWidgets/DockWidgetSplitter.py deleted file mode 100644 index 296e111..0000000 --- a/src/main/python/DockWidgets/DockWidgetSplitter.py +++ /dev/null @@ -1,85 +0,0 @@ -import os, sys - -current = os.path.dirname(os.path.realpath(__file__)) -parent = os.path.dirname(current) -parentPath = os.path.dirname(parent) -sys.path.append(parentPath) - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.uic import loadUiType -from python.utils.ComponentSelector import * -from python.utils.Graphics import * - -ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetSplitter.ui') - -class DockWidgetSplitter(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.input_dict = [] - self.input_params_list() - self.btn.clicked.connect(self.param) - self.dict = {} - - # input data tab - def input_params_list(self): - try: - self.l1.setText(self.obj.variables['No']['name']+":") - self.le1.setText(str(self.obj.variables['No']['value'])) - self.u1.setText(self.obj.variables['No']['unit']) - - self.l2.setText(self.obj.variables['CalcType']['name'] + ":") - for i in self.obj.CalcType_modes: - self.cb2.addItem(str(i)) - self.cb2.setCurrentText(self.obj.variables['CalcType']['value']) - - self.l3.setText("Stream 1 :") - self.le3.setText(str(self.obj.variables['SpecVal_s']['value'][0])) - self.u3.setText(self.obj.variables['SpecVal_s']['unit']) - self.l4.setText("Stream 2 :") - self.le4.setText(str(self.obj.variables['SpecVal_s']['value'][1])) - self.u4.setText(str(self.obj.variables['SpecVal_s']['unit'])) - self.cb2.currentIndexChanged.connect(self.fun) - - self.input_dict = [self.le1, self.cb2, self.le3, self.le4] - - except Exception as e: - print(e) - - def fun(self): - if self.cb2.currentText() == 'Molar_Flow': - self.u3.setText('mol/s') - self.u4.setText('mol/s') - elif self.cb2.currentText() == 'Mass_Flow': - self.u3.setText('g/s') - self.u4.setText('g/s') - else: - self.u3.setText('') - self.u4.setText('') - - def show_error(self): - QMessageBox.about(self, 'Important', "Please fill all fields with data") - - def param(self): - try: - self.dict={} - self.dict = [int(self.input_dict[0].text()),self.input_dict[1].currentText(), float(self.input_dict[2].text()), float(self.input_dict[3].text())] - self.obj.param_setter(self.dict) - if(self.isVisible()): - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) - self.hide() - except Exception as e: - print(e) - - def closeEvent(self,event): - scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal - currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() - self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/__init__.py b/src/main/python/DockWidgets/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc deleted file mode 100644 index b740ae4..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc deleted file mode 100644 index d8c43f1..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc deleted file mode 100644 index 0910bb4..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc deleted file mode 100644 index 90c3ef9..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc deleted file mode 100644 index 0bb8ec2..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc deleted file mode 100644 index eed70e1..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc deleted file mode 100644 index 75c33c9..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc deleted file mode 100644 index 05d0157..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc deleted file mode 100644 index 18ebc2a..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc deleted file mode 100644 index a3cba32..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc deleted file mode 100644 index 665e2e1..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc deleted file mode 100644 index 08f6dae..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc deleted file mode 100644 index 7be87c9..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc deleted file mode 100644 index abc5f50..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc deleted file mode 100644 index 5f13a9d..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc deleted file mode 100644 index 2974d48..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc deleted file mode 100644 index 34ef4fe..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc deleted file mode 100644 index 46cd536..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc deleted file mode 100644 index eaac842..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc deleted file mode 100644 index d23e668..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc and /dev/null differ diff --git a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9a9342e..0000000 Binary files a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc and /dev/null differ -- cgit From 3cbdd4238867bc860282f7cf702d73b5be6e3f86 Mon Sep 17 00:00:00 2001 From: brenda-br Date: Sat, 4 Mar 2023 11:32:15 +0530 Subject: Revert "Restructuring Finalized for App Bundling" This reverts commit 7af3526e105cc330422f8742ec5edec1c4a0a98f. --- .../DistillationColumnStagewiseResults.py | 18 + src/main/python/DockWidgets/DockWidget.py | 168 +++++++++ .../DockWidgets/DockWidgetCompoundSeparator.py | 134 +++++++ .../DockWidgets/DockWidgetCompressorExpander.py | 167 +++++++++ .../DockWidgets/DockWidgetDistillationColumn.py | 390 +++++++++++++++++++++ src/main/python/DockWidgets/DockWidgetFlash.py | 90 +++++ .../python/DockWidgets/DockWidgetMaterialStream.py | 368 +++++++++++++++++++ src/main/python/DockWidgets/DockWidgetMixer.py | 66 ++++ .../python/DockWidgets/DockWidgetShortcutColumn.py | 148 ++++++++ src/main/python/DockWidgets/DockWidgetSplitter.py | 85 +++++ src/main/python/DockWidgets/__init__.py | 0 ...stillationColumnStagewiseResults.cpython-36.pyc | Bin 0 -> 942 bytes ...stillationColumnStagewiseResults.cpython-37.pyc | Bin 0 -> 946 bytes .../__pycache__/DockWidget.cpython-36.pyc | Bin 0 -> 4843 bytes .../__pycache__/DockWidget.cpython-37.pyc | Bin 0 -> 4847 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 0 -> 4450 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 0 -> 4454 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 0 -> 5466 bytes .../DockWidgetCompressorExpander.cpython-37.pyc | Bin 0 -> 5470 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 0 -> 10450 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 0 -> 10387 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 0 -> 3547 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 0 -> 3551 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 0 -> 9701 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 0 -> 9690 bytes .../__pycache__/DockWidgetMixer.cpython-36.pyc | Bin 0 -> 2703 bytes .../__pycache__/DockWidgetMixer.cpython-37.pyc | Bin 0 -> 2707 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 0 -> 5592 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 0 -> 5589 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 0 -> 3338 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 0 -> 3342 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 208 bytes 32 files changed, 1634 insertions(+) create mode 100644 src/main/python/DockWidgets/DistillationColumnStagewiseResults.py create mode 100644 src/main/python/DockWidgets/DockWidget.py create mode 100644 src/main/python/DockWidgets/DockWidgetCompoundSeparator.py create mode 100644 src/main/python/DockWidgets/DockWidgetCompressorExpander.py create mode 100644 src/main/python/DockWidgets/DockWidgetDistillationColumn.py create mode 100644 src/main/python/DockWidgets/DockWidgetFlash.py create mode 100644 src/main/python/DockWidgets/DockWidgetMaterialStream.py create mode 100644 src/main/python/DockWidgets/DockWidgetMixer.py create mode 100644 src/main/python/DockWidgets/DockWidgetShortcutColumn.py create mode 100644 src/main/python/DockWidgets/DockWidgetSplitter.py create mode 100644 src/main/python/DockWidgets/__init__.py create mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc create mode 100644 src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py b/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py new file mode 100644 index 0000000..65527dc --- /dev/null +++ b/src/main/python/DockWidgets/DistillationColumnStagewiseResults.py @@ -0,0 +1,18 @@ +import os, sys +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.uic import loadUiType +from PyQt5.QtWidgets import QWidget + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DistillationColumnStagewiseResults.ui') + + +class DistillationColumnStagewiseResults(QWidget,ui_dialog): + + def __init__(self, parent=None): + QWidget.__init__(self, parent) + self.setupUi(self) + # self.setWindowTitle(self.parent.obj.name) diff --git a/src/main/python/DockWidgets/DockWidget.py b/src/main/python/DockWidgets/DockWidget.py new file mode 100644 index 0000000..764d8fb --- /dev/null +++ b/src/main/python/DockWidgets/DockWidget.py @@ -0,0 +1,168 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/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.input_dict = {} + self.modes() + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + #print("constructor ", self.input_dict) + self.pushButton_2.clicked.connect(self.param) + + self.dict = {} # a dictionary + self.container = container + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(self.obj.variables[j]['name'])) + self.comboBox.setCurrentText(self.obj.variables[self.obj.mode]['name']) + self.mode_selection() + else: + self.comboBox.setDisabled(True) + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + 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.input_dict = self.obj.param_getter(currentText) + #print('mode selection ', self.input_dict) + self.input_params_list() + + def input_params_list(self): + try: + #print("input_params_list ", self.input_dict) + for c,i in enumerate(self.input_dict): + #print(i) + if i == None: + continue + l = QLineEdit(str(self.obj.variables[i]['value'])) + l.setFixedWidth(80) + lay = QGridLayout() + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) + self.formLayout.addRow(lay) + self.input_dict[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.input_dict ", self.input_dict) + for i in self.input_dict: + if (self.input_dict[i] == None): + continue + else: + #print(self.input_dict[i], i, self.obj.type) + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + #print(self.input_dict[i].text()) + self.show_error() + break + + #print("param ", self.dict) + self.obj.param_setter(self.dict) + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = list(obj.variables.keys()) + #print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + #print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + #print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + # Updating result in class + obj.variables[val]['value'] = resultval + # try: + # if obj.type == "Heater": + # print(obj.variables[val]['name'] + str(obj.variables[val]['value'])) + # except Exception as e: + # print(e) + + + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py new file mode 100644 index 0000000..26f8fd4 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetCompoundSeparator.py @@ -0,0 +1,134 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +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 python.utils.ComponentSelector import * +from collections import defaultdict +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompoundSeparator.ui') + +class DockWidgetCompoundSeparator(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.input_dict = [] + self.lst = [] + self.input_params_list() + self.dict = [] + + def input_params_list(self): + try: + if self.type == 'CompoundSeparator': + self.lst.clear() + self.calculationGroupBox = QGroupBox('Calculation Parameters') + self.calculationLayout = QGridLayout() + + r1 = QRadioButton('Stream 1') + r1.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + r2 = QRadioButton('Stream 2') + r2.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + if self.obj.variables['SepStrm']['value'] == 1: + r1.setChecked(True) + r2.setChecked(False) + else: + r1.setChecked(False) + r2.setChecked(True) + + + 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") + for j in self.obj.SepFact_modes: + combo.addItem(str(j)) + #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.setFixedWidth(80) + l.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + 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) + + 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(self.calculationGroupBox,0,0) + self.gridLayout.addWidget(btn,1,0) + + self.input_dict = self.lst + + except Exception as e: + print(e) + + 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=[] + + self.dict = [self.input_dict[0].isChecked(), self.input_dict[1].isChecked()] + j = 2 + for i in range(len(self.obj.compounds)): + self.dict.append(self.input_dict[j+i].currentText()) + 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) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetCompressorExpander.py b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py new file mode 100644 index 0000000..9a8cb07 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetCompressorExpander.py @@ -0,0 +1,167 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetCompressorExpander.ui') + +class DockWidgetCompressorExpander(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.input_dict = {} + self.x_pclist = [] + self.modes() + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + self.pushButton_2.clicked.connect(self.param) + self.dict = {} + + self.name_type = None + self.container = container + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(self.obj.variables[j]['name'])) + self.mode_selection() + else: + self.comboBox.setDisabled(True) + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + 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.input_dict = self.obj.param_getter(currentText) + #print('mode selection ', self.input_dict) + self.input_params_list() + + def input_params_list(self): + try: + #print("input_params_list ", self.input_dict) + for c,i in enumerate(self.input_dict): + if i == None: + continue + + l = QLineEdit() + if self.input_dict[i] != None: + l.setText(str(self.input_dict[i])) + l.setFixedWidth(80) + lay = QGridLayout() + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) + + self.formLayout.addRow(lay) + self.input_dict[i] = l + + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in self.lines: + self.cbTP.addItem(str(j)) + self.input_dict['Thermo Package'] = self.cbTP + + 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={} + for i in self.input_dict: + if (self.input_dict[i] == None): + continue + elif (i == "Thermo Package"): + self.dict[i] = self.input_dict[i].currentText() + else: + #print(self.input_dict[i], i, self.obj.type) + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + #print(self.input_dict[i].text()) + self.show_error() + break + + self.obj.param_setter(self.dict) + + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = list(obj.variables.keys()) + #print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + #print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + #print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetDistillationColumn.py b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py new file mode 100644 index 0000000..7895b32 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetDistillationColumn.py @@ -0,0 +1,390 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +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 collections import defaultdict + +from python.utils.ComponentSelector import * +from python.DockWidgets.DistillationColumnStagewiseResults import DistillationColumnStagewiseResults +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetDistillationColumn.ui') + + +class DockWidgetDistillationColumn(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.input_dict = [] + self.pushButton_2.clicked.connect(self.param) + self.dict = [] + self.input_params_list() + self.name_type = None + self.container = container + self.stage_res_table = DistillationColumnStagewiseResults() + self.stageResultsButton.clicked.connect(self.showStagewiseResults) + + # input data tab + + def input_params_list(self): + try: + print("input_params_list ", self.input_dict) + + # tab 1 + + l1 = QLineEdit() + l1.setFixedWidth(80) + l1.setText(str(self.obj.variables['Nt']['value'])) + self.lay1.addWidget(QLabel(self.obj.variables['Nt']['name'] + " :"), 0 ,0, alignment=Qt.AlignLeft) + self.lay1.addWidget(l1,0,1, alignment=Qt.AlignLeft) + self.input_dict.append(l1) + + for i in range(self.obj.variables['Ni']['value']): + print(i) + l = QLineEdit() + l.setFixedWidth(80) + if len(self.obj.variables['InT_s']['value']) is not 0: + l.setText(str(self.obj.variables['InT_s']['value'][i])) + self.lay1.addWidget(QLabel(self.obj.variables['InT_s']['name'] +" " + str(i+1) + " location :"),2*(i+1),0, alignment=Qt.AlignLeft) + self.lay1.addWidget(l,2*(i+1),1, alignment=Qt.AlignLeft) + self.input_dict.append(l) + + # tab 2 + self.l4.setText(self.obj.variables['Ctype']['name']+":") + + self.u1.setText(self.obj.variables['Ctype']['unit']) + self.l5.setText(self.obj.variables['Pcond']['name']+":") + self.le5.setText(str(self.obj.variables['Pcond']['value'])) + self.u2.setText(self.obj.variables['Pcond']['unit']) + self.l6.setText(self.obj.variables['C_Spec']['name']+":") + self.le6.setText(str(self.obj.variables['C_Spec']['value'])) + self.l7.setText("Compounds :") + + self.cb5.addItem("Total") + self.cb5.addItem("Partial") + self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) + + for j in self.obj.Cspec_list: + self.cb1.addItem(str(j)) + self.cb1.setCurrentText(self.obj.variables['C_Spec']['type']) + for j in self.obj.compounds: + self.cb2.addItem(str(j)) + self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) + + self.cb2.setDisabled(True) + self.cb1.currentIndexChanged.connect(self.fun2) + + self.le5.setFixedWidth(80) + self.le6.setFixedWidth(80) + self.le7.setFixedWidth(80) + self.le8.setFixedWidth(80) + self.cb1.setFixedWidth(180) + self.cb2.setFixedWidth(80) + self.cb3.setFixedWidth(180) + self.cb4.setFixedWidth(80) + self.cb5.setFixedWidth(80) + self.u2.setAlignment(Qt.AlignLeft) + self.u3.setAlignment(Qt.AlignLeft) + + self.input_dict.append(self.cb5) + self.input_dict.append(self.le5) + self.input_dict.append(self.cb1) + self.input_dict.append(self.cb2) + self.input_dict.append(self.le6) + + # tab3 + self.l8.setText(self.obj.variables['Preb']['name']+":") + self.le7.setText(str(self.obj.variables['Preb']['value'])) + self.u3.setText(self.obj.variables['Preb']['unit']) + self.l9.setText(self.obj.variables['R_Spec']['name']+":") + self.le8.setText(str(self.obj.variables['R_Spec']['value'])) + self.l10.setText('Compounds') + + for j in self.obj.Rspec_list: + self.cb3.addItem(str(j)) + self.cb3.setCurrentText(self.obj.variables['R_Spec']['type']) + for j in self.obj.compounds: + self.cb4.addItem(str(j)) + self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) + self.cb4.setDisabled(True) + self.cb3.currentIndexChanged.connect(self.fun3) + + self.input_dict.append(self.le7) + self.input_dict.append(self.cb3) + self.input_dict.append(self.cb4) + self.input_dict.append(self.le8) + + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in self.lines: + self.cbTP.addItem(str(j)) + self.cbTP.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.input_dict.append(self.cbTP) + + # self.input_dict = [self.le1, self.le2, self.le3, self.cb5, self.le5, self.cb1, self.cb2, self.le6, self.le7, self.cb3, self.cb4, self.le8] + + except Exception as e: + print(e) + + def update_compounds(self): + self.cb2.clear() + self.cb4.clear() + for j in self.obj.compounds: + self.cb2.addItem(str(j)) + self.cb2.setCurrentText(self.obj.variables['C_Spec']['comp']) + for j in self.obj.compounds: + self.cb4.addItem(str(j)) + self.cb4.setCurrentText(self.obj.variables['R_Spec']['comp']) + + def fun2(self): + if self.cb1.currentText() == 'Compound Molar Fraction' or self.cb1.currentText() == 'Compound Molar Flow (mol/s)': + self.cb2.setDisabled(False) + else: + self.cb2.setDisabled(True) + + def fun3(self): + if self.cb3.currentText() == 'Compound Molar Fraction' or self.cb3.currentText() == 'Compound Molar Flow (mol/s)': + self.cb4.setDisabled(False) + else: + self.cb4.setDisabled(True) + + def Show_Error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict= [] + temp = 0 + print("param.input_dict ", self.input_dict) + self.dict.append(int(self.input_dict[0].text())) + + for i in range(self.obj.variables['Ni']['value']): + self.dict.append(int(self.input_dict[i+1].text())) + temp = i + 1 + print(temp) + + # print(temp) + # print(self.input_dict[temp+1]) + self.dict.append(self.input_dict[temp+1].currentText()) + # print(temp+1) + self.dict.append(int(self.input_dict[temp+2].text())) + #print(temp+2) + self.dict.append(self.input_dict[temp+3].currentText()) + #print(temp+3) + self.dict.append(self.input_dict[temp+4].currentText()) + #print(temp+4) + self.dict.append(int(self.input_dict[temp+5].text())) + #print(temp+5) + self.dict.append(int(self.input_dict[temp+6].text())) + #print(temp+6) + self.dict.append(self.input_dict[temp+7].currentText()) + #print(temp+7) + self.dict.append(self.input_dict[temp+8].currentText()) + #print(temp+8) + self.dict.append(int(self.input_dict[temp+9].text())) + #print(temp+9) + self.dict.append(self.input_dict[temp+10].currentText()) + #print(temp + 10) + + #print("param ", self.dict) + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def showStagewiseResults(self): + self.stage_res_table.show() + + @staticmethod + def showResult(lst): + # DockWidget1.flag = True + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + self.stage_res_table.T_table.setRowCount(0) + self.stage_res_table.T_table.setColumnCount(0) + self.stage_res_table.x_pc_table.setRowCount(0) + self.stage_res_table.x_pc_table.setColumnCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + #print("Under result category name ", name) + result = self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = obj.result_parameters + #print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + #print(i, val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + obj.variables[val]['value'] = result[-1][ind] + #print("######Resultsfetch####", val, resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition, 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition, 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition, 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + + # Stagewise Results + Nt = self.obj.variables['Nt']['value'] + Nc = len(self.obj.compounds) + # initializing temporary arrays + Stages_T = [None for i in range(Nt)] + # Can be uncommented when F_p and F_pc implemented in modelica table + # Stages_F_p = [[None for i in range(3)] for j in range(Nt)] + # Stages_F_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] + Stages_x_pc = [[[None for i in range(3)] for j in range(Nc)] for k in range(Nt)] + + Stages_res_varikeys = ['T'] + for i in range(Nc): + for j in range(3): + Stages_res_varikeys.append('x_pc[' + str(j + 1) + ',' + str(i + 1) + ']') + + for v in Stages_res_varikeys: + propertyname = name + '.condenser.' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[0] = result[-1][ind] + # Can be uncommented when F_p is implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[0][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[0][1] = result[-1][ind] + # else: + # Stages_F_p[0][2] = result[-1][ind] + else: + #print(ind) + phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) + comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) + Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented and improved when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[0][comp_no - 1][phase_no - 1] = result[-1][ind] + + for i in range(1, Nt - 1): + propertyname = name + '.tray[' + str(i) + '].' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[i] = result[-1][ind] + # Can be uncommented when F_p implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[i][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[i][1] = result[-1][ind] + # else: + # Stages_F_p[i][2] = result[-1][ind] + else: + # print(ind) + # print(result[0][ind]) + phase_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index('[') + 1]) + comp_no = int(result[0][ind].split('.')[-1][result[0][ind].split('.')[-1].index(']') - 1]) + Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[i][comp_no - 1][phase_no - 1] = result[-1][ind] + + propertyname = name + '.reboiler.' + v + if propertyname in result[0]: + ind = result[0].index(propertyname) + if v == 'T': + Stages_T[-1] = result[-1][ind] + # Can be uncommented when F_p implemented in modelica model + # elif v == 'F_p': + # if result[0][ind][result[0][ind].index('[') + 1] == '1': + # Stages_F_p[-1][0] = result[-1][ind] + # elif result[0][ind][result[0][ind].index('[') + 1] == '2': + # Stages_F_p[-1][1] = result[-1][ind] + # else: + # Stages_F_p[-1][2] = result[-1][ind] + else: + print(ind) + phase_no = int(result[0][ind][result[0][ind].index('[') + 1]) + comp_no = int(result[0][ind][result[0][ind].index(']') - 1]) + Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + # Can be uncommented when F_pc implemented in modelica model + # if v == 'F_pc': + # Stages_F_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + # else: + # Stages_x_pc[-1][comp_no - 1][phase_no - 1] = result[-1][ind] + + # Assigning temp variables to obj variabes + self.obj.variables['Stages.T']['value'] = Stages_T + # Can be uncommented when F_p and F_pc implemented in modelica model + # self.obj.variables['Stages.F_p']['value'] = Stages_F_p + # self.obj.variables['Stages.F_pc']['value'] = Stages_F_pc + self.obj.variables['Stages.x_pc']['value'] = Stages_x_pc + + # filling stagewise result table + tables = [self.stage_res_table.T_table, self.stage_res_table.x_pc_table] + # Can be uncommented when F_p and F_pc implemented in modelica model + # tables = [self.stage_res_table.T_table, self.stage_res_table.F_p_table, self.stage_res_table.F_pc_table, self.stage_res_table.x_pc_table] + + for t in tables: + t.setRowCount(Nt) + t.setVerticalHeaderItem(0, QTableWidgetItem('Condenser')) + t.setVerticalHeaderItem(Nt -1, QTableWidgetItem('Reboiler')) + for i in range(1, Nt - 1): + t.setVerticalHeaderItem(i, QTableWidgetItem('Stage ' + str(i))) + + T_table = self.stage_res_table.T_table + T_table.setColumnCount(1) + for i in range(Nt): + T_table.setItem(i, 0, QTableWidgetItem(Stages_T[i])) + + x_pc_table = self.stage_res_table.x_pc_table + x_pc_table.setColumnCount(2*Nc) + for i in range(Nc): + x_pc_table.setHorizontalHeaderItem(2*i, QTableWidgetItem(self.obj.compounds[i] + '(Vapor)')) + x_pc_table.setHorizontalHeaderItem(2*i + 1, QTableWidgetItem(self.obj.compounds[i] + '(Liquid)')) + + for i in range(Nt): + for j in range(Nc): + x_pc_table.setItem(i, 2*j, QTableWidgetItem(Stages_x_pc[i][j][1])) + x_pc_table.setItem(i, 2 * j + 1, QTableWidgetItem(Stages_x_pc[i][j][2])) + + for t in tables: + t.resizeColumnsToContents() + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetFlash.py b/src/main/python/DockWidgets/DockWidgetFlash.py new file mode 100644 index 0000000..c001fe2 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetFlash.py @@ -0,0 +1,90 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetFlash.ui') + +class DockWidgetFlash(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = [] # a list + + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['thermo_package']['name']+":") + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in self.lines: + self.cb1.addItem(str(j)) + self.cb1.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.check1.setText(self.obj.variables['Tdef']['name']+":") + self.le2.setText(str(self.obj.variables['Tdef']['value'])) + self.u2.setText(self.obj.variables['Tdef']['unit']) + self.check1.toggled.connect(self.fun) + self.check1.setChecked(self.obj.variables['BTdef']['value']) + self.check2.setText(self.obj.variables['Pdef']['name']+":") + self.le3.setText(str(self.obj.variables['Pdef']['value'])) + self.u3.setText(self.obj.variables['Pdef']['unit']) + self.check2.toggled.connect(self.fun) + self.check2.setChecked(self.obj.variables['BPdef']['value']) + + self.le2.setFixedWidth(80) + self.le3.setFixedWidth(80) + self.cb1.setFixedWidth(80) + + self.input_dict = [self.cb1, self.check1, self.le2, self.check2, self.le3] + + except Exception as e: + print(e) + + def fun(self): + if self.check1.isChecked(): + self.le2.setDisabled(False) + else: + self.le2.setDisabled(True) + if self.check2.isChecked(): + self.le3.setDisabled(False) + else: + self.le3.setDisabled(True) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict = [] + #print("param.input_dict ", self.input_dict) + self.dict = [self.input_dict[0].currentText(),self.input_dict[1].isChecked(), float(self.input_dict[2].text()), self.input_dict[3].isChecked(), float(self.input_dict[4].text())] + #print("param ", self.dict) + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMaterialStream.py b/src/main/python/DockWidgets/DockWidgetMaterialStream.py new file mode 100644 index 0000000..d2aefb6 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetMaterialStream.py @@ -0,0 +1,368 @@ +import os, sys +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMaterialStream.ui') + +class DockWidgetMaterialStream(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.input_dict = {} + self.x_pclist = [] + + self.comboBox.currentIndexChanged.connect(self.mode_selection) + + self.pushButton_2.clicked.connect(self.param) + self.dict = {} # a dictionary + + self.name_type = None + self.container = container + + header = QTreeWidgetItem(['Compound','Value','Unit']) + self.mTreeWidget.setHeaderItem(header) + self.lTreeWidget.setHeaderItem(header) + self.vTreeWidget.setHeaderItem(header) + lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in lines: + self.cbTP.addItem(str(j)) + self.modes() + + # input data tab + def modes(self): + modes_list = self.obj.modes_list + if(modes_list): + for j in modes_list: + self.comboBox.addItem(str(j)) + self.comboBox.setCurrentText(self.obj.mode) + self.mode_selection() + else: + self.input_dict= {} + self.input_dict = self.obj.param_getter() + self.input_params_list() + + def mode_selection(self): + self.input_dict= {} + try: # removing existing rows while changing modes + for i in reversed(range(self.formLayout.count())): + self.formLayout.removeRow(i) + except Exception as e: + print(e) + self.input_dict = self.obj.param_getter(self.comboBox.currentText()) + self.obj.mode = self.comboBox.currentText() + self.input_params_list() + + def input_params_list(self): + try: + for c,i in enumerate(self.input_dict): + if(i=="x_pc"): + noc = len(compound_selected) + #print(noc) + self.x_pclist.clear() + + self.comp_gb = QGroupBox("Mole Fractions") + lay = QGridLayout() + for j in range(noc): + try: + l = QLineEdit(str(self.obj.variables['x_pc']['value'][j])) + except: + l = QLineEdit() + l.setFixedWidth(100) + self.input_dict[i] = "x_pc" + lay.addWidget(QLabel(str(compound_selected[j])+":"),j,0, alignment= Qt.AlignLeft) + lay.addWidget(l,j,1, alignment=Qt.AlignCenter) + self.x_pclist.append(l) + lay.setSizeConstraint(QLayout.SetFixedSize) + self.comp_gb.setLayout(lay) + self.formLayout.addRow(self.comp_gb) + elif i == "Thermo Package": + self.cbTP.setCurrentText(self.input_dict[i]) + else: + #print("elseloop") + l = QLineEdit() + if self.input_dict[i] != None: + l.setText(str(self.input_dict[i])) + l.setFixedWidth(80) + lay = QGridLayout() + if i !='MolFlow': + lay.addWidget(QLabel(self.obj.variables[i]['name']+":"),0,0, alignment=Qt.AlignLeft) + else: + lay.addWidget(QLabel(i+":"),0,0, alignment=Qt.AlignLeft) + lay.addWidget(l,0,1, alignment=Qt.AlignCenter) + if(i != 'MolFlow'): + lay.addWidget(QLabel(self.obj.variables[i]['unit']),0,2, alignment=Qt.AlignLeft) + else: + lay.addWidget(QLabel("mol/s"),0,2, alignment=Qt.AlignLeft) + self.formLayout.addRow(lay) + self.input_dict[i] = l + + + except Exception as e: + print(e) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def update_compounds(self): + try: + noc = len(compound_selected) + #print(noc) + self.x_pclist.clear() + + lay = QGridLayout() + for j in range(noc): + l = QLineEdit() + lay.addWidget(QLabel(str(compound_selected[j]) + ":"), j, 0, alignment=Qt.AlignLeft) + lay.addWidget(l, j, 1, alignment=Qt.AlignCenter) + self.x_pclist.append(l) + lay.setSizeConstraint(QLayout.SetFixedSize) + self.comp_gb.setLayout(lay) + indexx = self.comboBox.currentIndex() + self.comboBox.setCurrentIndex(1) + self.comboBox.setCurrentIndex(indexx) + self.obj.init_variables() + except Exception as e: + print(e) + + def param(self): + try: + self.dict={} + #print("param.input_dict ", self.input_dict) + for i in self.input_dict: + #print(i) + if(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.obj.variables[compound_selected[c]]['value'] = str(float(l[c])/total_moles) + self.x_pclist[c].setText(mf[-1]) + self.dict[i] = ",".join(mf) + elif (i == "Thermo Package"): + self.dict[i] = self.cbTP.currentText() + else: + if (self.input_dict[i].text()): + self.dict[i] = self.input_dict[i].text() + else: + #print(self.input_dict[i]) + self.show_error() + break + + #print("param ", self.dict) + + self.obj.param_setter(self.dict) + + for i in self.container.graphics.graphicsView.items(): + try: + if(i.name == self.name): + i.update_tooltip() + except: + pass + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + def update_input_values(self): + self.init() + + @staticmethod + def show_result(ms_lst): + for i in ms_lst: + i.results_category(i.name) + + def clear_results(self): + self.mTreeWidget.clear() + self.mTableWidget.setRowCount(0) + self.lTreeWidget.clear() + self.lTableWidget.setRowCount(0) + self.vTreeWidget.clear() + self.vTableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + + + d = {"Mole Fraction":"x_pc", "Mass Fraction":"xm_pc", "Mole Flow":"F_pc", "Mass Flow":"Fm_pc"} + ms_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","Mass Flow Rate":"Fm_p"} + + # Amounts Tab + if obj.type == 'MaterialStream': + ll = [] # 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): + ll.append(i) + #print(ll) + + j = 0 + namee = 'none' + #print("namee ", namee) + #initialization for treewidgets + lroot = 1 + mroot = 1 + vroot = 1 + + + for i,k in enumerate(ll): + 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 not in k: + mroot = QTreeWidgetItem(self.mTreeWidget, [ms_lst[j]]) + lroot = QTreeWidgetItem(self.lTreeWidget, [ms_lst[j]]) + vroot = QTreeWidgetItem(self.vTreeWidget, [ms_lst[j]]) + namee = klst[j] + + phase_no = int(k[k.index(',') - 1]) # phase no is from modelica list + compound_no = int(k[k.index(',') + 1]) - 1 # compound is from python list + + if phase_no == 1: + child = QTreeWidgetItem(mroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + elif phase_no == 2: + child = QTreeWidgetItem(lroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + elif phase_no == 3: + child = QTreeWidgetItem(vroot, [compound_selected[compound_no], str(round(float(resultval),4)), + obj.variables[k.split('.')[1]]['unit']]) + if (compound_no + 1) == len(compound_selected): + j += 1 + + + + # 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(str(round(float(resultval),4)))) + 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(str(round(float(resultval),4)))) + 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(str(round(float(resultval),4)))) + self.vTableWidget.setItem(vrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) + self.vTableWidget.resizeColumnsToContents() + if not '[' in val: + #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(str(round(float(resultval),4)))) + self.mTableWidget.setItem(mrowPosition , 2, QTableWidgetItem(obj.variables[val.split('.')[1]]['unit'])) + self.mTableWidget.resizeColumnsToContents() + + + # updating the input data from fetched results from simulation + #print(self.comboBox.currentText()) + + self.input_dict = {} + self.input_dict = self.obj.param_getter(self.comboBox.currentText()) + # print("before", self.input_dict) + for i in range(len(compound_selected)): + #print(i) + self.input_dict['x_pc[1,' + str(i+1) + ']'] = self.obj.variables['x_pc[1,' + str(i+1) +']']['value'] + # self.input_dict['thermo_package'] = temp + # print("after", self.input_dict) + + # changing index for updating the input data + indexx = self.comboBox.currentIndex() + self.comboBox.setCurrentIndex(1) + self.comboBox.setCurrentIndex(indexx) + + try: + + for i in self.parent().container.graphics.graphicsView.items(): + try: + if i.obj == self.obj: + i.update_tooltip() + except Exception as e: + pass + except Exception as e: + print(e) + + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetMixer.py b/src/main/python/DockWidgets/DockWidgetMixer.py new file mode 100644 index 0000000..5d89589 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetMixer.py @@ -0,0 +1,66 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetMixer.ui') + +class DockWidgetMixer(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.input_dict = [] + self.x_pclist = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = {} + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['NI']['name']+":") + self.le1.setText(str(self.obj.variables['NI']['value'])) + self.u1.setText(self.obj.variables['NI']['unit']) + for i in self.obj.Pout_modes: + self.cb2.addItem(str(i)) + self.cb2.setCurrentText(self.obj.variables['outPress']['value']) + + self.l2.setText(self.obj.variables['outPress']['name']+":") + self.input_dict = [self.le1, self.cb2] + + 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={} + self.dict = [int(self.input_dict[0].text()), self.input_dict[1].currentText()] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetShortcutColumn.py b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py new file mode 100644 index 0000000..b627e9d --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetShortcutColumn.py @@ -0,0 +1,148 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetShortcutColumn.ui') + +class DockWidgetShortcutColumn(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = [] + + self.name_type = None + self.container = container + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['HKey']['name']+":") + self.l2.setText(self.obj.variables['LKey']['name']+":") + + print(self.obj.compounds) + for i in self.obj.compounds: + self.cb1.addItem(str(i)) + self.cb2.addItem(str(i)) + self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value'])-1]) + self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value'])-1]) + + self.l3.setText(self.obj.variables['HKey_x_pc']['name']+":") + self.le3.setText(str(self.obj.variables['HKey_x_pc']['value'])) + self.u3.setText(self.obj.variables['HKey_x_pc']['unit']) + self.l4.setText(self.obj.variables['LKey_x_pc']['name']+":") + self.u4.setText(self.obj.variables['LKey_x_pc']['unit']) + self.le4.setText(str(self.obj.variables['LKey_x_pc']['value'])) + + self.l5.setText(self.obj.variables['Ctype']['name']+":") + self.cb5.addItem('Total') + self.cb5.addItem('Partial') + self.cb5.setCurrentText(self.obj.variables['Ctype']['value']) + + self.l6.setText(self.obj.variables['Pcond']['name']+":") + self.le6.setText(str(self.obj.variables['Pcond']['value'])) + self.u6.setText(self.obj.variables['Pcond']['unit']) + self.l7.setText(self.obj.variables['Preb']['name']+":") + self.u7.setText(self.obj.variables['Preb']['unit']) + self.le7.setText(str(self.obj.variables['Preb']['value'])) + + self.l8.setText(self.obj.variables['RR']['name']+":") + self.le8.setText(str(self.obj.variables['RR']['value'])) + + self.l9.setText("Thermo Package :") + + self.lines = [line.rstrip('\n') for line in open(parentPath+'/python/utils/thermopackage.txt')] + for j in self.lines: + self.cb6.addItem(str(j)) + self.cb6.setCurrentText(self.obj.variables['thermo_package']['value']) + + self.input_dict = [self.cb1, self.cb2, self.le3, self.le4, self.cb5, self.le6, self.le7, self.le8, self.cb6] + + except Exception as e: + print(e) + + def update_compounds(self): + self.cb1.clear() + self.cb2.clear() + for i in self.obj.compounds: + self.cb1.addItem(str(i)) + self.cb2.addItem(str(i)) + self.cb1.setCurrentText(self.obj.compounds[int(self.obj.variables['HKey']['value']) - 1]) + self.cb2.setCurrentText(self.obj.compounds[int(self.obj.variables['LKey']['value']) - 1]) + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict=[] + self.dict = [self.input_dict[0].currentText(),self.input_dict[1].currentText(),float(self.input_dict[2].text()), float(self.input_dict[3].text()), + self.input_dict[4].currentText(), float(self.input_dict[5].text()), float(self.input_dict[6].text()), float(self.input_dict[7].text()), + self.input_dict[8].currentText()] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + + except Exception as e: + print(e) + + @staticmethod + def show_result(lst): + for i in lst: + try: + i.results_category(i.name) + except AttributeError: + pass + + def clear_results(self): + self.tableWidget.setRowCount(0) + + # result data tab + def results_category(self,name): + flag = True + try: + #print("Under result category name ", name) + result=self.container.result + obj = self.container.fetch_object(name) + self.tableWidget.setRowCount(0) + variKeys = obj.result_parameters + #print(variKeys) + for i, val in enumerate(variKeys): + propertyname = name + '.' + val + #print(i,val, propertyname) + if propertyname in result[0]: + ind = result[0].index(propertyname) + resultval = str(result[-1][ind]) + obj.variables[val]['value']= result[-1][ind] + #print("######Resultsfetch####",val,resultval) + rowPosition = self.tableWidget.rowCount() + self.tableWidget.insertRow(rowPosition) + self.tableWidget.setItem(rowPosition , 0, QTableWidgetItem(obj.variables[val]['name'])) + self.tableWidget.setItem(rowPosition , 1, QTableWidgetItem(resultval)) + self.tableWidget.setItem(rowPosition , 2, QTableWidgetItem(obj.variables[val]['unit'])) + self.tableWidget.resizeColumnsToContents() + except Exception as e: + print(e) + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/DockWidgetSplitter.py b/src/main/python/DockWidgets/DockWidgetSplitter.py new file mode 100644 index 0000000..296e111 --- /dev/null +++ b/src/main/python/DockWidgets/DockWidgetSplitter.py @@ -0,0 +1,85 @@ +import os, sys + +current = os.path.dirname(os.path.realpath(__file__)) +parent = os.path.dirname(current) +parentPath = os.path.dirname(parent) +sys.path.append(parentPath) + +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.uic import loadUiType +from python.utils.ComponentSelector import * +from python.utils.Graphics import * + +ui_dialog,_ = loadUiType(parentPath+'/ui/DockWidgets/DockWidgetSplitter.ui') + +class DockWidgetSplitter(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.input_dict = [] + self.input_params_list() + self.btn.clicked.connect(self.param) + self.dict = {} + + # input data tab + def input_params_list(self): + try: + self.l1.setText(self.obj.variables['No']['name']+":") + self.le1.setText(str(self.obj.variables['No']['value'])) + self.u1.setText(self.obj.variables['No']['unit']) + + self.l2.setText(self.obj.variables['CalcType']['name'] + ":") + for i in self.obj.CalcType_modes: + self.cb2.addItem(str(i)) + self.cb2.setCurrentText(self.obj.variables['CalcType']['value']) + + self.l3.setText("Stream 1 :") + self.le3.setText(str(self.obj.variables['SpecVal_s']['value'][0])) + self.u3.setText(self.obj.variables['SpecVal_s']['unit']) + self.l4.setText("Stream 2 :") + self.le4.setText(str(self.obj.variables['SpecVal_s']['value'][1])) + self.u4.setText(str(self.obj.variables['SpecVal_s']['unit'])) + self.cb2.currentIndexChanged.connect(self.fun) + + self.input_dict = [self.le1, self.cb2, self.le3, self.le4] + + except Exception as e: + print(e) + + def fun(self): + if self.cb2.currentText() == 'Molar_Flow': + self.u3.setText('mol/s') + self.u4.setText('mol/s') + elif self.cb2.currentText() == 'Mass_Flow': + self.u3.setText('g/s') + self.u4.setText('g/s') + else: + self.u3.setText('') + self.u4.setText('') + + def show_error(self): + QMessageBox.about(self, 'Important', "Please fill all fields with data") + + def param(self): + try: + self.dict={} + self.dict = [int(self.input_dict[0].text()),self.input_dict[1].currentText(), float(self.input_dict[2].text()), float(self.input_dict[3].text())] + self.obj.param_setter(self.dict) + if(self.isVisible()): + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) + self.hide() + except Exception as e: + print(e) + + def closeEvent(self,event): + scrollHVal = self.parent().container.graphics.graphicsView.horizontalScrollBarVal + currentVal = self.parent().container.graphics.graphicsView.horizontalScrollBar().value() + self.parent().container.graphics.graphicsView.horizontalScrollBar().setValue(currentVal-189) \ No newline at end of file diff --git a/src/main/python/DockWidgets/__init__.py b/src/main/python/DockWidgets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc new file mode 100644 index 0000000..b740ae4 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc new file mode 100644 index 0000000..d8c43f1 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc new file mode 100644 index 0000000..0910bb4 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc new file mode 100644 index 0000000..90c3ef9 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc new file mode 100644 index 0000000..0bb8ec2 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc new file mode 100644 index 0000000..eed70e1 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc new file mode 100644 index 0000000..75c33c9 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc new file mode 100644 index 0000000..05d0157 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc new file mode 100644 index 0000000..18ebc2a Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc new file mode 100644 index 0000000..a3cba32 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc new file mode 100644 index 0000000..665e2e1 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc new file mode 100644 index 0000000..08f6dae Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc new file mode 100644 index 0000000..7be87c9 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc new file mode 100644 index 0000000..abc5f50 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc new file mode 100644 index 0000000..5f13a9d Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc new file mode 100644 index 0000000..2974d48 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc new file mode 100644 index 0000000..34ef4fe Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc new file mode 100644 index 0000000..46cd536 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc new file mode 100644 index 0000000..eaac842 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc new file mode 100644 index 0000000..d23e668 Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000..9a9342e Binary files /dev/null and b/src/main/python/DockWidgets/__pycache__/__init__.cpython-37.pyc differ -- cgit From 3971305571c9180d0de081f00b388b3aba3d23ba Mon Sep 17 00:00:00 2001 From: brenda-br Date: Fri, 3 Mar 2023 16:17:50 +0530 Subject: Disabling Undo Redo --- ...istillationColumnStagewiseResults.cpython-36.pyc | Bin 942 -> 942 bytes .../__pycache__/DockWidget.cpython-36.pyc | Bin 4843 -> 4843 bytes .../DockWidgetCompoundSeparator.cpython-36.pyc | Bin 4450 -> 4450 bytes .../DockWidgetCompressorExpander.cpython-36.pyc | Bin 5466 -> 5466 bytes .../DockWidgetDistillationColumn.cpython-36.pyc | Bin 10450 -> 10450 bytes .../__pycache__/DockWidgetFlash.cpython-36.pyc | Bin 3547 -> 3547 bytes .../DockWidgetMaterialStream.cpython-36.pyc | Bin 9701 -> 9701 bytes .../__pycache__/DockWidgetMixer.cpython-36.pyc | Bin 2703 -> 2703 bytes .../DockWidgetShortcutColumn.cpython-36.pyc | Bin 5592 -> 5592 bytes .../__pycache__/DockWidgetSplitter.cpython-36.pyc | Bin 3338 -> 3338 bytes 10 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/python/DockWidgets') diff --git a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc index b740ae4..0feb70b 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DistillationColumnStagewiseResults.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc index 0910bb4..853e89a 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidget.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc index 0bb8ec2..355cf3a 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc index 75c33c9..88102aa 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetCompressorExpander.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc index 18ebc2a..f5eccbb 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc index 665e2e1..34d90b2 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetFlash.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc index 7be87c9..1181e13 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc index 5f13a9d..1fc6df4 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetMixer.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc index 34ef4fe..99d84d1 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-36.pyc differ diff --git a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc index eaac842..6c8bb16 100644 Binary files a/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc and b/src/main/python/DockWidgets/__pycache__/DockWidgetSplitter.cpython-36.pyc differ -- cgit