개정판 a18ddd94
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