summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/python/shapes/line.py9
-rw-r--r--src/main/python/shapes/shapes.py75
-rw-r--r--src/main/python/utils/graphics.py7
-rw-r--r--src/main/python/utils/undo.py1
4 files changed, 14 insertions, 78 deletions
diff --git a/src/main/python/shapes/line.py b/src/main/python/shapes/line.py
index 1a54284..2d7eba8 100644
--- a/src/main/python/shapes/line.py
+++ b/src/main/python/shapes/line.py
@@ -199,12 +199,9 @@ class Line(QGraphicsPathItem):
path = QPainterPath(self.startPoint)
# iterating over all points of line
for i in range(len(self.points) - 1):
- # for point in self.commonPaths:
- # # point is center of common path
- # pass
- for point in self.commonPaths:
- x1, y1 = self.points[i].x(), self.points[i].y()
- x2, y2 = self.points[i+1].x(), self.points[i+1].y()
+ x1, y1 = self.points[i].x(), self.points[i].y()
+ x2, y2 = self.points[i+1].x(), self.points[i+1].y()
+ for point in self.commonPaths.sort(key = lambda x: x.x() + x.y(), reverse=x2<x1 or y2<y1):
x, y = point.x(), point.y()
# if not x1 * (y - y2) + x * (y2 - y1) + x2 * (y1 - y) :
if x == x1 == x2:
diff --git a/src/main/python/shapes/shapes.py b/src/main/python/shapes/shapes.py
index 582215e..3237e72 100644
--- a/src/main/python/shapes/shapes.py
+++ b/src/main/python/shapes/shapes.py
@@ -1,28 +1,19 @@
from PyQt5 import QtCore, QtWidgets
+from PyQt5.QtCore import (QEvent, QFile, QIODevice, QMimeData, QPointF, QRect,
+ QRectF, QSizeF, Qt)
+from PyQt5.QtGui import (QBrush, QColor, QCursor, QDrag, QFont, QImage,
+ QPainter, QPainterPath, QPen, QTransform)
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer
-from PyQt5.QtWidgets import QLineEdit, QGraphicsItem, QGraphicsEllipseItem, QGraphicsProxyWidget, QGraphicsPathItem, \
- QGraphicsSceneHoverEvent, QGraphicsColorizeEffect
-from PyQt5.QtGui import QPen, QColor, QFont, QCursor, QPainterPath, QPainter, QDrag, QBrush, QImage, QTransform
-from PyQt5.QtCore import Qt, QRectF, QPointF, QSizeF, QEvent, QMimeData, QFile, QIODevice, QRect
-
-<<<<<<< HEAD
-from .line import Line
-from utils.app import fileImporter
-
-
-=======
-<<<<<<< HEAD
-from line import Line
+from PyQt5.QtWidgets import (QGraphicsColorizeEffect, QGraphicsEllipseItem,
+ QGraphicsItem, QGraphicsPathItem,
+ QGraphicsProxyWidget, QGraphicsSceneHoverEvent,
+ QLineEdit)
+from utils.app import fileImporter
-=======
from .line import Line
+from utils.app import fileImporter
-from utils.app import fileImporter
->>>>>>> merge
-# resourceManager = ApplicationContext()
-
->>>>>>> upstream/master
class GripItem(QGraphicsPathItem):
"""
@@ -41,21 +32,6 @@ class GripItem(QGraphicsPathItem):
self.setAcceptHoverEvents(True)
self.setCursor(QCursor(Qt.PointingHandCursor))
- # def hoverEnterEvent(self, event):
- # """
- # defines shape highlighting on Mouse Over
- # """
- # self.setPen(QPen(QColor("black"), 2))
- # self.setBrush(QColor("red"))
- # super(GripItem, self).hoverEnterEvent(event)
- #
- # def hoverLeaveEvent(self, event):
- # """
- # defines shape highlighting on Mouse Leave
- # """
- # self.setPen(QPen(Qt.transparent))
- # self.setBrush(Qt.transparent)
- # super(GripItem, self).hoverLeaveEvent(event)
def mouseReleaseEvent(self, event):
"""
@@ -237,16 +213,8 @@ class LineGripItem(GripItem):
# initialize a line and add on scene
startPoint = endPoint = self.parentItem().mapToScene(self.pos())
self.tempLine = Line(startPoint, endPoint)
-<<<<<<< HEAD
- self.scene().addItemPlus(self.tempLine)
-=======
self.tempLine.setStartGripItem(self)
-<<<<<<< HEAD
- self.scene().addItem(self.tempLine)
-=======
self.scene().addItemPlus(self.tempLine)
->>>>>>> merge
->>>>>>> upstream/master
super().mousePressEvent(mouseEvent)
def mouseMoveEvent(self, mouseEvent):
@@ -321,29 +289,14 @@ class NodeItem(QGraphicsSvgItem):
def __init__(self, unitOperationType, parent=None):
QGraphicsSvgItem.__init__(self, parent)
self.m_type = unitOperationType
-<<<<<<< HEAD
- self.id = None
- self.m_renderer = NodeItem.renderer
- # if each svg is seperate file
- # self.m_renderer = QSvgRenderer(fileImporter(f'svg/ellipse.svg'))
-=======
-<<<<<<< HEAD
- self.m_renderer = QSvgRenderer("svg/" + unitOperationType + ".svg")
-=======
# self.m_renderer = QSvgRenderer("svg/" + unitOperationType + ".svg")
# self.m_renderer = QSvgRenderer(fileImporter(f'svg/{unitOperationType}.svg'))
self.m_renderer = QSvgRenderer(fileImporter(f'svg/ellipse.svg'))
->>>>>>> merge
# self.m_renderer = QSvgRenderer(resourceManager.get_resource(f'toolbar/{unitOperationType}.svg'))
->>>>>>> upstream/master
self.setSharedRenderer(self.m_renderer)
# set initial size of item
self.width = 100
-<<<<<<< HEAD
- self.height = 150
-=======
self.height = 100
->>>>>>> merge
self.rect = QRectF(-self.width / 2, -self.height / 2, self.width, self.height)
# set graphical settings for this item
self.setFlags(QGraphicsSvgItem.ItemIsMovable |
@@ -354,13 +307,7 @@ class NodeItem(QGraphicsSvgItem):
# grip items connected to this item
self.lineGripItems = []
self.sizeGripItems = []
-
-<<<<<<< HEAD
-=======
- def advance(self, int):
- print (int)
-
->>>>>>> merge
+
def boundingRect(self):
"""Overrides QGraphicsSvgItem's boundingRect() virtual public function and
returns a valid bounding
diff --git a/src/main/python/utils/graphics.py b/src/main/python/utils/graphics.py
index 27e02c4..a997a30 100644
--- a/src/main/python/utils/graphics.py
+++ b/src/main/python/utils/graphics.py
@@ -86,15 +86,9 @@ class customScene(QGraphicsScene):
def __init__(self, *args, parent=None):
super(customScene, self).__init__(*args, parent=parent)
- self.setItemIndexMethod(QGraphicsScene.NoIndex)
-
self.undoStack = QUndoStack(self) #Used to store undo-redo moves
self.createActions() #creates necessary actions that need to be called for undo-redo
- def update(self, *args):
- self.advance()
- return super(customScene, self).update(*args)
-
def createActions(self):
# helper function to create delete, undo and redo shortcuts
self.deleteAction = QAction("Delete Item", self)
@@ -120,7 +114,6 @@ class customScene(QGraphicsScene):
def itemMoved(self, movedItem, lastPos):
#item move event, checks if item is moved
self.undoStack.push(moveCommand(movedItem, lastPos))
- self.advance()
def addItemPlus(self, item):
# extended add item method, so that a corresponding undo action is also pushed
diff --git a/src/main/python/utils/undo.py b/src/main/python/utils/undo.py
index 4a9f3dd..cf539e7 100644
--- a/src/main/python/utils/undo.py
+++ b/src/main/python/utils/undo.py
@@ -36,7 +36,6 @@ class addCommand(QUndoCommand):
self.scene.addItem(self.diagramItem)
self.diagramItem.setPos(self.itemPos)
self.scene.clearSelection()
- # print(self.diagramItem)
self.scene.update()
class deleteCommand(QUndoCommand):