개정판 4c632ac9
issue #563: changing attribute auto filling
Change-Id: I66aae9de830f1aeaf5c982ecb27e660b660e5653
DTI_PID/DTI_PID/AppDocData.py | ||
---|---|---|
599 | 599 |
with self.project.database.connect() as conn: |
600 | 600 |
cursor = conn.cursor() |
601 | 601 |
sql = """SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint, |
602 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE a.IsExceptDetect = 0 order by width * height desc""" |
|
602 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE a.IsExceptDetect = 0 order by width * height desc"""
|
|
603 | 603 |
try: |
604 | 604 |
cursor.execute(sql) |
605 | 605 |
rows = cursor.fetchall() |
606 | 606 |
for row in rows: |
607 | 607 |
sym = symbol.SymbolBase(row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], |
608 |
row[10], row[11], row[12], row[13], row[14], row[0], |
|
608 |
row[10], row[11], row[12], row[13], row[14], row[0], iType=row[16],
|
|
609 | 609 |
detectFlip=row[15]) # uid is last item |
610 | 610 |
targetSymbolList.append(sym) |
611 | 611 |
except Exception as ex: |
... | ... | |
1621 | 1621 |
with self.project.database.connect() as conn: |
1622 | 1622 |
cursor = conn.cursor() |
1623 | 1623 |
sql = self.project.database.to_sql("""SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint, |
1624 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE """ + "a." + fieldName + '=?') |
|
1624 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE """ + "a." + fieldName + '=?')
|
|
1625 | 1625 |
try: |
1626 | 1626 |
cursor.execute(sql, (param,)) |
1627 | 1627 |
rows = cursor.fetchall() |
... | ... | |
1631 | 1631 |
, symbolTuple[4], symbolTuple[5], symbolTuple[6], symbolTuple[7], |
1632 | 1632 |
symbolTuple[8] |
1633 | 1633 |
, symbolTuple[9], symbolTuple[10], symbolTuple[11], symbolTuple[12], |
1634 |
symbolTuple[13], symbolTuple[14], symbolTuple[0], |
|
1634 |
symbolTuple[13], symbolTuple[14], symbolTuple[0], iType=symbolTuple[16],
|
|
1635 | 1635 |
detectFlip=symbolTuple[15]) ## uid is last item |
1636 | 1636 |
self._symbolBase[fieldName][param] = ret |
1637 | 1637 |
except Exception as ex: |
... | ... | |
1653 | 1653 |
cursor = conn.cursor() |
1654 | 1654 |
if field_name is not None and param is not None: |
1655 | 1655 |
sql = """SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint, |
1656 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip |
|
1656 |
a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID
|
|
1657 | 1657 |
FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE SymbolType_UID = (select UID from SymbolType where {}={})""".format( |
1658 | 1658 |
field_name, self.project.database.place_holder) |
1659 | 1659 |
else: |
... | ... | |
1668 | 1668 |
, symbolTuple[5], symbolTuple[6], symbolTuple[7], symbolTuple[8], |
1669 | 1669 |
symbolTuple[9] |
1670 | 1670 |
, symbolTuple[10], symbolTuple[11], symbolTuple[12], symbolTuple[13], |
1671 |
symbolTuple[14], symbolTuple[0], |
|
1671 |
symbolTuple[14], symbolTuple[0], iType=symbolTuple[16],
|
|
1672 | 1672 |
detectFlip=symbolTuple[15]) ## uid is last item |
1673 | 1673 |
ret.append(sym) |
1674 | 1674 |
except Exception as ex: |
DTI_PID/DTI_PID/LineNoTracer.py | ||
---|---|---|
519 | 519 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
520 | 520 |
|
521 | 521 |
""" try to connect label to valve """ |
522 |
labels = [symbol for symbol in symbols if type(symbol) is QEngineeringInstrumentItem and not symbol.connectors] |
|
523 |
valves = [symbol for symbol in symbols if symbol.type == 'Specialty Components' or symbol.type == 'In-Line' or symbol.type == 'Relief Devices'] |
|
522 |
labels = [symbol for symbol in symbols if symbol.iType == 19] # Labels - General Instrument => Instrument |
|
523 |
valves = [symbol for symbol in symbols if symbol.iType == 34 or symbol.iType == 17 or symbol.iType == 22] # Specialty Components, In-Line, Relief Devices |
|
524 |
for label in labels: |
|
525 |
label.connectAttribute(valves, clear=False) |
|
526 |
|
|
527 |
labels = [symbol for symbol in symbols if symbol.iType == 29] # Labels - Piping Components => Instrument |
|
528 |
valves = [symbol for symbol in symbols if symbol.iType == 25] # System Functions |
|
524 | 529 |
for label in labels: |
525 | 530 |
label.connectAttribute(valves, clear=False) |
526 | 531 |
|
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py | ||
---|---|---|
47 | 47 |
self.uid = uuid.uuid4() if uid is None else uuid.UUID(uid) |
48 | 48 |
self.name = name |
49 | 49 |
self.type = '' |
50 |
self.iType = -2 |
|
50 | 51 |
self.angle = 0 |
51 | 52 |
self.origin = None |
52 | 53 |
self.loc = None |
... | ... | |
601 | 602 |
else: |
602 | 603 |
symbolInfo = docData.getSymbolByQuery('UID', dbUid) |
603 | 604 |
self.dbUid = symbolInfo.uid |
605 |
self.iType = symbolInfo.iType |
|
604 | 606 |
originalPoint = symbolInfo.getOriginalPoint().split(',') |
605 | 607 |
self.symbolOrigin = [float(originalPoint[0]), float(originalPoint[1])] |
606 | 608 |
|
DTI_PID/DTI_PID/SymbolBase.py | ||
---|---|---|
6 | 6 |
def __init__(self, sName, sType, threshold = None, minMatchCount = 0 |
7 | 7 |
, isDetectOnOrigin = False, rotationCount = 4, ocrOption = OCR_OPTION_NOT_EXEC, isContainChild = 0 |
8 | 8 |
, originalPoint = None, connectionPoint = None, baseSymbol = None, additionalSymbol = None |
9 |
, isExceptDetect = 0, hasInstrumentLabel = 0, uid = None, width = None, height = None, detectFlip = None): |
|
9 |
, isExceptDetect = 0, hasInstrumentLabel = 0, uid = None, width = None, height = None, iType = -2,detectFlip = None):
|
|
10 | 10 |
self.uid = uid ## Auto increased Unique Id |
11 | 11 |
self.sName = sName |
12 | 12 |
self.sType = sType |
13 |
self.iType = iType |
|
13 | 14 |
self.threshold = threshold |
14 | 15 |
self.minMatchCount = minMatchCount |
15 | 16 |
self.isDetectOnOrigin = isDetectOnOrigin |
내보내기 Unified diff