프로젝트

일반

사용자정보

개정판 144decef

ID144decefa837fbae4b3296fa320e60df2f5126a8
상위 51c04d02
하위 2ec610c0

함의성이(가) 2년 이상 전에 추가함

add size change error validation

Change-Id: I758afa7a11e53fc43e34f259ab7072b17cae0356

차이점 보기:

DTI_PID/DTI_PID/Shapes/EngineeringConnectorItem.py
606 606
            error = SymbolSvgItem.createItem('Error', None, path)
607 607
            error.setPosition(list(self.center()))
608 608
            error.parent = self.parentItem()
609
            error.msg = "connection point's position error"
609
            error.msg = "Connection point's position error"
610 610
            error.setToolTip(error.msg)
611 611
            error.area = 'Drawing'
612 612
            error.name = 'Error'
DTI_PID/DTI_PID/Shapes/EngineeringLineItem.py
1203 1203
                    error = SymbolSvgItem.createItem('Error', None, dataPath)
1204 1204
                    error.setPosition(list(connector.center()))
1205 1205
                    error.parent = self
1206
                    error.msg = _translate('disconnected', 'disconnected')
1206
                    error.msg = _translate('Disconnection error', 'Disconnection error')
1207 1207
                    error.setToolTip(error.msg)
1208 1208
                    error.area = 'Drawing'
1209 1209
                    error.name = 'Error'
......
1218 1218
                        error = SymbolSvgItem.createItem('Error', None, dataPath)
1219 1219
                        error.setPosition(list(connector.center()))
1220 1220
                        error.parent = self
1221
                        error.msg = _translate('disconnected from opposite side', 'disconnected from opposite side')
1221
                        error.msg = _translate('Disconnected from opposite side', 'Disconnected from opposite side')
1222 1222
                        error.setToolTip(error.msg)
1223 1223
                        error.area = 'Drawing'
1224 1224
                        error.name = 'Error'
......
1228 1228
                        error = SymbolSvgItem.createItem('Error', None, dataPath)
1229 1229
                        error.setPosition(list(connector.center()))
1230 1230
                        error.parent = self
1231
                        error.msg = _translate('mismatched position', 'mismatched position')
1231
                        error.msg = _translate('Mismatched position', 'Mismatched position')
1232 1232
                        error.setToolTip(error.msg)
1233 1233
                        error.area = 'Drawing'
1234 1234
                        error.name = 'Error'
......
1250 1250
                            error = SymbolSvgItem.createItem('Error', None, dataPath)
1251 1251
                            error.setPosition(list(connector.center()))
1252 1252
                            error.parent = self
1253
                            error.msg = _translate('disconnected from opposite side', 'disconnected from opposite side')
1253
                            error.msg = _translate('Disconnected from opposite side', 'Disconnected from opposite side')
1254 1254
                            error.setToolTip(error.msg)
1255 1255
                            error.area = 'Drawing'
1256 1256
                            error.name = 'Error'
......
1260 1260
                            error = SymbolSvgItem.createItem('Error', None, dataPath)
1261 1261
                            error.setPosition(list(connector.center()))
1262 1262
                            error.parent = self
1263
                            error.msg = _translate('flow direction error', 'flow direction error')
1263
                            error.msg = _translate('Flow direction error', 'Flow direction error')
1264 1264
                            error.setToolTip(error.msg)
1265 1265
                            error.area = 'Drawing'
1266 1266
                            error.name = 'Error'
......
1270 1270
                            error = SymbolSvgItem.createItem('Error', None, dataPath)
1271 1271
                            error.setPosition(list(connector.center()))
1272 1272
                            error.parent = self
1273
                            error.msg = _translate('line type error', 'line type error')
1273
                            error.msg = _translate('Line type error', 'Line type error')
1274 1274
                            error.setToolTip(error.msg)
1275 1275
                            error.area = 'Drawing'
1276 1276
                            error.name = 'Error'
......
1287 1287
                            error = SymbolSvgItem.createItem('Error', None, dataPath)
1288 1288
                            error.setPosition(list(connector.center()))
1289 1289
                            error.parent = self
1290
                            error.msg = _translate('Line Position error', 'Line Position error')
1290
                            error.msg = _translate('Line position error', 'Line position error')
1291 1291
                            error.setToolTip(error.msg)
1292 1292
                            error.area = 'Drawing'
1293 1293
                            error.name = 'Error'
......
1300 1300
                error = SymbolSvgItem.createItem('Error', None, dataPath)
1301 1301
                error.setPosition([self.sceneBoundingRect().center().x(), self.sceneBoundingRect().center().y()])
1302 1302
                error.parent = self
1303
                error.msg = _translate('duplicated connection', 'duplicated connection')
1303
                error.msg = _translate('Duplicated connection error', 'Duplicated connection error')
1304 1304
                error.setToolTip(error.msg)
1305 1305
                error.area = 'Drawing'
1306 1306
                error.name = 'Error'
DTI_PID/DTI_PID/Shapes/EngineeringLineNoTextItem.py
972 972

  
973 973
        from SymbolSvgItem import SymbolSvgItem
974 974
        from AppDocData import AppDocData
975
        from EngineeringReducerItem import QEngineeringReducerItem
975 976
        errors = []
976 977

  
977 978
        try:
......
980 981
            docdata = AppDocData.instance()
981 982
            dataPath = docdata.getErrorItemSvgPath()
982 983

  
983
            error = False
984
            lineNoError = False
984 985

  
985 986
            _from = self.prop('From')
986 987
            _to = self.prop('To')
987 988

  
988 989
            if not _from or not _to:
989
                error = True
990
                lineNoError = True
990 991
            elif self.runs:
991 992
                if self.runs[0].items[0] is not _from:
992
                    error = True
993
                    lineNoError = True
993 994
                elif self.runs[0].items[-1] is not _to:
994
                    error = True
995
                    lineNoError = True
995 996
            else:
996 997
                return errors
997 998

  
998
            if error:
999
            size_errors = []
1000
            for run in self.runs:
1001
                sizes = []
1002
                for item in run.items:
1003
                    attrs = item.getAttributes()
1004
                    for prop, value in attrs.items():
1005
                        if prop.Attribute.upper() == 'Size'.upper() or prop.Attribute.upper() == 'NominalDiameter'.upper():
1006
                            if value and value != 'None':
1007
                                if type(item) is QEngineeringReducerItem:
1008
                                    sizes.append([item, item.mainSubSize[0], item.mainSubSize[1]])
1009
                                    break
1010
                                else:
1011
                                    sizes.append([item, value, value])
1012
                                    break
1013
                if len(sizes) > 1:
1014
                    for index in range(len(sizes) - 1):
1015
                        if sizes[index][2] != sizes[index + 1][1]:
1016
                            if type(sizes[index][0]) is not QEngineeringReducerItem and type(sizes[index + 1][0]) is not QEngineeringReducerItem:
1017
                                size_errors.append(sizes[index][0])
1018
                                size_errors.append(sizes[index + 1][0])
1019

  
1020
            for size in size_errors:
1021
                error = SymbolSvgItem.createItem('Error', None, dataPath)
1022
                error.setPosition([size.sceneBoundingRect().center().x(), size.sceneBoundingRect().center().y()])
1023
                error.parent = self
1024
                error.msg = _translate('Size change error', 'Size change error')
1025
                error.setToolTip(error.msg)
1026
                error.area = 'Drawing'
1027
                error.name = 'Error'
1028
                errors.append(error)
1029

  
1030
            if lineNoError:
999 1031
                error = SymbolSvgItem.createItem('Error', None, dataPath)
1000 1032
                error.setPosition([self.sceneBoundingRect().center().x(), self.sceneBoundingRect().center().y()])
1001 1033
                error.parent = self
1002
                error.msg = _translate('from/ to error', 'from/ to error')
1034
                error.msg = _translate('From/ To error', 'From/ To error')
1003 1035
                error.setToolTip(error.msg)
1004 1036
                error.area = 'Drawing'
1005 1037
                error.name = 'Error'
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py
228 228
                    if indices[0] == indices[1]:
229 229
                        error = SymbolSvgItem.createItem('Error', None, dataPath)
230 230
                        error.parent = self
231
                        error.msg = self.tr('flow direction error')
231
                        error.msg = self.tr('Flow direction error')
232 232
                        error.setToolTip(error.msg)
233 233
                        error.area = 'Drawing'
234 234
                        error.name = 'Error'
......
241 241
                if not matches[0][1]:
242 242
                    error = SymbolSvgItem.createItem('Error', None, dataPath)
243 243
                    error.parent = self
244
                    error.msg = 'not combined'
244
                    error.msg = 'Not combined'
245 245
                    error.setToolTip(error.msg)
246 246
                    error.area = 'Drawing'
247 247
                    error.name = 'Error'
......
258 258
                if disconnect:
259 259
                    error = SymbolSvgItem.createItem('Error', None, dataPath)
260 260
                    error.parent = self
261
                    error.msg = 'disconnected'
261
                    error.msg = 'Disconnection error'
262 262
                    error.setToolTip(error.msg)
263 263
                    error.area = 'Drawing'
264 264
                    error.name = 'Error'
......
268 268
            if self.size[0] == 0 or self.size[1] == 0:
269 269
                error = SymbolSvgItem.createItem('Error', None, dataPath)
270 270
                error.parent = self
271
                error.msg = self.tr('size error')
271
                error.msg = self.tr('Size error')
272 272
                error.setToolTip(error.msg)
273 273
                error.area = 'Drawing'
274 274
                error.name = 'Error'
......
279 279
                if issubclass(type(assoc), QEngineeringTextItem) and not assoc.owner:
280 280
                    error = SymbolSvgItem.createItem('Error', None, dataPath)
281 281
                    error.parent = self
282
                    error.msg = self.tr('association error')
282
                    error.msg = self.tr('Association error')
283 283
                    error.setToolTip(error.msg)
284 284
                    error.area = self.area
285 285
                    error.name = 'Error'
......
304 304
                        error = SymbolSvgItem.createItem('Error', None, dataPath)
305 305
                        error.setPosition(list(connector.center()))
306 306
                        error.parent = self
307
                        error.msg = self.tr('disconnected from opposite side')
307
                        error.msg = self.tr('Disconnected from opposite side')
308 308
                        error.setToolTip(error.msg)
309 309
                        error.area = self.area
310 310
                        error.name = 'Error'
......
315 315
                error = SymbolSvgItem.createItem('Error', None, dataPath)
316 316
                error.setPosition([self.sceneBoundingRect().center().x(), self.sceneBoundingRect().center().y()])
317 317
                error.parent = self
318
                error.msg = self.tr('duplicated connection')
318
                error.msg = self.tr('Duplicated connection error')
319 319
                error.setToolTip(error.msg)
320 320
                error.area = self.area
321 321
                error.name = 'Error'
......
331 331
                            error = SymbolSvgItem.createItem('Error', None, dataPath)
332 332
                            error.setPosition(list(self.connectors[index].center()))
333 333
                            error.parent = self
334
                            error.msg = self.tr('line type error')
334
                            error.msg = self.tr('Line type error')
335 335
                            error.setToolTip(error.msg)
336 336
                            error.area = self.area
337 337
                            error.name = 'Error'
DTI_PID/DTI_PID/UI/Validation.ui
76 76
        <property name="sizeConstraint">
77 77
         <enum>QLayout::SetFixedSize</enum>
78 78
        </property>
79
        <item row="2" column="0">
80
         <widget class="QCheckBox" name="checkBoxSizeError">
79
        <item row="0" column="0">
80
         <widget class="QCheckBox" name="checkBoxSpecBreakError">
81 81
          <property name="enabled">
82 82
           <bool>false</bool>
83 83
          </property>
84 84
          <property name="text">
85
           <string>check graphic size error</string>
85
           <string>check specbreak error</string>
86 86
          </property>
87 87
          <property name="checked">
88 88
           <bool>true</bool>
89 89
          </property>
90 90
         </widget>
91 91
        </item>
92
        <item row="1" column="0">
93
         <widget class="QCheckBox" name="checkBoxAssociationError">
92
        <item row="5" column="0">
93
         <widget class="QCheckBox" name="checkBoxFlowDirectionError">
94 94
          <property name="enabled">
95 95
           <bool>false</bool>
96 96
          </property>
97 97
          <property name="text">
98
           <string>check association error</string>
98
           <string>check flow direction error</string>
99 99
          </property>
100 100
          <property name="checked">
101 101
           <bool>true</bool>
102 102
          </property>
103 103
         </widget>
104 104
        </item>
105
        <item row="6" column="0">
106
         <widget class="QCheckBox" name="checkBoxDisconnectionError">
105
        <item row="3" column="0">
106
         <widget class="QCheckBox" name="checkBoxDuplicatedConnectionError">
107 107
          <property name="enabled">
108 108
           <bool>false</bool>
109 109
          </property>
110 110
          <property name="text">
111
           <string>check disconnection error</string>
111
           <string>check duplicated connection error</string>
112 112
          </property>
113 113
          <property name="checked">
114 114
           <bool>true</bool>
115 115
          </property>
116 116
         </widget>
117 117
        </item>
118
        <item row="3" column="0">
119
         <widget class="QCheckBox" name="checkBoxDuplicatedConnectionError">
118
        <item row="4" column="0">
119
         <widget class="QCheckBox" name="checkBoxLineTypeError">
120 120
          <property name="enabled">
121 121
           <bool>false</bool>
122 122
          </property>
123 123
          <property name="text">
124
           <string>check duplicated connection error</string>
124
           <string>check line type error</string>
125 125
          </property>
126 126
          <property name="checked">
127 127
           <bool>true</bool>
128 128
          </property>
129 129
         </widget>
130 130
        </item>
131
        <item row="4" column="0">
132
         <widget class="QCheckBox" name="checkBoxLineTypeError">
131
        <item row="2" column="0">
132
         <widget class="QCheckBox" name="checkBoxSizeError">
133 133
          <property name="enabled">
134 134
           <bool>false</bool>
135 135
          </property>
136 136
          <property name="text">
137
           <string>check line type error</string>
137
           <string>check graphic size error</string>
138 138
          </property>
139 139
          <property name="checked">
140 140
           <bool>true</bool>
141 141
          </property>
142 142
         </widget>
143 143
        </item>
144
        <item row="5" column="0">
145
         <widget class="QCheckBox" name="checkBoxFlowDirectionError">
144
        <item row="1" column="0">
145
         <widget class="QCheckBox" name="checkBoxAssociationError">
146 146
          <property name="enabled">
147 147
           <bool>false</bool>
148 148
          </property>
149 149
          <property name="text">
150
           <string>check flow direction error</string>
150
           <string>check association error</string>
151 151
          </property>
152 152
          <property name="checked">
153 153
           <bool>true</bool>
154 154
          </property>
155 155
         </widget>
156 156
        </item>
157
        <item row="0" column="0">
158
         <widget class="QCheckBox" name="checkBoxSpecBreakError">
157
        <item row="6" column="0">
158
         <widget class="QCheckBox" name="checkBoxDisconnectionError">
159 159
          <property name="enabled">
160 160
           <bool>false</bool>
161 161
          </property>
162 162
          <property name="text">
163
           <string>check specbreak error</string>
163
           <string>check disconnection error</string>
164
          </property>
165
          <property name="checked">
166
           <bool>true</bool>
167
          </property>
168
         </widget>
169
        </item>
170
        <item row="7" column="0">
171
         <widget class="QCheckBox" name="checkBoxSizeChange">
172
          <property name="enabled">
173
           <bool>false</bool>
174
          </property>
175
          <property name="text">
176
           <string>check size change error</string>
177
          </property>
178
          <property name="checkable">
179
           <bool>true</bool>
164 180
          </property>
165 181
          <property name="checked">
166 182
           <bool>true</bool>
DTI_PID/DTI_PID/UI/Validation_UI.py
1 1
# -*- coding: utf-8 -*-
2 2

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

  
9

  
10 9
from PyQt5 import QtCore, QtGui, QtWidgets
11 10

  
12

  
13 11
class Ui_ValidationDialog(object):
14 12
    def setupUi(self, ValidationDialog):
15 13
        ValidationDialog.setObjectName("ValidationDialog")
......
58 56
        self.gridLayout_5 = QtWidgets.QGridLayout()
59 57
        self.gridLayout_5.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
60 58
        self.gridLayout_5.setObjectName("gridLayout_5")
59
        self.checkBoxSpecBreakError = QtWidgets.QCheckBox(self.groupBox_2)
60
        self.checkBoxSpecBreakError.setEnabled(False)
61
        self.checkBoxSpecBreakError.setChecked(True)
62
        self.checkBoxSpecBreakError.setObjectName("checkBoxSpecBreakError")
63
        self.gridLayout_5.addWidget(self.checkBoxSpecBreakError, 0, 0, 1, 1)
64
        self.checkBoxFlowDirectionError = QtWidgets.QCheckBox(self.groupBox_2)
65
        self.checkBoxFlowDirectionError.setEnabled(False)
66
        self.checkBoxFlowDirectionError.setChecked(True)
67
        self.checkBoxFlowDirectionError.setObjectName("checkBoxFlowDirectionError")
68
        self.gridLayout_5.addWidget(self.checkBoxFlowDirectionError, 5, 0, 1, 1)
69
        self.checkBoxDuplicatedConnectionError = QtWidgets.QCheckBox(self.groupBox_2)
70
        self.checkBoxDuplicatedConnectionError.setEnabled(False)
71
        self.checkBoxDuplicatedConnectionError.setChecked(True)
72
        self.checkBoxDuplicatedConnectionError.setObjectName("checkBoxDuplicatedConnectionError")
73
        self.gridLayout_5.addWidget(self.checkBoxDuplicatedConnectionError, 3, 0, 1, 1)
74
        self.checkBoxLineTypeError = QtWidgets.QCheckBox(self.groupBox_2)
75
        self.checkBoxLineTypeError.setEnabled(False)
76
        self.checkBoxLineTypeError.setChecked(True)
77
        self.checkBoxLineTypeError.setObjectName("checkBoxLineTypeError")
78
        self.gridLayout_5.addWidget(self.checkBoxLineTypeError, 4, 0, 1, 1)
61 79
        self.checkBoxSizeError = QtWidgets.QCheckBox(self.groupBox_2)
62 80
        self.checkBoxSizeError.setEnabled(False)
63 81
        self.checkBoxSizeError.setChecked(True)
......
73 91
        self.checkBoxDisconnectionError.setChecked(True)
74 92
        self.checkBoxDisconnectionError.setObjectName("checkBoxDisconnectionError")
75 93
        self.gridLayout_5.addWidget(self.checkBoxDisconnectionError, 6, 0, 1, 1)
76
        self.checkBoxDuplicatedConnectionError = QtWidgets.QCheckBox(self.groupBox_2)
77
        self.checkBoxDuplicatedConnectionError.setEnabled(False)
78
        self.checkBoxDuplicatedConnectionError.setChecked(True)
79
        self.checkBoxDuplicatedConnectionError.setObjectName("checkBoxDuplicatedConnectionError")
80
        self.gridLayout_5.addWidget(self.checkBoxDuplicatedConnectionError, 3, 0, 1, 1)
81
        self.checkBoxLineTypeError = QtWidgets.QCheckBox(self.groupBox_2)
82
        self.checkBoxLineTypeError.setEnabled(False)
83
        self.checkBoxLineTypeError.setChecked(True)
84
        self.checkBoxLineTypeError.setObjectName("checkBoxLineTypeError")
85
        self.gridLayout_5.addWidget(self.checkBoxLineTypeError, 4, 0, 1, 1)
86
        self.checkBoxFlowDirectionError = QtWidgets.QCheckBox(self.groupBox_2)
87
        self.checkBoxFlowDirectionError.setEnabled(False)
88
        self.checkBoxFlowDirectionError.setChecked(True)
89
        self.checkBoxFlowDirectionError.setObjectName("checkBoxFlowDirectionError")
90
        self.gridLayout_5.addWidget(self.checkBoxFlowDirectionError, 5, 0, 1, 1)
91
        self.checkBoxSpecBreakError = QtWidgets.QCheckBox(self.groupBox_2)
92
        self.checkBoxSpecBreakError.setEnabled(False)
93
        self.checkBoxSpecBreakError.setChecked(True)
94
        self.checkBoxSpecBreakError.setObjectName("checkBoxSpecBreakError")
95
        self.gridLayout_5.addWidget(self.checkBoxSpecBreakError, 0, 0, 1, 1)
94
        self.checkBoxSizeChange = QtWidgets.QCheckBox(self.groupBox_2)
95
        self.checkBoxSizeChange.setEnabled(False)
96
        self.checkBoxSizeChange.setCheckable(True)
97
        self.checkBoxSizeChange.setChecked(True)
98
        self.checkBoxSizeChange.setObjectName("checkBoxSizeChange")
99
        self.gridLayout_5.addWidget(self.checkBoxSizeChange, 7, 0, 1, 1)
96 100
        self.gridLayout.addLayout(self.gridLayout_5, 0, 0, 1, 1)
97 101
        self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1)
98 102

  
......
106 110
        ValidationDialog.setWindowTitle(_translate("ValidationDialog", "Validation"))
107 111
        self.groupBox.setTitle(_translate("ValidationDialog", "Custom Rules"))
108 112
        self.groupBox_2.setTitle(_translate("ValidationDialog", "Basic Rules"))
113
        self.checkBoxSpecBreakError.setText(_translate("ValidationDialog", "check specbreak error"))
114
        self.checkBoxFlowDirectionError.setText(_translate("ValidationDialog", "check flow direction error"))
115
        self.checkBoxDuplicatedConnectionError.setText(_translate("ValidationDialog", "check duplicated connection error"))
116
        self.checkBoxLineTypeError.setText(_translate("ValidationDialog", "check line type error"))
109 117
        self.checkBoxSizeError.setText(_translate("ValidationDialog", "check graphic size error"))
110 118
        self.checkBoxAssociationError.setText(_translate("ValidationDialog", "check association error"))
111 119
        self.checkBoxDisconnectionError.setText(_translate("ValidationDialog", "check disconnection error"))
112
        self.checkBoxDuplicatedConnectionError.setText(_translate("ValidationDialog", "check duplicated connection error"))
113
        self.checkBoxLineTypeError.setText(_translate("ValidationDialog", "check line type error"))
114
        self.checkBoxFlowDirectionError.setText(_translate("ValidationDialog", "check flow direction error"))
115
        self.checkBoxSpecBreakError.setText(_translate("ValidationDialog", "check specbreak error"))
120
        self.checkBoxSizeChange.setText(_translate("ValidationDialog", "check size change error"))
121

  
116 122
import MainWindow_rc
123

  
124
if __name__ == "__main__":
125
    import sys
126
    app = QtWidgets.QApplication(sys.argv)
127
    ValidationDialog = QtWidgets.QDialog()
128
    ui = Ui_ValidationDialog()
129
    ui.setupUi(ValidationDialog)
130
    ValidationDialog.show()
131
    sys.exit(app.exec_())
132

  

내보내기 Unified diff

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