프로젝트

일반

사용자정보

개정판 680cee6a

ID680cee6a9c4b9ebf24d699d6eb25f00670b89503
상위 74c3c376
하위 b56bffce

백흠경이(가) 약 5년 전에 추가함

issue #1047: able to edit nozzle description

Change-Id: I7922b340f9aed00d82fb12ee140ee40dc3917a57

차이점 보기:

HYTOS/HYTOS/AppDocData.py
1527 1527
            conn.execute('PRAGMA foreign_keys = ON')
1528 1528
            conn.row_factory = sqlite3.Row
1529 1529
            cursor = conn.cursor()
1530
            sql = 'select Pressure, Pressure_Drop, Elevation, Over_Design_CV, CV_Type, B.X, B.Y from Nozzles A ' \
1530
            sql = 'select Pressure, Pressure_Drop, Elevation, Over_Design_CV, CV_Type, ' \
1531
                  'B.Name, B.X, B.Y from Nozzles A ' \
1531 1532
                  'left join Components B on A.Points_UID=B.UID where Points_UID=?'
1532 1533
            param = (uid,)
1533 1534
            cursor.execute(sql, param)
HYTOS/HYTOS/NozzleDescriptionDialog.py
1
# -*- coding: utf-8 -*-
2

  
3
from PyQt5.QtCore import *
4
from PyQt5.QtGui import *
5
from PyQt5.QtWidgets import *
6
import os
7
import sys
8
import socket
9
import platform
10
sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), 'UI'))
11
from AppDocData import AppDocData, Config
12
import NozzleDescription_UI
13
import math
14

  
15

  
16
class QNozzleDescriptionDialog(QDialog):
17
    def __init__(self, parent, desc):
18
        QDialog.__init__(self, parent)
19

  
20
        self.ui = NozzleDescription_UI.Ui_NozzleDescDialog()
21
        self.ui.setupUi(self)
22
        self._desc = desc
23

  
24
        self.ui.textEditNozzleDesc.setText(desc)
25

  
26
    @property
27
    def desc(self):
28
        return self._desc
29

  
30
    def zoom(self, delta):
31
        if delta < 0:
32
            self.ui.textEditNozzleDesc.zoomOut(1)
33
        elif delta > 0:
34
            self.ui.textEditNozzleDesc.zoomIn(5)
35

  
36
    def wheelEvent(self, event):
37
        if event.modifiers() & Qt.ControlModifier:
38
            delta = event.angleDelta() / 8
39
            self.zoom(delta.y())
40
        else:
41
            QDialog.wheelEvent(self, event)
42

  
43
    def accept(self):
44
        self._desc = self.ui.textEditNozzleDesc.toPlainText()
45
        QDialog.accept(self)
46

  
47
    def reject(self):
48
        QDialog.reject(self)
HYTOS/HYTOS/QtImageViewer.py
216 216

  
217 217
    def updateViewer(self, zoomNewRect=None):
218 218
        """Show current zoom (if showing entire image, apply current aspect ratio mode)."""
219
        if len(self.zoomStack):# and self.sceneRect().contains(self.zoomStack[-1]):
219
        if self.zoomStack:
220 220
            if zoomNewRect is None:
221 221
                self.fitInView(self.zoomStack[-1], Qt.KeepAspectRatio)  # Show zoomed rect (ignore aspect ratio).
222 222
            else:
......
241 241

  
242 242
        HALF_SIZE = 300
243 243
        clickPos = event.pos()
244
        scenePos1 = self.mapToScene(clickPos.x() - HALF_SIZE//adjust, clickPos.y() - HALF_SIZE//adjust)
245
        scenePos2 = self.mapToScene(clickPos.x() + HALF_SIZE//adjust, clickPos.y() + HALF_SIZE//adjust)
244
        left_top = self.mapToScene(clickPos.x() - HALF_SIZE//adjust, clickPos.y() - HALF_SIZE//adjust)
245
        right_bottom = self.mapToScene(clickPos.x() + HALF_SIZE//adjust, clickPos.y() + HALF_SIZE//adjust)
246 246
        if isZoomIn:
247
            zoomArea = QRectF(QPointF(scenePos1.x() if scenePos1.x() > 0 else 0, scenePos1.y() if scenePos1.y() > 0 else 0), QPointF(scenePos2.x(), scenePos2.y()))
248
            viewBBox = self.zoomStack[-1] if len(self.zoomStack) else self.sceneRect()
247
            zoomArea = QRectF(left_top, right_bottom)
248
            viewBBox = self.zoomStack[-1] if self.zoomStack else self.sceneRect()
249 249
            selectionBBox = zoomArea.intersected(viewBBox)
250 250
            self.scene.setSelectionArea(QPainterPath())  # Clear current selection area.
251 251
            if selectionBBox.isValid() and (selectionBBox != viewBBox):
......
254 254
        else:
255 255
            zoomNewRect = None
256 256
            self.scene.setSelectionArea(QPainterPath())  # Clear current selection area.
257
            if len(self.zoomStack):
257
            if self.zoomStack:
258 258
                zoomNewRect = self.zoomStack.pop()
259 259
            self.updateViewer(zoomNewRect)
260 260

  
HYTOS/HYTOS/Shapes/EngineeringConnectorItem.py
29 29
        self.elevation = None
30 30
        self.over_design_cv = None
31 31
        self.cv_type = None
32
        self.desc = None
32 33
        self.pos = None
33 34

  
34 35
    def parse(self, row):
......
45 46
                self.over_design_cv = float(row['Over_Design_CV'])
46 47
            if not row['CV_Type'] is None:
47 48
                self.cv_type = row['CV_Type']
49
            if not row['Name'] is None:
50
                self.desc = row['Name']
48 51
            if not row['X'] is None and not row['Y'] is None:
49 52
                self.pos = (float(row['X']), float(row['Y']))
50 53

  
HYTOS/HYTOS/Shapes/EngineeringEqpDescTextItem.py
44 44
    def set_font_color(self, color):
45 45
        self.setDefaultTextColor(QColor(color))
46 46

  
47
    def mouseDoubleClickEvent(self, event):
48
        """pop up nozzle description dialog"""
49
        from App import App
50
        from NozzleDescriptionDialog import QNozzleDescriptionDialog
51

  
52
        dlg = QNozzleDescriptionDialog(App.mainWnd(), self.toPlainText())
53
        if dlg.exec_():
54
            self.setHtml(dlg.desc.replace('\n', '<br>'))
55

  
47 56
    def toSql(self, conn):
48 57
        """ generate sql string to save label to database """
49 58
        res = []
50 59

  
51 60
        try:
52
            cols = ['UID', 'Symbols_UID', 'X', 'Y']
53
            values = ['?', '?', '?', '?']
61
            cols = ['UID', 'Symbols_UID', 'Name', 'X', 'Y']
62
            values = ['?', '?', '?', '?', '?']
54 63

  
55
            param = [str(conn.uid), str(self.parentItem().dbUid), self.pos().x(), self.pos().y()]
64
            param = [str(conn.uid), str(self.parentItem().dbUid), self.toHtml(), self.pos().x(), self.pos().y()]
56 65
            sql = f"insert or replace into Components({','.join(cols)}) values({','.join(values)})"
57 66
            res.append((sql, tuple(param)))
58 67
        except Exception as ex:
HYTOS/HYTOS/Shapes/SymbolSvgItem.py
384 384
            app_doc_data = AppDocData.instance()
385 385
            units = [attr[1] for attr in app_doc_data.activeDrawing.attrs if attr[0] == 'Units'][0]
386 386

  
387
            """
388
            # clear labels
389
            for conn, label in self.desc_labels.items():
390
                label.setHtml('')
391
            """
392

  
393 387
            self.update_label_contents()
394 388

  
395 389
            if self.category == 'Equipment - [ Pressure Drop ]':
......
734 728
        # clear labels
735 729
        for conn, label in self.desc_labels.items():
736 730
            label.setEnabled(False)
737
            label.setHtml('')
738 731

  
739 732
        if self.category == 'Equipment - [ Pressure Drop ]':
740 733
            if self.type == 'Air Fin Cooler':
741 734
                conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
742 735
                if conns:
743
                    self.desc_labels[conns[0]].setHtml(
744
                        f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
745
                        f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
736
                    if conns[0].data.desc is None:
737
                        self.desc_labels[conns[0]].setHtml(
738
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
739
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
740
                    else:
741
                        self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
746 742
                    self.desc_labels[conns[0]].setEnabled(True)
747 743
            elif self.type == 'Filter':
748 744
                if self.tag_no:
749 745
                    conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
750 746
                    if conns:
751
                        self.desc_labels[conns[0]].setHtml(
752
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
753
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
747
                        if conns[0].data.desc is None:
748
                            self.desc_labels[conns[0]].setHtml(
749
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
750
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
751
                        else:
752
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
753

  
754 754
                        self.desc_labels[conns[0]].setEnabled(True)
755 755
            elif self.type == 'Heat Exchanger':
756 756
                if self.tag_no:
......
763 763
                    if len(nozzles) > 0:
764 764
                        if self.name == 'HEX_DP':
765 765
                            if 'N1' in nozzles and 'N2' in nozzles:
766
                                self.desc_labels[self.connectors[0]].setHtml(
767
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
768
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
766
                                if self.connectors[0].data.desc is None:
767
                                    self.desc_labels[self.connectors[0]].setHtml(
768
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
769
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
770
                                else:
771
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
772

  
769 773
                                self.desc_labels[self.connectors[0]].setEnabled(True)
770 774
                            elif 'N1' in nozzles:
771
                                self.desc_labels[self.connectors[0]].setHtml(
772
                                    f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
773
                                    f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
775
                                if self.connectors[0].data.desc is None:
776
                                    self.desc_labels[self.connectors[0]].setHtml(
777
                                        f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
778
                                        f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
779
                                else:
780
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
781

  
774 782
                                self.desc_labels[self.connectors[0]].setEnabled(True)
775 783
                            elif 'N2' in nozzles:
776
                                self.desc_labels[self.connectors[1]].setHtml(
777
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
778
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
784
                                if self.connectors[1].data.desc is None:
785
                                    self.desc_labels[self.connectors[1]].setHtml(
786
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
787
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
788
                                else:
789
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
790

  
779 791
                                self.desc_labels[self.connectors[1]].setEnabled(True)
780 792
                        elif self.name == 'HEX_H':
781 793
                            if 'N1' in nozzles and 'N2' in nozzles:
782
                                self.desc_labels[self.connectors[0]].setHtml(
783
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
784
                                    f"[S] : {convert_to_fixed_point(self.connectors[0].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
794
                                if self.connectors[0].data.desc is None:
795
                                    self.desc_labels[self.connectors[0]].setHtml(
796
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
797
                                        f"[S] : {convert_to_fixed_point(self.connectors[0].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
798
                                else:
799
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
800

  
785 801
                                self.desc_labels[self.connectors[0]].setEnabled(True)
786 802
                            elif 'N1' in nozzles:
787
                                self.desc_labels[self.connectors[0]].setHtml(
788
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
789
                                    f"[S] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
803
                                if self.connectors[0].data.desc is None:
804
                                    self.desc_labels[self.connectors[0]].setHtml(
805
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
806
                                        f"[S] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
807
                                else:
808
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
809

  
790 810
                                self.desc_labels[self.connectors[0]].setEnabled(True)
791 811
                            elif 'N2' in nozzles:
792
                                self.desc_labels[self.connectors[1]].setHtml(
793
                                    f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
794
                                    f"[T] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
812
                                if self.connectors[1].data.desc is None:
813
                                    self.desc_labels[self.connectors[1]].setHtml(
814
                                        f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
815
                                        f"[T] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
816
                                else:
817
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
818

  
795 819
                                self.desc_labels[self.connectors[1]].setEnabled(True)
796 820
                        elif self.name == 'HEX_K':
797 821
                            if 'N1' in nozzles and 'N2' in nozzles:
798
                                self.desc_labels[self.connectors[0]].setHtml(
799
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
800
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
822
                                if self.connectors[0].data.desc is None:
823
                                    self.desc_labels[self.connectors[0]].setHtml(
824
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
825
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
826
                                else:
827
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
828

  
801 829
                                self.desc_labels[self.connectors[0]].setEnabled(True)
802 830
                            elif 'N1' in nozzles:
803
                                self.desc_labels[self.connectors[0]].setHtml(
804
                                    f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
805
                                    f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
831
                                if self.connectors[0].data.desc is None:
832
                                    self.desc_labels[self.connectors[0]].setHtml(
833
                                        f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
834
                                        f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
835
                                else:
836
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
837

  
806 838
                                self.desc_labels[self.connectors[0]].setEnabled(True)
807 839
                            elif 'N2' in nozzles:
808
                                self.desc_labels[self.connectors[1]].setHtml(
809
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
810
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
840
                                if self.connectors[1].data.desc is None:
841
                                    self.desc_labels[self.connectors[1]].setHtml(
842
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
843
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
844
                                else:
845
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
846

  
811 847
                                self.desc_labels[self.connectors[1]].setEnabled(True)
812 848
                        elif self.name == 'HEX_P':
813 849
                            if 'N1' in nozzles and 'N2' in nozzles:
814
                                self.desc_labels[self.connectors[0]].setHtml(
815
                                    f"{self.tag_no}<br>[A] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} [B] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
816
                                    f"[A] : {convert_to_fixed_point(self.connectors[0].data.elevation)} [B] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
850
                                if self.connectors[0].data.desc is None:
851
                                    self.desc_labels[self.connectors[0]].setHtml(
852
                                        f"{self.tag_no}<br>[A] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} [B] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
853
                                        f"[A] : {convert_to_fixed_point(self.connectors[0].data.elevation)} [B] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
854
                                else:
855
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
856

  
817 857
                                self.desc_labels[self.connectors[0]].setEnabled(True)
818 858
                            elif 'N1' in nozzles:
819
                                self.desc_labels[self.connectors[0]].setHtml(
820
                                    f"{self.tag_no}<br>[A] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
821
                                    f"[A] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
859
                                if self.connectors[0].data.desc is None:
860
                                    self.desc_labels[self.connectors[0]].setHtml(
861
                                        f"{self.tag_no}<br>[A] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
862
                                        f"[A] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
863
                                else:
864
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
865

  
822 866
                                self.desc_labels[self.connectors[0]].setEnabled(True)
823 867
                            elif 'N2' in nozzles:
824
                                self.desc_labels[self.connectors[1]].setHtml(
825
                                    f"{self.tag_no}<br>[B] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
826
                                    f"[B] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
868
                                if self.connectors[1].data.desc is None:
869
                                    self.desc_labels[self.connectors[1]].setHtml(
870
                                        f"{self.tag_no}<br>[B] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
871
                                        f"[B] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
872
                                else:
873
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
874

  
827 875
                                self.desc_labels[self.connectors[1]].setEnabled(True)
828 876
                        elif self.name == 'HEX_V':
829 877
                            if 'N1' in nozzles and 'N2' in nozzles:
830
                                self.desc_labels[self.connectors[0]].setHtml(
831
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
832
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
878
                                if self.connectors[0].data.desc is None:
879
                                    self.desc_labels[self.connectors[0]].setHtml(
880
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
881
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
882
                                else:
883
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
884

  
833 885
                                self.desc_labels[self.connectors[0]].setEnabled(True)
834 886
                            elif 'N1' in nozzles:
835
                                self.desc_labels[self.connectors[0]].setHtml(
836
                                    f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
837
                                    f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
887
                                if self.connectors[0].data.desc is None:
888
                                    self.desc_labels[self.connectors[0]].setHtml(
889
                                        f"{self.tag_no}<br>[T] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
890
                                        f"[T] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
891
                                else:
892
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
893

  
838 894
                                self.desc_labels[self.connectors[0]].setEnabled(True)
839 895
                            elif 'N2' in nozzles:
840
                                self.desc_labels[self.connectors[1]].setHtml(
841
                                    f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
842
                                    f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
896
                                if self.connectors[1].data.desc is None:
897
                                    self.desc_labels[self.connectors[1]].setHtml(
898
                                        f"{self.tag_no}<br>[S] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
899
                                        f"[S] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
900
                                else:
901
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
902

  
843 903
                                self.desc_labels[self.connectors[1]].setEnabled(True)
844 904
            elif self.type == 'Miscellaneous':
845 905
                if self.name == 'M_Coil':
846 906
                    if self.tag_no:
847 907
                        conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
848 908
                        if conns:
849
                            self.desc_labels[conns[0]].setHtml(
850
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
851
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
909
                            if conns[0].data.desc is None:
910
                                self.desc_labels[conns[0]].setHtml(
911
                                    f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
912
                                    f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
913
                            else:
914
                                self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
915

  
852 916
                            self.desc_labels[conns[0]].setEnabled(True)
853 917
                elif self.name == 'M_DP_E':
854 918
                    if self.tag_no:
......
860 924

  
861 925
                        if len(nozzles) > 0:
862 926
                            if 'N1' in nozzles and 'N2' in nozzles:
863
                                self.desc_labels[self.connectors[0]].setHtml(
864
                                    f"{self.tag_no}<br>[H] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [V] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
865
                                    f"[H] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [V] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
927
                                if self.connectors[0].data.desc is None:
928
                                    self.desc_labels[self.connectors[0]].setHtml(
929
                                        f"{self.tag_no}<br>[H] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} [V] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
930
                                        f"[H] : {convert_to_fixed_point(self.connectors[1].data.elevation)} [V] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
931
                                else:
932
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
933

  
866 934
                                self.desc_labels[self.connectors[0]].setEnabled(True)
867 935
                            elif 'N1' in nozzles:
868
                                self.desc_labels[self.connectors[0]].setHtml(
869
                                    f"{self.tag_no}<br>[V] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
870
                                    f"[V] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
936
                                if self.connectors[0].data.desc is None:
937
                                    self.desc_labels[self.connectors[0]].setHtml(
938
                                        f"{self.tag_no}<br>[V] : {convert_to_fixed_point(self.connectors[0].data.pressure_drop)} {units['Pressure']}<br>"
939
                                        f"[V] : {convert_to_fixed_point(self.connectors[0].data.elevation)} {units['Length']}")
940
                                else:
941
                                    self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
942

  
871 943
                                self.desc_labels[self.connectors[0]].setEnabled(True)
872 944
                            elif 'N2' in nozzles:
873
                                self.desc_labels[self.connectors[1]].setHtml(
874
                                    f"{self.tag_no}<br>[H] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
875
                                    f"[H] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
945
                                if self.connectors[1].data.desc is None:
946
                                    self.desc_labels[self.connectors[1]].setHtml(
947
                                        f"{self.tag_no}<br>[H] : {convert_to_fixed_point(self.connectors[1].data.pressure_drop)} {units['Pressure']}<br>"
948
                                        f"[H] : {convert_to_fixed_point(self.connectors[1].data.elevation)} {units['Length']}")
949
                                else:
950
                                    self.desc_labels[self.connectors[1]].setHtml(self.connectors[1].data.desc)
951

  
876 952
                                self.desc_labels[self.connectors[1]].setEnabled(True)
877 953
                elif self.name == 'M_React':
878 954
                    if self.tag_no:
......
899 975
                                elif 'N5' in nozzles:
900 976
                                    btm_index = 4
901 977

  
902
                                self.desc_labels[self.connectors[top_index]].setHtml(
903
                                    f"[DP] : {convert_to_fixed_point(self.connectors[top_index].data.pressure_drop)} {units['Pressure']}<br>"
904
                                    f"[Top] : {convert_to_fixed_point(self.connectors[top_index].data.elevation)} {units['Length']}<br>"
905
                                    f"[Btm] : {convert_to_fixed_point(self.connectors[btm_index].data.elevation)} {units['Length']}")
978
                                if self.connectors[top_index].data.desc is None:
979
                                    self.desc_labels[self.connectors[top_index]].setHtml(
980
                                        f"[DP] : {convert_to_fixed_point(self.connectors[top_index].data.pressure_drop)} {units['Pressure']}<br>"
981
                                        f"[Top] : {convert_to_fixed_point(self.connectors[top_index].data.elevation)} {units['Length']}<br>"
982
                                        f"[Btm] : {convert_to_fixed_point(self.connectors[btm_index].data.elevation)} {units['Length']}")
983
                                else:
984
                                    self.desc_labels[self.connectors[top_index]].setHtml(self.connectors[top_index].data.desc)
985

  
906 986
                                self.desc_labels[self.connectors[top_index]].setEnabled(True)
907 987
                            elif 'N1' in nozzles or 'N2' in nozzles or 'N6' in nozzles:
908 988
                                if 'N1' in nozzles:
......
912 992
                                elif 'N6' in nozzles:
913 993
                                    index = 5
914 994

  
915
                                self.desc_labels[self.connectors[index]].setHtml(
916
                                    f"[DP] : {convert_to_fixed_point(self.connectors[index].data.pressure_drop)} {units['Pressure']}<br>"
917
                                    f"[Top] : {convert_to_fixed_point(self.connectors[index].data.elevation)} {units['Length']}")
995
                                if self.connectors[index].data.desc is None:
996
                                    self.desc_labels[self.connectors[index]].setHtml(
997
                                        f"[DP] : {convert_to_fixed_point(self.connectors[index].data.pressure_drop)} {units['Pressure']}<br>"
998
                                        f"[Top] : {convert_to_fixed_point(self.connectors[index].data.elevation)} {units['Length']}")
999
                                else:
1000
                                    self.desc_labels[self.connectors[index]].setHtml(self.connectors[index].data.desc)
1001

  
918 1002
                                self.desc_labels[self.connectors[index]].setEnabled(True)
919 1003
                            elif 'N3' in nozzles or 'N4' in nozzles or 'N5' in nozzles:
920 1004
                                if 'N3' in nozzles:
......
924 1008
                                elif 'N5' in nozzles:
925 1009
                                    index = 4
926 1010

  
927
                                self.desc_labels[self.connectors[index]].setHtml(
928
                                    f"[DP] : {convert_to_fixed_point(self.connectors[index].data.pressure_drop)} {units['Pressure']}<br>"
929
                                    f"[Btm] : {convert_to_fixed_point(self.connectors[index].data.elevation)} {units['Length']}")
1011
                                if self.connectors[index].data.desc is None:
1012
                                    self.desc_labels[self.connectors[index]].setHtml(
1013
                                        f"[DP] : {convert_to_fixed_point(self.connectors[index].data.pressure_drop)} {units['Pressure']}<br>"
1014
                                        f"[Btm] : {convert_to_fixed_point(self.connectors[index].data.elevation)} {units['Length']}")
1015
                                else:
1016
                                    self.desc_labels[self.connectors[index]].setHtml(self.connectors[index].data.desc)
1017

  
930 1018
                                self.desc_labels[self.connectors[index]].setEnabled(True)
931 1019
            elif self.type == 'Strainer':
932 1020
                if self.tag_no:
933 1021
                    conns = [conn for conn in self.connectors
934 1022
                             if conn.data and conn.data.pressure_drop is not None and conn.data.elevation is not None]
935 1023
                    if conns:
936
                        self.desc_labels[conns[0]].setHtml(
937
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} {units['Pressure']}<br>"
938
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1024
                        if conns[0].data.desc is None:
1025
                            self.desc_labels[conns[0]].setHtml(
1026
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} {units['Pressure']}<br>"
1027
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1028
                        else:
1029
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1030

  
939 1031
                        self.desc_labels[conns[0]].setEnabled(True)
940 1032
        elif self.category == 'Equipment - [ Pressurized ]':
941 1033
            if self.type == 'Battery Limit':
......
943 1035
                    conns = [conn for conn in self.connectors
944 1036
                             if conn.data and conn.data.pressure is not None and conn.data.elevation is not None]
945 1037
                    if conns:
946
                        self.desc_labels[conns[0]].setHtml(
947
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure)} {units['Pressure']}(g)<br>"
948
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1038
                        if conns[0].data.desc is None:
1039
                            self.desc_labels[conns[0]].setHtml(
1040
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure)} {units['Pressure']}(g)<br>"
1041
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1042
                        else:
1043
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1044

  
949 1045
                        self.desc_labels[conns[0]].setEnabled(True)
950 1046
            elif self.type == 'Column':
951 1047
                if self.tag_no:
952 1048
                    for conn in self.connectors:
953 1049
                        if conn.data and (conn.data.pressure_drop is not None or conn.data.elevation is not None):
954 1050
                            nozzle = str(conn).rsplit('_', 1)[1]
955
                            self.desc_labels[conn].setHtml(
956
                                f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
957
                                f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1051
                            if conn.data.desc is None:
1052
                                self.desc_labels[conn].setHtml(
1053
                                    f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
1054
                                    f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1055
                            else:
1056
                                self.desc_labels[conn].setHtml(conn.data.desc)
1057

  
958 1058
                            self.desc_labels[conn].setEnabled(True)
959 1059
            elif self.type == 'Drum':
960 1060
                if self.tag_no:
961 1061
                    for conn in self.connectors:
962 1062
                        if conn.data and (conn.data.pressure_drop is not None or conn.data.elevation is not None):
963 1063
                            nozzle = str(conn).rsplit('_', 1)[1]
964
                            self.desc_labels[conn].setHtml(
965
                                f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
966
                                f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1064
                            if conn.data.desc is None:
1065
                                self.desc_labels[conn].setHtml(
1066
                                    f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
1067
                                    f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1068
                            else:
1069
                                self.desc_labels[conn].setHtml(conn.data.desc)
1070

  
967 1071
                            self.desc_labels[conn].setEnabled(True)
968 1072
            elif self.type == 'Miscellaneous':
969 1073
                if self.tag_no:
......
971 1075
                        if conn.data and (conn.data.pressure_drop is not None or conn.data.elevation is not None):
972 1076
                            nozzle = str(conn).rsplit('_', 1)[1]
973 1077
                            if conn.data:
974
                                self.desc_labels[conn].setHtml(
975
                                    f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
976
                                    f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1078
                                if conn.data.desc is None:
1079
                                    self.desc_labels[conn].setHtml(
1080
                                        f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
1081
                                        f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1082
                                else:
1083
                                    self.desc_labels[conn].setHtml(conn.data.desc)
1084

  
977 1085
                                self.desc_labels[conn].setEnabled(True)
978 1086
            elif self.type == 'Tank':
979 1087
                if self.tag_no:
......
981 1089
                        if conn.data and conn.connectedItem and \
982 1090
                                (conn.data.pressure_drop is not None or conn.data.elevation is not None):
983 1091
                            nozzle = str(conn).rsplit('_', 1)[1]
984
                            self.desc_labels[conn].setHtml(
985
                                f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
986
                                f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1092
                            if conn.data.desc is None:
1093
                                self.desc_labels[conn].setHtml(
1094
                                    f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
1095
                                    f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1096
                            else:
1097
                                self.desc_labels[conn].setHtml(conn.data.desc)
1098

  
987 1099
                            self.desc_labels[conn].setEnabled(True)
988 1100
        elif self.category == 'Equipment - [ Rotating ]':
989 1101
            if self.type == 'Compressor':
......
992 1104
                        for conn in self.connectors:
993 1105
                            if conn.data and (conn.data.pressure_drop is not None or conn.data.elevation is not None):
994 1106
                                nozzle = str(conn).rsplit('_', 1)[1]
995
                                self.desc_labels[conn].setHtml(
996
                                    f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
997
                                    f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1107
                                if conn.data.desc is None:
1108
                                    self.desc_labels[conn].setHtml(
1109
                                        f"{self.tag_no}_{nozzle}<br>{convert_to_fixed_point(conn.data.pressure)} "
1110
                                        f"{units['Pressure']}(g)<br>{convert_to_fixed_point(conn.data.elevation)} {units['Length']}")
1111
                                else:
1112
                                    self.desc_labels[conn].setHtml(conn.data.desc)
1113

  
998 1114
                                self.desc_labels[conn].setEnabled(True)
999 1115
                elif self.name in ('L_Komp', 'R_Komp'):
1000 1116
                    if self.tag_no:
1001 1117
                        conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
1002 1118
                        if conns:
1003
                            self.desc_labels[conns[0]].setHtml(
1004
                                f"{self.tag_no}<br>"
1005
                                f"{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1006
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1119
                            if conns[0].data.desc is None:
1120
                                self.desc_labels[conns[0]].setHtml(
1121
                                    f"{self.tag_no}<br>"
1122
                                    f"{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1123
                                    f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1124
                            else:
1125
                                self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1126

  
1007 1127
                            self.desc_labels[conns[0]].setEnabled(True)
1008 1128
            elif self.type == 'Pump':
1009 1129
                if self.tag_no:
1010 1130
                    conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
1011 1131
                    if conns:
1012
                        self.desc_labels[conns[0]].setHtml(
1013
                            f"{self.tag_no}<br>"
1014
                            f"{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1015
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1132
                        if conns[0].data.desc is None:
1133
                            self.desc_labels[conns[0]].setHtml(
1134
                                f"{self.tag_no}<br>"
1135
                                f"{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1136
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1137
                        else:
1138
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1139

  
1016 1140
                        self.desc_labels[conns[0]].setEnabled(True)
1017 1141
        elif self.category == 'Instrument':
1018 1142
            if self.type == 'Flowmeter':
1019 1143
                if self.tag_no:
1020 1144
                    data = self.connectors[0].data
1021 1145
                    if data:
1022
                        self.desc_labels[self.connectors[0]].setHtml(
1023
                            f"{self.tag_no}<br>{convert_to_fixed_point(data.pressure_drop)} "
1024
                            f"{units['Pressure']}<br>{convert_to_fixed_point(data.elevation)} {units['Length']}")
1146
                        if self.connectors[0].data.desc is None:
1147
                            self.desc_labels[self.connectors[0]].setHtml(
1148
                                f"{self.tag_no}<br>{convert_to_fixed_point(data.pressure_drop)} "
1149
                                f"{units['Pressure']}<br>{convert_to_fixed_point(data.elevation)} {units['Length']}")
1150
                        else:
1151
                            self.desc_labels[self.connectors[0]].setHtml(self.connectors[0].data.desc)
1152

  
1025 1153
                        self.desc_labels[self.connectors[0]].setEnabled(True)
1026 1154
            elif self.type == 'Line Splitter':
1027 1155
                if self.tag_no:
1028 1156
                    conns = [conn for conn in self.connectors
1029 1157
                             if conn.data and conn.data.pressure_drop is not None and conn.data.elevation is not None]
1030 1158
                    if conns:
1031
                        self.desc_labels[conns[0]].setHtml(
1032
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1033
                            f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1159
                        if conns[0].data.desc is None:
1160
                            self.desc_labels[conns[0]].setHtml(
1161
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1162
                                f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1163
                        else:
1164
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1165

  
1034 1166
                        self.desc_labels[conns[0]].setEnabled(True)
1035 1167
            elif self.type == 'Reducer':
1036 1168
                if self.tag_no:
1037 1169
                    conns = [conn for conn in self.connectors
1038 1170
                             if conn.data and conn.data.pressure_drop is not None and conn.data.elevation is not None]
1039 1171
                    if conns:
1040
                        self.desc_labels[conns[0]].setHtml(
1041
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1042
                            f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1172
                        if conns[0].data.desc is None:
1173
                            self.desc_labels[conns[0]].setHtml(
1174
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1175
                                f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1176
                        else:
1177
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1178

  
1043 1179
                        self.desc_labels[conns[0]].setEnabled(True)
1044 1180
            elif self.type == 'Valve':
1045 1181
                if self.tag_no and self.name in ('CV_H', 'CV_V'):
1046 1182
                    conns = [conn for conn in self.connectors if conn.data and conn.data.elevation is not None]
1047 1183
                    if conns:
1048
                        self.desc_labels[conns[0]].setHtml(
1049
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1050
                            f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1184
                        if conns[0].data.desc is None:
1185
                            self.desc_labels[conns[0]].setHtml(
1186
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop) if conns[0].data.pressure_drop is not None else 0} {units['Pressure']}<br>"
1187
                                f"{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1188
                        else:
1189
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1190

  
1051 1191
                        self.desc_labels[conns[0]].setEnabled(True)
1052 1192
                elif self.tag_no and self.name in ('MV_H', 'MV_V'):
1053 1193
                    conns = [conn for conn in self.connectors
1054 1194
                             if conn.data and conn.data.pressure_drop is not None and conn.data.elevation is not None]
1055 1195
                    if conns:
1056
                        self.desc_labels[conns[0]].setHtml(
1057
                            f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1058
                            f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1196
                        if conns[0].data.desc is None:
1197
                            self.desc_labels[conns[0]].setHtml(
1198
                                f"{self.tag_no}<br>{convert_to_fixed_point(conns[0].data.pressure_drop)} "
1199
                                f"{units['Pressure']}<br>{convert_to_fixed_point(conns[0].data.elevation)} {units['Length']}")
1200
                        else:
1201
                            self.desc_labels[conns[0]].setHtml(conns[0].data.desc)
1202

  
1059 1203
                        self.desc_labels[conns[0]].setEnabled(True)
1060 1204

  
1061 1205
        font_size = None
......
1400 1544
                   (func[0][2] is None or self.name in func[0][2])]
1401 1545
        if matches: matches[0][1]()
1402 1546

  
1547
    def reset_nozzle_desc(self) -> None:
1548
        """reset all of nozzle descriptions"""
1549

  
1550
        for conn, label in self.desc_labels.items():
1551
            conn.data.desc = None
1552

  
1403 1553
    def show_AirFinCooler(self):
1404 1554
        from AirFinCooler import QAirFinCooler
1405 1555

  
1406 1556
        dialog = QAirFinCooler()
1407 1557
        if dialog.show_dialog(self):
1558
            self.reset_nozzle_desc()
1408 1559
            self.update_label_contents()
1409 1560
            self.validate()
1410 1561

  
......
1413 1564

  
1414 1565
        dialog = QFilter()
1415 1566
        if dialog.show_dialog(self):
1567
            self.reset_nozzle_desc()
1416 1568
            self.update_label_contents()
1417 1569
            self.validate()
1418 1570

  
......
1421 1573

  
1422 1574
        dialog = QCoil()
1423 1575
        if dialog.show_dialog(self):
1576
            self.reset_nozzle_desc()
1424 1577
            self.update_label_contents()
1425 1578
            self.validate()
1426 1579

  
......
1429 1582

  
1430 1583
        dialog = QDP_Equipment()
1431 1584
        if dialog.show_dialog(self):
1585
            self.reset_nozzle_desc()
1432 1586
            self.update_label_contents()
1433 1587
            self.validate()
1434 1588

  
......
1437 1591

  
1438 1592
        dialog = QReactor()
1439 1593
        if dialog.show_dialog(self):
1594
            self.reset_nozzle_desc()
1440 1595
            self.update_label_contents()
1441 1596
            self.validate()
1442 1597

  
......
1445 1600

  
1446 1601
        dialog = QStrainer_T()
1447 1602
        if dialog.show_dialog(self):
1603
            self.reset_nozzle_desc()
1448 1604
            self.update_label_contents()
1449 1605
            self.validate()
1450 1606

  
......
1453 1609

  
1454 1610
        dialog = QStrainer_Y()
1455 1611
        if dialog.show_dialog(self):
1612
            self.reset_nozzle_desc()
1456 1613
            self.update_label_contents()
1457 1614
            self.validate()
1458 1615

  
......
1461 1618

  
1462 1619
        dialog = QBatteryLimit()
1463 1620
        if dialog.show_dialog(self):
1621
            self.reset_nozzle_desc()
1464 1622
            self.update_label_contents()
1465 1623
            self.validate()
1466 1624

  
......
1469 1627

  
1470 1628
        dialog = QTray()
1471 1629
        if dialog.show_dialog(self):
1630
            self.reset_nozzle_desc()
1472 1631
            self.update_label_contents()
1473 1632
            self.validate()
1474 1633

  
......
1477 1636

  
1478 1637
        dialog = QSinglePacked()
1479 1638
        if dialog.show_dialog(self):
1639
            self.reset_nozzle_desc()
1480 1640
            self.update_label_contents()
1481 1641
            self.validate()
1482 1642

  
......
1485 1645

  
1486 1646
        dialog = QDualPacked()
1487 1647
        if dialog.show_dialog(self):
1648
            self.reset_nozzle_desc()
1488 1649
            self.update_label_contents()
1489 1650
            self.validate()
1490 1651

  
......
1493 1654

  
1494 1655
        dialog = QDrum_Horizontal()
1495 1656
        if dialog.show_dialog(self):
1657
            self.reset_nozzle_desc()
1496 1658
            self.update_label_contents()
1497 1659
            self.validate()
1498 1660

  
......
1501 1663

  
1502 1664
        dialog = QDrum_Vertical()
1503 1665
        if dialog.show_dialog(self):
1666
            self.reset_nozzle_desc()
1504 1667
            self.update_label_contents()
1505 1668
            self.validate()
1506 1669

  
......
1509 1672

  
1510 1673
        dialog = QPlateHeatExchanger()
1511 1674
        if dialog.show_dialog(self):
1675
            self.reset_nozzle_desc()
1512 1676
            self.update_label_contents()
1513 1677
            self.validate()
1514 1678

  
......
1517 1681

  
1518 1682
        dialog = QEquipment()
1519 1683
        if dialog.show_dialog(self):
1684
            self.reset_nozzle_desc()
1520 1685
            self.update_label_contents()
1521 1686
            self.validate()
1522 1687

  
......
1525 1690

  
1526 1691
        dialog = QBall()
1527 1692
        if dialog.show_dialog(self):
1693
            self.reset_nozzle_desc()
1528 1694
            self.update_label_contents()
1529 1695
            self.validate()
1530 1696

  
......
1533 1699

  
1534 1700
        dialog = QShlTubHeatExchanger()
1535 1701
        if dialog.show_dialog(self):
1702
            self.reset_nozzle_desc()
1536 1703
            self.update_label_contents()
1537 1704
            self.validate()
1538 1705

  
......
1541 1708

  
1542 1709
        dialog = QConeRoof()
1543 1710
        if dialog.show_dialog(self):
1711
            self.reset_nozzle_desc()
1544 1712
            self.update_label_contents()
1545 1713
            self.validate()
1546 1714

  
......
1549 1717

  
1550 1718
        dialog = QDomeRoof()
1551 1719
        if dialog.show_dialog(self):
1720
            self.reset_nozzle_desc()
1552 1721
            self.update_label_contents()
1553 1722
            self.validate()
1554 1723

  
......
1557 1726

  
1558 1727
        dialog = QCompressor()
1559 1728
        if dialog.show_dialog(self):
1729
            self.reset_nozzle_desc()
1560 1730
            self.update_label_contents()
1561 1731
            self.validate()
1562 1732

  
......
1565 1735

  
1566 1736
        dialog = QKompressor()
1567 1737
        if dialog.show_dialog(self):
1738
            self.reset_nozzle_desc()
1568 1739
            self.update_label_contents()
1569 1740
            self.validate()
1570 1741

  
......
1573 1744

  
1574 1745
        dialog = QPump()
1575 1746
        if dialog.show_dialog(self):
1747
            self.reset_nozzle_desc()
1576 1748
            self.update_label_contents()
1577 1749
            self.validate()
1578 1750

  
......
1581 1753

  
1582 1754
        dialog = QValve_Control()
1583 1755
        if dialog.show_dialog(self):
1756
            self.reset_nozzle_desc()
1584 1757
            self.update_label_contents()
1585 1758
            self.validate()
1586 1759

  
......
1589 1762

  
1590 1763
        dialog = QValve_Manual()
1591 1764
        if dialog.show_dialog(self):
1765
            self.reset_nozzle_desc()
1592 1766
            self.update_label_contents()
1593 1767
            self.validate()
1594 1768

  
......
1597 1771

  
1598 1772
        dialog = QLineSplitter()
1599 1773
        if dialog.show_dialog(self):
1774
            self.reset_nozzle_desc()
1600 1775
            self.update_label_contents()
1601 1776
            self.validate()
1602 1777

  
......
1605 1780

  
1606 1781
        dialog = QFlowmeter()
1607 1782
        if dialog.show_dialog(self):
1783
            self.reset_nozzle_desc()
1608 1784
            self.update_label_contents()
1609 1785
            self.validate()
1610 1786

  
......
1613 1789

  
1614 1790
        dialog = QReducer()
1615 1791
        if dialog.show_dialog(self):
1792
            self.reset_nozzle_desc()
1616 1793
            self.update_label_contents()
1617 1794
            self.validate()
1618 1795

  
HYTOS/HYTOS/StreamDataDialog.py
376 376
        self.ui.tableWidget_GeometryData_Mixed.setHorizontalHeaderLabels(col_names)
377 377

  
378 378
        self.ui.tableWidget_GeometryData_Mixed.setEditTriggers(QAbstractItemView.NoEditTriggers)
379
        self.ui.tableWidget_GeometryData_Mixed.verticalHeader().setVisible(False)
379
        # self.ui.tableWidget_GeometryData_Mixed.verticalHeader().setVisible(False)
380 380
        self.ui.tableWidget_GeometryData_Mixed.resizeColumnsToContents()
381 381
        self.ui.tableWidget_GeometryData_Mixed.resizeRowsToContents()
382 382

  
HYTOS/HYTOS/UI/NozzleDescription.ui
1
<?xml version="1.0" encoding="UTF-8"?>
2
<ui version="4.0">
3
 <class>NozzleDescDialog</class>
4
 <widget class="QDialog" name="NozzleDescDialog">
5
  <property name="geometry">
6
   <rect>
7
    <x>0</x>
8
    <y>0</y>
9
    <width>353</width>
10
    <height>194</height>
11
   </rect>
12
  </property>
13
  <property name="windowTitle">
14
   <string>Nozzle Description</string>
15
  </property>
16
  <layout class="QGridLayout" name="gridLayout">
17
   <item row="0" column="0">
18
    <widget class="QGroupBox" name="groupBox">
19
     <property name="title">
20
      <string>Nozzle Description</string>
21
     </property>
22
     <layout class="QGridLayout" name="gridLayout_2">
23
      <item row="0" column="0">
24
       <widget class="QTextEdit" name="textEditNozzleDesc"/>
25
      </item>
26
     </layout>
27
    </widget>
28
   </item>
29
   <item row="1" column="0">
30
    <widget class="QDialogButtonBox" name="buttonBox">
31
     <property name="orientation">
32
      <enum>Qt::Horizontal</enum>
33
     </property>
34
     <property name="standardButtons">
35
      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
36
     </property>
37
    </widget>
38
   </item>
39
  </layout>
40
 </widget>
41
 <resources/>
42
 <connections>
43
  <connection>
44
   <sender>buttonBox</sender>
45
   <signal>accepted()</signal>
46
   <receiver>NozzleDescDialog</receiver>
47
   <slot>accept()</slot>
48
   <hints>
49
    <hint type="sourcelabel">
50
     <x>248</x>
51
     <y>254</y>
52
    </hint>
53
    <hint type="destinationlabel">
54
     <x>157</x>
55
     <y>274</y>
56
    </hint>
57
   </hints>
58
  </connection>
59
  <connection>
60
   <sender>buttonBox</sender>
61
   <signal>rejected()</signal>
62
   <receiver>NozzleDescDialog</receiver>
63
   <slot>reject()</slot>
64
   <hints>
65
    <hint type="sourcelabel">
66
     <x>316</x>
67
     <y>260</y>
68
    </hint>
69
    <hint type="destinationlabel">
70
     <x>286</x>
71
     <y>274</y>
72
    </hint>
73
   </hints>
74
  </connection>
75
 </connections>
76
</ui>
HYTOS/HYTOS/UI/NozzleDescription_UI.py
1
# -*- coding: utf-8 -*-
2

  
3
# Form implementation generated from reading ui file '.\UI\NozzleDescription.ui'
4
#
5
# Created by: PyQt5 UI code generator 5.14.1
6
#
7
# WARNING! All changes made in this file will be lost!
8

  
9

  
10
from PyQt5 import QtCore, QtGui, QtWidgets
11

  
12

  
13
class Ui_NozzleDescDialog(object):
14
    def setupUi(self, NozzleDescDialog):
15
        NozzleDescDialog.setObjectName("NozzleDescDialog")
16
        NozzleDescDialog.resize(353, 194)
17
        self.gridLayout = QtWidgets.QGridLayout(NozzleDescDialog)
18
        self.gridLayout.setObjectName("gridLayout")
19
        self.groupBox = QtWidgets.QGroupBox(NozzleDescDialog)
20
        self.groupBox.setObjectName("groupBox")
21
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
22
        self.gridLayout_2.setObjectName("gridLayout_2")
23
        self.textEditNozzleDesc = QtWidgets.QTextEdit(self.groupBox)
24
        self.textEditNozzleDesc.setObjectName("textEditNozzleDesc")
25
        self.gridLayout_2.addWidget(self.textEditNozzleDesc, 0, 0, 1, 1)
26
        self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 1)
27
        self.buttonBox = QtWidgets.QDialogButtonBox(NozzleDescDialog)
28
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
29
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
30
        self.buttonBox.setObjectName("buttonBox")
31
        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 1)
32

  
33
        self.retranslateUi(NozzleDescDialog)
34
        self.buttonBox.accepted.connect(NozzleDescDialog.accept)
35
        self.buttonBox.rejected.connect(NozzleDescDialog.reject)
36
        QtCore.QMetaObject.connectSlotsByName(NozzleDescDialog)
37

  
38
    def retranslateUi(self, NozzleDescDialog):
39
        _translate = QtCore.QCoreApplication.translate
40
        NozzleDescDialog.setWindowTitle(_translate("NozzleDescDialog", "Nozzle Description"))
41
        self.groupBox.setTitle(_translate("NozzleDescDialog", "Nozzle Description"))

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)