개정판 ed1af5eb
issue #000: symbol type can be editted
Change-Id: I29a5bbcb79575ef039cf0a0a90467f8337b059b6
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py | ||
---|---|---|
1163 | 1163 |
item = None |
1164 | 1164 |
|
1165 | 1165 |
try: |
1166 |
appDocData = AppDocData.instance() |
|
1167 |
|
|
1166 | 1168 |
uidNode = node.find('UID') |
1167 | 1169 |
uid = uidNode.text if uidNode is not None else uuid.uuid4() # generate UUID |
1168 | 1170 |
|
... | ... | |
1171 | 1173 |
|
1172 | 1174 |
dbUidNode = node.find('DBUID') |
1173 | 1175 |
dbUid = int(dbUidNode.text) if dbUidNode is not None else None |
1174 |
name = node.find('NAME').text if dbUidNode is None else AppDocData.instance().getSymbolByQuery('UID', dbUid).sName |
|
1176 |
if dbUid: |
|
1177 |
dbData = appDocData.getSymbolByQuery('UID', dbUid) |
|
1178 |
name = node.find('NAME').text if dbUidNode is None else dbData.sName |
|
1175 | 1179 |
|
1176 | 1180 |
angle = float(node.find('ANGLE').text) |
1177 |
_type = node.find('TYPE').text |
|
1181 |
_type = node.find('TYPE').text if dbUidNode is None else dbData.sType
|
|
1178 | 1182 |
origin = [float(x) for x in node.find('ORIGINALPOINT').text.split(',')] |
1179 | 1183 |
connPts = [] |
1180 | 1184 |
if node.find('CONNECTIONPOINT').text is not None: |
... | ... | |
1183 | 1187 |
connPts.append(('AUTO', float(tokens[0]), float(tokens[1]), '0') if len(tokens) == 2 else \ |
1184 | 1188 |
(tokens[0], float(tokens[1]), float(tokens[2]), '0') if len(tokens) == 3 else \ |
1185 | 1189 |
(tokens[0], float(tokens[1]), float(tokens[2]), tokens[3])) |
1186 |
baseSymbol = node.find('PARENT').text |
|
1190 |
baseSymbol = node.find('PARENT').text if dbUidNode is None else dbData.baseSymbol
|
|
1187 | 1191 |
childSymbolNode = node.find('CHILD') |
1188 | 1192 |
childSymbol = '' |
1189 | 1193 |
if childSymbolNode is not None: |
... | ... | |
1198 | 1202 |
flipLabelNode = node.find('FLIP') |
1199 | 1203 |
flipLabel = int(flipLabelNode.text) if flipLabelNode is not None else 0 |
1200 | 1204 |
|
1201 |
appDocData = AppDocData.instance() |
|
1202 | 1205 |
project = appDocData.getCurrentProject() |
1203 | 1206 |
svgFilePath = os.path.join(project.getSvgFilePath(), _type, name + '.svg') |
1204 | 1207 |
if os.path.isfile(svgFilePath): |
내보내기 Unified diff