summaryrefslogtreecommitdiff
path: root/src/main/python/shapes/shapes.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/python/shapes/shapes.py')
-rw-r--r--src/main/python/shapes/shapes.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/python/shapes/shapes.py b/src/main/python/shapes/shapes.py
index 20b17ad..20ca4a8 100644
--- a/src/main/python/shapes/shapes.py
+++ b/src/main/python/shapes/shapes.py
@@ -26,6 +26,18 @@ orientationEnum = [
Qt.Vertical
]
+#For extending Lines for repositioned Rectangular Line Grips
+rLGPlus = {}
+f = open('./shapes/rLGPlus.txt','r')
+dataRead = f.readlines()[1:]
+for line in dataRead:
+
+ if not line.__contains__(',') :
+ rLGPlus[line.strip()] = []
+ else:
+ grips = line.strip().split(',')
+ rLGPlus[list(rLGPlus.keys())[-1]].append(grips)
+
class ItemLabel(QGraphicsTextItem):
"""Extends PyQt5's QGraphicsPathItem to create text label for svg item
"""
@@ -409,6 +421,32 @@ class LineGripItem(QGraphicsPathItem):
if self.tempLine.startGripItem.parentItem() != self.tempLine.endGripItem.parentItem():
# update line with end point so it sets final path
self.tempLine.updateLine(endPoint=endPoint)
+ #Adjusting line for repositioned retangular grips
+ if self.parentItem().__class__.__name__ in list(rLGPlus.keys()):
+ for tgrip in rLGPlus[self.parentItem().__class__.__name__]:
+ if(float(tgrip[3]) == 0):
+ if self.m_location == tgrip[0]:
+ tempx,tempy = int(tgrip[1]),int(tgrip[2])
+ self.tempLine.startPoint.setX(self.tempLine.startPoint.x()+tempx)
+ self.tempLine.startPoint.setY(self.tempLine.startPoint.y()+tempy)
+ else:
+ if self.m_location == tgrip[0] and self.size == float(tgrip[3]):
+ tempx,tempy = int(tgrip[1]),int(tgrip[2])
+ self.tempLine.startPoint.setX(self.tempLine.startPoint.x()+tempx)
+ self.tempLine.startPoint.setY(self.tempLine.startPoint.y()+tempy)
+ if item.parentItem().__class__.__name__ in list(rLGPlus.keys()):
+ for tgrip in rLGPlus[item.parentItem().__class__.__name__]:
+ if(float(tgrip[3]) == 0):
+ if item.m_location == tgrip[0]:
+ tempx,tempy = int(tgrip[1]),int(tgrip[2])
+ self.tempLine.endPoint.setX(self.tempLine.endPoint.x()+tempx)
+ self.tempLine.endPoint.setY(self.tempLine.endPoint.y()+tempy)
+ else:
+ if item.m_location == tgrip[0] and item.size == float(tgrip[3]):
+ tempx,tempy = int(tgrip[1]),int(tgrip[2])
+ self.tempLine.endPoint.setX(self.tempLine.endPoint.x()+tempx)
+ self.tempLine.endPoint.setY(self.tempLine.endPoint.y()+tempy)
+
self.lines.append(self.tempLine)
item.lines.append(self.tempLine)
tag = 1