프로젝트

일반

사용자정보

개정판 e65b0bf8

IDe65b0bf8f23f8ade24394175b9b4202d1a59ec7c
상위 d6d16d45
하위 18e5ca81

백흠경이(가) 6년 이상 전에 추가함

fixed some bugs

차이점 보기:

DTI_PID/DTI_PID/AppDocData.py
190 190

  
191 191
                from App import App 
192 192
                message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
193
                App.mainWnd().addMessage(MessageType.Error, message)
193
                App.mainWnd().addMessage.emit(MessageType.Error, message)
194 194
            finally:
195 195
                conn.close()
196 196

  
DTI_PID/DTI_PID/ItemPropertyTableWidget.py
67 67
            from App import App 
68 68

  
69 69
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
70
            App.mainWnd().addMessage(MessageType.Error, message)
70
            App.mainWnd().addMessage.emit(MessageType.Error, message)
71 71

  
72 72
    '''
73 73
        @brief      Initialize TableWidget
DTI_PID/DTI_PID/MainWindow.py
44 44
from TextItemFactory import TextItemFactory
45 45

  
46 46
class MainWindow(QMainWindow, MainWindow_UI.Ui_MainWindow, SingletonInstane):
47
    addMessage = pyqtSignal(Enum, str)
48

  
47 49
    '''
48 50
        @brief      initialize
49 51
        @author 
......
157 159
        self.actionInitialize.triggered.connect(self.initializeScene)
158 160
        self.resultPropertyTableWidget.cellDoubleClicked.connect(self.cellDoubleClickedEvent)
159 161
        self.actionSave.triggered.connect(self.saveToXml)
162
        self.addMessage.connect(self.onAddMessage)
160 163

  
161 164
    '''
162 165
        @brief      save items to xml
......
232 235
        @author humkyung
233 236
        @date   2018.07.31
234 237
    '''
235
    def addMessage(self, messageType, message):
238
    def onAddMessage(self, messageType, message):
236 239
        from AppDocData import MessageType
237 240

  
238 241
        try:
......
414 417
                        width = textInfo.getW()
415 418
                        height = textInfo.getH()
416 419
                        item = TextItemFactory.instance().createTextItem(text, delimiter, lineNoconfigs)
417
                        item.loc = (x, y)
418
                        item.size = (width, height)
419
                        item.angle = angle
420
                        item.setPlainText(text)
421
                        item.setDefaultTextColor(Qt.blue)
422
                        item.addTextItemToScene(self.imageViewer.scene)
420
                        if item is not None:
421
                            item.loc = (x, y)
422
                            item.size = (width, height)
423
                            item.angle = angle
424
                            item.setPlainText(text)
425
                            item.setDefaultTextColor(Qt.blue)
426
                            item.addTextItemToScene(self.graphicsView.scene)
427
                        else:
428
                            message = 'error occured({}) in {}:{}'.format('텍스트 생성에 실패했습니다.', sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
429
                            self.addMessage.emit(MessageType.Normal, message)
423 430
                else:
424 431
                    QMessageBox.about(self.graphicsView, "알림", "텍스트 검출 실패")
425 432
        except Exception as ex:
426 433
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
427
            self.addMessage(MessageType.Error, message)
434
            self.addMessage.emit(MessageType.Error, message)
428 435

  
429 436
    '''
430 437
        @brief  area configuration
......
553 560
                if os.path.isfile(path): self.loadRecognitionResultFromXml(path)
554 561
        except Exception as ex:
555 562
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
556
            self.addMessage(MessageType.Error, message)
563
            self.addMessage.emit(MessageType.Error, message)
557 564

  
558 565
        return self.path
559 566

  
......
754 761
                '''DO NOTHING'''
755 762
        except Exception as ex:
756 763
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
757
            self.addMessage(MessageType.Error, message)
764
            self.addMessage.emit(MessageType.Error, message)
758 765

  
759 766
    '''
760 767
        @brief
......
801 808
            # up to here
802 809
        except Exception as ex:
803 810
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
804
            self.addMessage(MessageType.Error, message)
811
            self.addMessage.emit(MessageType.Error, message)
805 812

  
806 813
    '''
807 814
        @history    2018.05.25  Jeongwoo    Moved from MainWindow
......
875 882
            # up to here
876 883
        except Exception as ex:
877 884
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
878
            self.addMessage(MessageType.Error, message)
885
            self.addMessage.emit(MessageType.Error, message)
879 886

  
880 887
    '''
881 888
        @history    2018.06.08  Jeongwoo    Add parameter on round method
......
918 925
                    self.addTextItemToScene(item)
919 926
        except Exception as ex:
920 927
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
921
            self.addMessage(MessageType.Error, message)
928
            self.addMessage.emit(MessageType.Error, message)
922 929

  
923 930
    def drawDetectedNoteItem(self, noteTextInfoList):
924 931
        from TextItemFactory import TextItemFactory
......
940 947
                self.addTextItemToScene(item)
941 948
        except Exception as ex:
942 949
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
943
            self.addMessage(MessageType.Error, message)
950
            self.addMessage.emit(MessageType.Error, message)
944 951

  
945 952
    '''
946 953
        @brief  draw unknown items 
......
994 1001
                cv2.imwrite(notFilePath, imgNot)
995 1002
            else:
996 1003
                message = 'can\'t found {}'.format(diffFilePath)
997
                self.addMessage(MessageType.Normal, message)
1004
                self.addMessage.emit(MessageType.Normal, message)
998 1005
        except Exception as ex:
999 1006
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
1000
            self.addMessage(MessageType.Error, message)
1007
            self.addMessage.emit(MessageType.Error, message)
1001 1008

  
1002 1009
    '''
1003 1010
        @brief      load recognition result
......
1155 1162
            self.graphicsView.scene.update(self.graphicsView.sceneRect())
1156 1163
        except Exception as ex:
1157 1164
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
1158
            self.addMessage(MessageType.Error, message)
1165
            self.addMessage.emit(MessageType.Error, message)
1159 1166

  
1160 1167
    '''
1161 1168
        @brief      Remove added item on same place and Add GraphicsItem
......
1238 1245
            unknownItem.addUnknownItemToScene(self.graphicsView.scene)
1239 1246
        except Exception as ex:
1240 1247
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
1241
            self.addMessage(MessageType.Error, message)
1248
            self.addMessage.emit(MessageType.Error, message)
1242 1249

  
1243 1250
    '''
1244 1251
        @brief      generate output xml file
......
1274 1281
            cv2.imwrite(os.path.join(project.getTempPath() , 'OUTPUT.png') , docData.imgOutput)
1275 1282
        except Exception as ex:
1276 1283
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
1277
            self.addMessage(MessageType.Error, message)
1284
            self.addMessage.emit(MessageType.Error, message)
1278 1285
            
1279 1286
if __name__ == '__main__':
1280 1287
    '''
DTI_PID/DTI_PID/Shapes/EngineeringLineItem.py
486 486
            from App import App 
487 487

  
488 488
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
489
            App.mainWnd().addMessage(MessageType.Error, message)
489
            App.mainWnd().addMessage.emit(MessageType.Error, message)
490 490

  
491 491
        return res
492 492

  
DTI_PID/DTI_PID/Shapes/EngineeringUnknownItem.py
114 114
            App.mainWnd().onAreaSelected(round(rect.left()), round(rect.top()), round(rect.width()), round(rect.height()))
115 115
        except Exception as ex:
116 116
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
117
            App.mainWnd().addMessage(MessageType.Error, message)
117
            App.mainWnd().addMessage.emit(MessageType.Error, message)
118 118

  
119 119
    '''
120 120
        @brief      show text recognition dialog
......
133 133
            App.mainWnd().onRecognizeText(round(rect.left()), round(rect.top()), round(rect.width()), round(rect.height()))
134 134
        except Exception as ex:
135 135
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
136
            App.mainWnd().addMessage(MessageType.Error, message)
136
            App.mainWnd().addMessage.emit(MessageType.Error, message)
137 137

  
138 138
    '''
139 139
        @brief  parse xml for item
DTI_PID/DTI_PID/TextItemFactory.py
28 28
                    humkyung 2018.05.02 create engineering size text item if condition matches
29 29
                    humkyung 2018.06.19 set line no's color
30 30
                    kyouho 2018.07.04 edit for isLineNo method (add parameter)
31
                    humkyung 2018.08.08 fill linePropertyData and tagSeqNoPattern if given data is None
31 32
    '''             
32 33
    def createTextItem(self, text, delimiter = '', lineNoConfig = '', linePropertyData = None, tagSeqNoPattern = None):
33 34
        import random
......
39 40
            configs = docData.getConfigs('Size', 'Delimiter')
40 41
            sizeDelimiter = configs[0].value.upper() if 1 == len(configs) else None
41 42

  
43
            if linePropertyData is None:
44
                linePropertyData = {}
45
                linePropertyData['NominalDiameter'] = docData.getNomialPipeSizeData(True)
46
                linePropertyData['FluidCode'] = docData.getCodeTable('FluidCode', True)
47
                linePropertyData['UnitNumber'] = docData.getCodeTable('UnitNumber', True)
48
                linePropertyData['PnIDNumber'] = docData.getCodeTable('PnIDNumber', True)
49
                linePropertyData['PipingMaterialsClass'] = docData.getCodeTable('PipingMaterialsClass', True)
50
                linePropertyData['InsulationPurpose'] = docData.getCodeTable('InsulationPurpose', True)
51

  
52
            if tagSeqNoPattern is None:
53
                configs = docData.getConfigs('Line No Tag Rule', 'Tag Seq No')
54
                tagSeqNoPattern = configs[0].value if 1 == len(configs) else None
55

  
42 56
            result = (False,)
43 57
            if (delimiter != '' and lineNoConfig != ''):
44 58
                result = self.isLineNo(text, delimiter, lineNoConfig, linePropertyData, tagSeqNoPattern)
......
99 113
                item = QEngineeringTextItem()
100 114
                item.setToolTip(text)
101 115
        except Exception as ex:
102
            print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
116
            from App import App
117

  
118
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
119
            App.mainWnd().addMessage.emit(MessageType.Error, message)
103 120

  
104 121
        return item
105 122
    
......
138 155
                    else:
139 156
                        loopList = linePropertyData[propertyName.replace(' ','').replace('&','n')]
140 157

  
141

  
142 158
                    if isTable:
143 159
                        find = False
144 160
                        for loop in loopList:

내보내기 Unified diff

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