프로젝트

일반

사용자정보

개정판 a18ddd94

IDa18ddd946d80091a9a51780b434bd7390c9e3695
상위 aca9a1d1
하위 1597380b, 47cfeae2

함의성이(가) 약 6년 전에 추가함

issue #000: add symbol dbuid to xml

Change-Id: I5af10751cc29fd4125878036d00c7604695a2bb6

차이점 보기:

DTI_PID/DTI_PID/LineNoTracer.py
496 496
                #end_breaks.extend(lineNo.end_break())
497 497

  
498 498
            for line_end in lineNo_froms + lineNo_tos:
499
                #print(type(line_end))
499 500
                for connector in line_end.connectors:
500 501
                    if connector.connectedItem is not None and connector.connectedItem.owner is not line_end.owner:
501 502
                        end_break = SymbolSvgItem.createItem(symbol.getType(), svgFilePath)
DTI_PID/DTI_PID/Shapes/EngineeringSpecBreakItem.py
25 25
    '''
26 26
    '''
27 27
    def __init__(self, path, uid=None, flip=0):
28
        from SymbolAttr import SymbolProp
28 29
        SymbolSvgItem.__init__(self, path, uid, flip=flip)
29 30

  
30 31
        attr = SymbolAttr()
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py
39 39

  
40 40
        self.setFlags(QGraphicsItem.ItemIsSelectable|QGraphicsItem.ItemIsFocusable)#|QGraphicsItem.ItemIsMovable)
41 41

  
42
        self.dbUid = None
42 43
        self.uid = uuid.uuid4() if uid is None else uuid.UUID(uid, version=4)
43 44
        self.name = ''
44 45
        self.type = ''
......
360 361
        @history    2018.05.09  Jeongwoo    Clear self.connectors
361 362
                    2018.05.30  Jeongwoo    Add parameters (parentSymbol, childSymbol)
362 363
    '''
363
    def buildItem(self, name, _type, angle, loc, size, origin, connPts, parentSymbol, childSymbol, hasInstrumentLabel):
364
    def buildItem(self, name, _type, angle, loc, size, origin, connPts, parentSymbol, childSymbol, hasInstrumentLabel, dbUid=None):
364 365
        try:
365 366
            docData = AppDocData.instance()
366 367
            self.name = name
......
369 370
            self.loc = loc
370 371
            self.size = size
371 372
            self.origin = origin
372
            symbolInfo = docData.getSymbolByQuery('name', name)
373
            if dbUid is None:
374
                symbolInfo = docData.getSymbolByQuery('name', name)
375
            else:
376
                symbolInfo = docData.getSymbolByQuery('UID', dbUid)
377
            self.dbUid = symbolInfo.uid
373 378
            originalPoint = symbolInfo.getOriginalPoint().split(',')
374 379
            self.symbolOrigin = [float(originalPoint[0]), float(originalPoint[1])]
375 380
            if self.flip is 1:
......
826 831
            uidNode.text = str(self.uid)
827 832
            node.append(uidNode)
828 833

  
834
            dbUidNode = Element('DBUID')
835
            dbUidNode.text = str(self.dbUid)
836
            node.append(dbUidNode)
837

  
829 838
            nameNode = Element('NAME')
830 839
            nameNode.text = self.name
831 840
            node.append(nameNode)
......
957 966

  
958 967
            pt = [float(x) for x in node.find('LOCATION').text.split(',')]
959 968
            size = [float(x) for x in node.find('SIZE').text.split(',')]
960
            name = node.find('NAME').text
969

  
970
            dbUidNode = node.find('DBUID')
971
            dbUid = int(dbUidNode.text) if dbUidNode is not None else None
972
            name = node.find('NAME').text if dbUidNode is None else AppDocData.instance().getSymbolByQuery('UID', dbUid).sName
973

  
961 974
            angle = float(node.find('ANGLE').text)
962 975
            _type = node.find('TYPE').text
963 976
            origin = [float(x) for x in node.find('ORIGINALPOINT').text.split(',')]
......
989 1002
            if os.path.isfile(svgFilePath):
990 1003
                item = SymbolSvgItem.createItem(_type, svgFilePath, uid, owner=owner, flip=flipLabel)
991 1004
                item.setVisible(False)
992
                item.buildItem(name, _type, angle, pt, size, origin, connPts, baseSymbol, childSymbol, hasInstrumentLabel)
1005
                item.buildItem(name, _type, angle, pt, size, origin, connPts, baseSymbol, childSymbol, hasInstrumentLabel, dbUid=dbUid)
993 1006

  
994 1007
                for prop_node in node.iter('PROPERTY'):
995 1008
                    matches = [prop for prop in item._properties.keys() if prop.Attribute == prop_node.attrib['Attribute']]

내보내기 Unified diff

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