mirror of https://gitlab.com/pamhyr/pamhyr2
network: Minor change.
parent
7d1863fa2b
commit
4e1b3b94c0
|
|
@ -129,10 +129,10 @@ class EdgeItem(QGraphicsItem):
|
||||||
# painter.drawRect(self.boundingRect())
|
# painter.drawRect(self.boundingRect())
|
||||||
|
|
||||||
line = QLineF(self.src_node.pos(), self.dest_node.pos())
|
line = QLineF(self.src_node.pos(), self.dest_node.pos())
|
||||||
|
|
||||||
if line.length() == 0.0:
|
if line.length() == 0.0:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Select color
|
||||||
color = Qt.blue
|
color = Qt.blue
|
||||||
if self.graph.selected_item() == self:
|
if self.graph.selected_item() == self:
|
||||||
color = Qt.red
|
color = Qt.red
|
||||||
|
|
@ -143,6 +143,7 @@ class EdgeItem(QGraphicsItem):
|
||||||
|
|
||||||
painter.setPen(QPen(color, 3, Qt.SolidLine, Qt.RoundCap,
|
painter.setPen(QPen(color, 3, Qt.SolidLine, Qt.RoundCap,
|
||||||
Qt.RoundJoin))
|
Qt.RoundJoin))
|
||||||
|
# Draw the line
|
||||||
painter.drawLine(line)
|
painter.drawLine(line)
|
||||||
|
|
||||||
line_center = QPointF(
|
line_center = QPointF(
|
||||||
|
|
@ -150,7 +151,7 @@ class EdgeItem(QGraphicsItem):
|
||||||
(self.src_node.pos().y() + self.dest_node.pos().y()) / 2,
|
(self.src_node.pos().y() + self.dest_node.pos().y()) / 2,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Draw the arrows if there's enough room.
|
# Draw the arrows
|
||||||
angle = math.acos(line.dx() / line.length())
|
angle = math.acos(line.dx() / line.length())
|
||||||
if line.dy() >= 0:
|
if line.dy() >= 0:
|
||||||
angle = (math.pi * 2.0) - angle
|
angle = (math.pi * 2.0) - angle
|
||||||
|
|
@ -174,27 +175,28 @@ class NodeText(QGraphicsTextItem):
|
||||||
self.item = node_item
|
self.item = node_item
|
||||||
self.setPlainText(self.item.node.name)
|
self.setPlainText(self.item.node.name)
|
||||||
self.setDefaultTextColor(Qt.black)
|
self.setDefaultTextColor(Qt.black)
|
||||||
#self.setPos(self.item.pos())
|
|
||||||
self.set_custom_pos(self.item.pos())
|
self.set_custom_pos(self.item.pos())
|
||||||
self.setZValue(2)
|
self.setZValue(2)
|
||||||
|
|
||||||
def set_custom_pos(self, pos):
|
def set_custom_pos(self, pos):
|
||||||
x = pos.x()
|
x = pos.x()
|
||||||
y = pos.y() - 42
|
y = pos.y() - 42 # Dont panic! The answer is 42
|
||||||
|
|
||||||
self.setPos(QPointF(x,y))
|
self.setPos(QPointF(x,y))
|
||||||
|
|
||||||
|
|
||||||
def paint(self, painter, option, widget):
|
def paint(self, painter, option, widget):
|
||||||
color = QColor(Qt.white)
|
color = QColor(Qt.white)
|
||||||
color.setAlpha(128)
|
color.setAlpha(128)
|
||||||
|
|
||||||
|
# Draw text background
|
||||||
painter.setBrush(color)
|
painter.setBrush(color)
|
||||||
painter.drawRect(self.boundingRect())
|
painter.drawRect(self.boundingRect())
|
||||||
|
|
||||||
|
# Draw text
|
||||||
super(NodeText, self).paint(painter, option, widget)
|
super(NodeText, self).paint(painter, option, widget)
|
||||||
|
|
||||||
def rename(self):
|
def rename(self):
|
||||||
|
# Update the node text
|
||||||
self.setPlainText(self.item.node.name)
|
self.setPlainText(self.item.node.name)
|
||||||
|
|
||||||
class NewEdgeLine(QGraphicsItem):
|
class NewEdgeLine(QGraphicsItem):
|
||||||
|
|
@ -349,7 +351,7 @@ class GraphWidget(QGraphicsView):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
self.setSelectedItem(None)
|
self.set_selected_item(None)
|
||||||
|
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
self.graph.remove_edge(edge.edge.name)
|
self.graph.remove_edge(edge.edge.name)
|
||||||
|
|
@ -394,7 +396,7 @@ class GraphWidget(QGraphicsView):
|
||||||
return
|
return
|
||||||
|
|
||||||
edge = self.graph.add_edge(node1.node, node2.node)
|
edge = self.graph.add_edge(node1.node, node2.node)
|
||||||
self.setSelectedItem(None)
|
self.set_selected_item(None)
|
||||||
self.setSelectedNewEdgeSrcNode(None)
|
self.setSelectedNewEdgeSrcNode(None)
|
||||||
# Reset the temporary line
|
# Reset the temporary line
|
||||||
self.tmp_line = None
|
self.tmp_line = None
|
||||||
|
|
@ -466,7 +468,7 @@ class GraphWidget(QGraphicsView):
|
||||||
"""
|
"""
|
||||||
return self._selected_item
|
return self._selected_item
|
||||||
|
|
||||||
def setSelectedItem(self, item):
|
def set_selected_item(self, item):
|
||||||
"""Set current selected item
|
"""Set current selected item
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|
@ -636,6 +638,8 @@ class GraphWidget(QGraphicsView):
|
||||||
|
|
||||||
def mouseMoveEvent(self, event):
|
def mouseMoveEvent(self, event):
|
||||||
pos = self.mapToScene(event.pos())
|
pos = self.mapToScene(event.pos())
|
||||||
|
|
||||||
|
# Selecte item on the fly
|
||||||
items = self.items(event.pos())
|
items = self.items(event.pos())
|
||||||
selectable_items = list(
|
selectable_items = list(
|
||||||
filter(
|
filter(
|
||||||
|
|
@ -644,11 +648,10 @@ class GraphWidget(QGraphicsView):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Selecte item on the fly
|
|
||||||
if selectable_items:
|
if selectable_items:
|
||||||
self.setSelectedItem(selectable_items[0])
|
self.set_selected_item(selectable_items[0])
|
||||||
else:
|
else:
|
||||||
self.setSelectedItem(None)
|
self.set_selected_item(None)
|
||||||
|
|
||||||
# Update temporary line
|
# Update temporary line
|
||||||
if self.selected_new_edge_src_node() is not None:
|
if self.selected_new_edge_src_node() is not None:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue