개정판 478a2bb1
issue #506: text merge func for all degrees
Change-Id: Ie911acffbbc5d89a0fab9ff5426f4eee622a7c1b
DTI_PID/DTI_PID/MainWindow.py | ||
---|---|---|
1628 | 1628 |
from TextInfo import TextInfo |
1629 | 1629 |
|
1630 | 1630 |
textItems = [text for text in self.graphicsView.scene.selectedItems() if |
1631 |
type(text) is QEngineeringTextItem and text.angle == 0] |
|
1632 |
textItems = sorted(textItems, key=lambda text: text.loc[1]) |
|
1631 |
type(text) is QEngineeringTextItem] |
|
1632 |
if not textItems or len(textItems) is 1: |
|
1633 |
return |
|
1634 |
|
|
1635 |
angle = None |
|
1636 |
for item in textItems: |
|
1637 |
if angle is None: |
|
1638 |
angle = item.angle |
|
1639 |
else: |
|
1640 |
if angle != item.angle: |
|
1641 |
return |
|
1642 |
|
|
1643 |
textItems = sorted(textItems, key=lambda text: text.loc[1]) if textItems[0].angle == 0 else ( \ |
|
1644 |
sorted(textItems, key=lambda text: text.loc[0]) if textItems[0].angle == 1.57 else ( \ |
|
1645 |
sorted(textItems, key=lambda text: text.loc[1], reverse=True) if textItems[0].angle == 4.71 else \ |
|
1646 |
sorted(textItems, key=lambda text: text.loc[0], reverse=True))) |
|
1633 | 1647 |
minX = sys.maxsize |
1634 | 1648 |
minY = sys.maxsize |
1635 | 1649 |
maxX = 0 |
... | ... | |
1644 | 1658 |
text.transfer.onRemoved.emit(text) |
1645 | 1659 |
newText = newText[:-1] |
1646 | 1660 |
|
1647 |
textInfo = TextInfo(newText, minX, minY, maxX - minX, maxY - minY, 0)
|
|
1661 |
textInfo = TextInfo(newText, minX, minY, maxX - minX, maxY - minY, textItems[0].angle)
|
|
1648 | 1662 |
x = textInfo.getX() |
1649 | 1663 |
y = textInfo.getY() |
1650 | 1664 |
angle = textInfo.getAngle() |
내보내기 Unified diff