개정판 0db1c7e6
issue #481: add symbol connection check
Change-Id: Ie4eb5b4c073085248b8296ade4e629f07bda3506
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py | ||
---|---|---|
107 | 107 |
from EngineeringErrorItem import QEngineeringErrorItem |
108 | 108 |
from EngineeringLineItem import QEngineeringLineItem |
109 | 109 |
errors = [] |
110 |
docdata = AppDocData.instance() |
|
111 |
dataPath = docdata.getErrorItemSvgPath() |
|
112 |
origin = [int(pt) for pt in docdata.getAppConfigs('app', 'error origin point')[0].value.split(',')] |
|
110 | 113 |
|
114 |
# check flow for 2 connection point symbol |
|
111 | 115 |
if len(self.connectors) is 2: |
112 |
docdata = AppDocData.instance() |
|
113 |
dataPath = docdata.getErrorItemSvgPath() |
|
114 |
origin = [int(pt) for pt in docdata.getAppConfigs('app', 'error origin point')[0].value.split(',')] |
|
115 | ||
116 | 116 |
if type(self.connectors[0].connectedItem) is QEngineeringLineItem and type(self.connectors[1].connectedItem) is QEngineeringLineItem: |
117 | ||
118 | 117 |
if self.includes(self.connectors[0].connectedItem.startPoint(), 5) is not self.includes(self.connectors[1].connectedItem.endPoint(), 5): |
119 | 118 |
#print(self.sceneBoundingRect()) |
120 | 119 |
error = SymbolSvgItem.createItem('Error', dataPath) |
121 |
error.setPosition([self.loc[0] + int(self.size[0]/2), self.loc[1]], origin) |
|
120 |
error.setPosition([self.loc[0] + int(self.size[0]/2), self.loc[1] + int(self.size[1]/2)], origin)
|
|
122 | 121 |
error.parent = self |
123 | 122 |
error.msg = 'flow error' |
124 | 123 |
error.setToolTip(error.msg) |
125 | 124 |
error.area = 'Drawing' |
126 | 125 |
error.name = 'Error' |
127 | 126 |
errors.append(error) |
127 | ||
128 |
# check disconnected point |
|
129 |
for connector in self.connectors: |
|
130 |
if connector.connectedItem is None: |
|
131 |
error = SymbolSvgItem.createItem('Error', dataPath) |
|
132 |
error.setPosition(connector.center(), origin) |
|
133 |
error.parent = self |
|
134 |
error.msg = 'disconnected' |
|
135 |
error.setToolTip(error.msg) |
|
136 |
error.area = 'Drawing' |
|
137 |
error.name = 'Error' |
|
138 |
errors.append(error) |
|
128 | 139 |
|
129 | 140 |
return errors |
130 | 141 |
내보내기 Unified diff