network: Remove landmark and minor change.

mesh
Pierre-Antoine Rouby 2023-03-24 10:55:21 +01:00
parent cec8eac432
commit c84ab379d1
1 changed files with 29 additions and 39 deletions

View File

@ -20,36 +20,6 @@ from PyQt5.QtWidgets import (
QGraphicsView, QStyle, QGraphicsTextItem,
)
class LandMark(QGraphicsItem):
def __init__(self, width, height, parent=None):
super(LandMark, self).__init__()
self.width = width
self.height = height
self.center = QPoint(width / 2, height / 2)
self.parent = parent
def paint(self, painter, option, widget):
painter.setPen(Qt.NoPen)
painter.setPen(QPen(Qt.black, 0))
painter.drawLine(
-10 + self.center.x(), 0 + self.center.y(),
10 + self.center.x(), 0 + self.center.y()
)
painter.drawLine(
0 + self.center.x(), -10 + self.center.y(),
0 + self.center.x(), 10 + self.center.y()
)
def boundingRect(self):
return QRectF(
-10 + self.center.x(), -10 + self.center.y(),
10 + self.center.x(), 10 + self.center.y()
)
class NodeItem(QGraphicsItem):
Type = QGraphicsItem.UserType + 1
@ -174,11 +144,11 @@ class EdgeItem(QGraphicsItem):
).normalized().adjusted(-extra, -extra, extra, extra)
def paint(self, painter, option, widget):
color = QColor(Qt.white)
color.setAlpha(128)
# color = QColor(Qt.white)
# color.setAlpha(128)
painter.setBrush(color)
painter.drawRect(self.boundingRect())
# painter.setBrush(color)
# painter.drawRect(self.boundingRect())
line = QLineF(self.src_node.pos(), self.dest_node.pos())
@ -188,10 +158,11 @@ class EdgeItem(QGraphicsItem):
color = Qt.blue
if self.graph.selectedItem() == self:
color = Qt.red
elif self.graph.currentEdge() == self:
color = Qt.darkBlue
elif not self.graph.graph.is_enable_edge(self.edge):
color = Qt.darkGray
painter.setPen(QPen(color, 3, Qt.SolidLine, Qt.RoundCap,
Qt.RoundJoin))
painter.drawLine(line)
@ -290,6 +261,7 @@ class GraphWidget(QGraphicsView):
self._selectedItem = None
self._selectedNewEdgeSrcNode = None
self._currentEdge = None
self.tmp_line = None
self.node_items = []
@ -345,9 +317,6 @@ class GraphWidget(QGraphicsView):
self.scene().addItem(iedge)
self.edge_items.append(iedge)
# self.mark = LandMark(1000, 1000, self)
# self.scene().addItem(self.mark)
def state(self, status):
self._state = status
@ -463,6 +432,16 @@ class GraphWidget(QGraphicsView):
if previous_node:
previous_node.update()
def currentEdge(self):
return self._currentEdge
def setCurrentEdge(self, edge):
previous_edge = self._selectedNewEdgeSrcNode
self._currentEdge = edge
if previous_edge:
previous_edge.update()
def reset_selection(self):
self.setSelectedNewEdgeSrcNode(None)
if self.tmp_line is not None:
@ -500,7 +479,9 @@ class GraphWidget(QGraphicsView):
self.scaleView(math.pow(2.0, -event.angleDelta().y() / 240.0))
def scaleView(self, scaleFactor):
factor = self.transform().scale(scaleFactor, scaleFactor).mapRect(QRectF(0, 0, 1, 1)).width()
factor = self.transform().scale(
scaleFactor, scaleFactor
).mapRect(QRectF(0, 0, 1, 1)).width()
if factor < 0.05 or factor > 1.5:
return
@ -512,9 +493,17 @@ class GraphWidget(QGraphicsView):
def mousePressEvent(self, event):
pos = self.mapToScene(event.pos())
if self._state == "move":
self._selectedNewEdgeSrcNode = None
self.mouse_origin_x = pos.x()
self.mouse_origin_y = pos.y()
items = self.items(event.pos())
if type(items[0]) == EdgeItem:
edge = items[0]
if edge:
self.setCurrentEdge(edge)
elif self._state == "add":
items = self.items(event.pos())
nodes = list(filter(lambda i: type(i) == NodeItem, items))
@ -527,6 +516,7 @@ class GraphWidget(QGraphicsView):
self.add_edge(self.selectedNewEdgeSrcNode(), nodes[0])
elif self._state == "del":
self._selectedNewEdgeSrcNode = None
items = list(
filter(
lambda i: type(i) == NodeItem or type(i) == EdgeItem,