개정판 3e04ac55
convert point test
Change-Id: I36660af5cbbc478f4c6687a0b88edf008ed3fad7
DTI_PID/DTI_PID/Commands/SelectAttributeCommand.py | ||
---|---|---|
170 | 170 |
@brief Find TextItem contain Point |
171 | 171 |
@author kyouho |
172 | 172 |
@date 18.07.19 |
173 |
@ no more used |
|
173 | 174 |
''' |
174 | 175 |
def findTextItemInPoint(self, point): |
175 | 176 |
from EngineeringTextItem import QEngineeringTextItem |
... | ... | |
185 | 186 |
@brief Find Symbol Item contain Point |
186 | 187 |
@author kyouho |
187 | 188 |
@date 18.07.19 |
189 |
@ no more used |
|
188 | 190 |
''' |
189 | 191 |
def findSymbolItemInPoint(self, point): |
190 | 192 |
from SymbolSvgItem import SymbolSvgItem |
DTI_PID/DTI_PID/QtImageViewer.py | ||
---|---|---|
739 | 739 |
configs = AppDocData.instance().getConfigs('Data', 'Grid') |
740 | 740 |
grid = int(configs[0].value) if 1 == len(configs) else -1 |
741 | 741 |
if grid == 1: |
742 |
svg.origin = [round(origin.x), round(origin.y)] |
|
743 |
svg.loc = [round(origin.x - svg.symbolOrigin[0]), round(origin.y - svg.symbolOrigin[1])] |
|
744 |
''' |
|
742 | 745 |
if not svg.symbolConvertingOrigin: |
743 | 746 |
svg.origin = [round(origin.x), round(origin.y)] |
744 | 747 |
svg.loc = [round(origin.x - svg.symbolOrigin[0]), round(origin.y - svg.symbolOrigin[1])] |
745 | 748 |
else: |
746 | 749 |
svg.origin = [round(origin.x - svg.symbolConvertingOrigin[0] + svg.symbolOrigin[0]), round(origin.y - svg.symbolConvertingOrigin[1] + svg.symbolOrigin[1])] |
747 | 750 |
svg.loc = [round(origin.x - svg.symbolConvertingOrigin[0]), round(origin.y - svg.symbolConvertingOrigin[1])] |
751 |
''' |
|
748 | 752 |
else: |
753 |
svg.origin = [round(origin.x, 1), round(origin.y, 1)] |
|
754 |
svg.loc = [round(origin.x - svg.symbolOrigin[0], 1), round(origin.y - svg.symbolOrigin[1], 1)] |
|
755 |
''' |
|
749 | 756 |
if not svg.symbolConvertingOrigin: |
750 | 757 |
svg.origin = [round(origin.x, 1), round(origin.y, 1)] |
751 | 758 |
svg.loc = [round(origin.x - svg.symbolOrigin[0], 1), round(origin.y - svg.symbolOrigin[1], 1)] |
752 | 759 |
else: |
753 | 760 |
svg.origin = [round(origin.x - svg.symbolConvertingOrigin[0] + svg.symbolOrigin[0], 1), round(origin.y - svg.symbolConvertingOrigin[1] + svg.symbolOrigin[1], 1)] |
754 | 761 |
svg.loc = [round(origin.x - svg.symbolConvertingOrigin[0], 1), round(origin.y - svg.symbolConvertingOrigin[1], 1)] |
762 |
''' |
|
755 | 763 |
svg.angle = items[0].angle() |
756 | 764 |
|
757 | 765 |
svg.addSvgItemToScene(scene, True if not auto else False) |
... | ... | |
799 | 807 |
configs = AppDocData.instance().getConfigs('Data', 'Grid') |
800 | 808 |
grid = int(configs[0].value) if 1 == len(configs) else -1 |
801 | 809 |
if grid == 1: |
810 |
svg.origin = [round(scenePos.x()), round(scenePos.y())] |
|
811 |
svg.loc = [round(scenePos.x() - svg.symbolOrigin[0]), round(scenePos.y() - svg.symbolOrigin[1])] |
|
812 |
''' |
|
802 | 813 |
if not svg.symbolConvertingOrigin: |
803 | 814 |
svg.origin = [round(scenePos.x()), round(scenePos.y())] |
804 | 815 |
svg.loc = [round(scenePos.x() - svg.symbolOrigin[0]), round(scenePos.y() - svg.symbolOrigin[1])] |
805 | 816 |
else: |
806 | 817 |
svg.origin = [round(scenePos.x() - svg.symbolConvertingOrigin[0] + svg.symbolOrigin[0]), round(scenePos.y() - svg.symbolConvertingOrigin[1] + svg.symbolOrigin[1])] |
807 | 818 |
svg.loc = [round(scenePos.x() - svg.symbolConvertingOrigin[0]), round(scenePos.y() - svg.symbolConvertingOrigin[1])] |
819 |
''' |
|
808 | 820 |
else: |
821 |
svg.origin = [round(scenePos.x(), 1), round(scenePos.y(), 1)] |
|
822 |
svg.loc = [round(scenePos.x() - svg.symbolOrigin[0], 1), round(scenePos.y() - svg.symbolOrigin[1], 1)] |
|
823 |
''' |
|
809 | 824 |
if not svg.symbolConvertingOrigin: |
810 | 825 |
svg.origin = [round(scenePos.x(), 1), round(scenePos.y(), 1)] |
811 | 826 |
svg.loc = [round(scenePos.x() - svg.symbolOrigin[0], 1), round(scenePos.y() - svg.symbolOrigin[1], 1)] |
812 | 827 |
else: |
813 | 828 |
svg.origin = [round(scenePos.x() - svg.symbolConvertingOrigin[0] + svg.symbolOrigin[0], 1), round(scenePos.y() - svg.symbolConvertingOrigin[1] + svg.symbolOrigin[1], 1)] |
814 | 829 |
svg.loc = [round(scenePos.x() - svg.symbolConvertingOrigin[0], 1), round(scenePos.y() - svg.symbolConvertingOrigin[1], 1)] |
830 |
''' |
|
815 | 831 |
|
816 | 832 |
if len(svg.connectors) == 1: |
817 | 833 |
# single connection item assistant |
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py | ||
---|---|---|
533 | 533 |
""" call signals when item's position or rotation is changed """ |
534 | 534 |
if not self.scene(): return super().itemChange(change, value) |
535 | 535 |
|
536 |
if (change == QGraphicsItem.ItemPositionHasChanged or change == QGraphicsItem.ItemRotationHasChanged or
|
|
537 |
change == QGraphicsItem.ItemScaleHasChanged):
|
|
536 |
if change == QGraphicsItem.ItemPositionHasChanged or change == QGraphicsItem.ItemRotationHasChanged or \
|
|
537 |
change == QGraphicsItem.ItemScaleHasChanged: |
|
538 | 538 |
from EngineeringLineItem import QEngineeringLineItem |
539 | 539 |
for connector in self.connectors: |
540 | 540 |
if connector.connectedItem is not None and type(connector.connectedItem) is QEngineeringLineItem: |
... | ... | |
544 | 544 |
for conn in line.connectors: |
545 | 545 |
conn.transfer.onPosChanged.emit(conn) |
546 | 546 |
|
547 |
self.size[0], self.size[1] = round(self.sceneBoundingRect().width()), \
|
|
548 |
round(self.sceneBoundingRect().height())
|
|
547 |
self.size[0], self.size[1] = round(self.sceneBoundingRect().width()), round(self.sceneBoundingRect().height())
|
|
548 |
self.loc[0], self.loc[1] = round(self.sceneBoundingRect().top()), round(self.sceneBoundingRect().left())
|
|
549 | 549 |
|
550 | 550 |
scene_origin = self.mapToScene(self.transformOriginPoint()) |
551 | 551 |
|
... | ... | |
1115 | 1115 |
@brief Find TextItem contain Point |
1116 | 1116 |
@author kyouho |
1117 | 1117 |
@date 18.07.17 |
1118 |
@ no more used |
|
1118 | 1119 |
''' |
1119 | 1120 |
def findTextItemInPoint(self, point): |
1120 | 1121 |
from EngineeringTextItem import QEngineeringTextItem |
... | ... | |
1132 | 1133 |
@brief Check Overlap |
1133 | 1134 |
@author kyouho |
1134 | 1135 |
@date 18.07.17 |
1136 |
@ no more used |
|
1135 | 1137 |
''' |
1136 | 1138 |
def isOverlapItemAndPoint(self, item, point): |
1137 | 1139 |
x = point.x() |
... | ... | |
1261 | 1263 |
modifiers = QApplication.keyboardModifiers() |
1262 | 1264 |
delta = 10 if modifiers == Qt.ControlModifier else 1 |
1263 | 1265 |
|
1264 |
self.loc[1] = self.loc[1] - delta |
|
1266 |
#self.loc[1] = self.loc[1] - delta
|
|
1265 | 1267 |
#self.origin[1] = self.origin[1] - delta |
1266 | 1268 |
self.moveBy(0, -delta) |
1267 | 1269 |
elif event.key() == Qt.Key_Down: |
1268 | 1270 |
modifiers = QApplication.keyboardModifiers() |
1269 | 1271 |
delta = 10 if modifiers == Qt.ControlModifier else 1 |
1270 | 1272 |
|
1271 |
self.loc[1] = self.loc[1] + delta |
|
1273 |
#self.loc[1] = self.loc[1] + delta
|
|
1272 | 1274 |
#self.origin[1] = self.origin[1] + delta |
1273 | 1275 |
self.moveBy(0, delta) |
1274 | 1276 |
elif event.key() == Qt.Key_Left: |
1275 | 1277 |
modifiers = QApplication.keyboardModifiers() |
1276 | 1278 |
delta = 10 if modifiers == Qt.ControlModifier else 1 |
1277 | 1279 |
|
1278 |
self.loc[0] = self.loc[0] - delta |
|
1280 |
#self.loc[0] = self.loc[0] - delta
|
|
1279 | 1281 |
#self.origin[0] = self.origin[0] - delta |
1280 | 1282 |
self.moveBy(-delta, 0) |
1281 | 1283 |
elif event.key() == Qt.Key_Right: |
1282 | 1284 |
modifiers = QApplication.keyboardModifiers() |
1283 | 1285 |
delta = 10 if modifiers == Qt.ControlModifier else 1 |
1284 | 1286 |
|
1285 |
self.loc[0] = self.loc[0] + delta |
|
1287 |
#self.loc[0] = self.loc[0] + delta
|
|
1286 | 1288 |
#self.origin[0] = self.origin[0] + delta |
1287 | 1289 |
self.moveBy(delta, 0) |
1288 | 1290 |
elif event.key() == Qt.Key_Plus or event.key() == 61: |
... | ... | |
2508 | 2510 |
if self.flip: |
2509 | 2511 |
self.flip_symbol() |
2510 | 2512 |
|
2511 |
self.setTransformOriginPoint(QPointF(self.symbolOrigin[0], self.symbolOrigin[1])) |
|
2513 |
if not self.symbolConvertingOrigin: |
|
2514 |
self.setTransformOriginPoint(QPointF(self.symbolOrigin[0], self.symbolOrigin[1])) |
|
2515 |
self.moveBy(-self.symbolOrigin[0], -self.symbolOrigin[1]) |
|
2516 |
self.setRotation(math.degrees(self.angle)) |
|
2517 |
self.moveBy(self.origin[0], self.origin[1]) |
|
2518 |
else: |
|
2519 |
self.setTransformOriginPoint(QPointF(self.symbolConvertingOrigin[0], self.symbolConvertingOrigin[1])) |
|
2520 |
self.moveBy(-self.symbolConvertingOrigin[0], -self.symbolConvertingOrigin[1]) |
|
2521 |
self.setRotation(math.degrees(self.angle)) |
|
2522 |
self.moveBy(self.origin[0], self.origin[1]) |
|
2523 |
self.setTransformOriginPoint(QPointF(self.symbolOrigin[0], self.symbolOrigin[1])) |
|
2524 |
|
|
2525 |
dx = abs(self.symbolOrigin[0] - self.symbolConvertingOrigin[0]) |
|
2526 |
dy = abs(self.symbolOrigin[1] - self.symbolConvertingOrigin[1]) |
|
2527 |
|
|
2528 |
#self.moveBy(round(math.sin(self.angle) * dx + math.cos(self.angle) * dy), (round(math.sin(self.angle) * dx + math.cos(self.angle) * dy))) |
|
2512 | 2529 |
|
2513 |
self.moveBy(-self.symbolOrigin[0], -self.symbolOrigin[1]) |
|
2514 |
self.setRotation(math.degrees(self.angle)) |
|
2515 |
self.moveBy(self.origin[0], self.origin[1]) |
|
2530 |
#transform = QTransform() |
|
2531 |
#transform.translate(self.symbolConvertingOrigin[0], self.symbolConvertingOrigin[1]) |
|
2532 |
##transform.map(self.symbolConvertingOrigin[0], self.symbolConvertingOrigin[1]) |
|
2533 |
#transform.rotate(math.degrees(self.angle)) |
|
2534 |
#transform.translate(-self.symbolConvertingOrigin[0], -self.symbolConvertingOrigin[1]) |
|
2535 |
#self.setTransform(transform) |
|
2516 | 2536 |
|
2517 | 2537 |
scene.addItem(self) |
2518 | 2538 |
self.size[0], self.size[1] = round(self.sceneBoundingRect().width()), round(self.sceneBoundingRect().height()) |
2539 |
self.loc[0], self.loc[1] = round(self.sceneBoundingRect().top()), round(self.sceneBoundingRect().left()) |
|
2540 |
|
|
2541 |
scene_origin = self.mapToScene(self.transformOriginPoint()) |
|
2542 |
|
|
2543 |
configs = AppDocData.instance().getConfigs('Data', 'Grid') |
|
2544 |
grid = int(configs[0].value) if 1 == len(configs) else -1 |
|
2545 |
if grid == 1: |
|
2546 |
self.origin = [round(scene_origin.x()), round(scene_origin.y())] |
|
2547 |
else: |
|
2548 |
self.origin = [scene_origin.x(), scene_origin.y()] |
|
2519 | 2549 |
|
2520 | 2550 |
if undoable: |
2521 | 2551 |
from CreateCommand import CreateCommand |
내보내기 Unified diff