network: Minor change.

mesh
Pierre-Antoine Rouby 2023-03-29 11:32:02 +02:00
parent 6a320c904a
commit 14af6609ad
2 changed files with 13 additions and 9 deletions

View File

@ -61,6 +61,10 @@ class Graph(object):
return node return node
def add_edge(self, n1:Node, n2:Node): def add_edge(self, n1:Node, n2:Node):
# This edge already exists ?
if list(filter(lambda e: e.node1 == n1 and e.node2 == n2, self._edges)):
return None
edge = Edge(self._edges_ids, "", n1, n2) edge = Edge(self._edges_ids, "", n1, n2)
self._edges.append(edge) self._edges.append(edge)
self._edges_ids += 1 self._edges_ids += 1

View File

@ -136,7 +136,7 @@ class EdgeItem(QGraphicsItem):
color = Qt.blue color = Qt.blue
if self.graph.selected_item() == self: if self.graph.selected_item() == self:
color = Qt.red color = Qt.red
elif self.graph.currentEdge() == self: elif self.graph.current_edge() == self:
color = Qt.darkBlue color = Qt.darkBlue
elif not self.graph.graph.is_enable_edge(self.edge): elif not self.graph.graph.is_enable_edge(self.edge):
color = Qt.darkGray color = Qt.darkGray
@ -249,7 +249,7 @@ class GraphWidget(QGraphicsView):
self._selected_item = None self._selected_item = None
self._selected_new_edge_src_node = None self._selected_new_edge_src_node = None
self._currentEdge = None self._current_edge = None
self.tmp_line = None self.tmp_line = None
self.node_items = [] self.node_items = []
@ -405,7 +405,7 @@ class GraphWidget(QGraphicsView):
edge = self.graph.add_edge(node1.node, node2.node) edge = self.graph.add_edge(node1.node, node2.node)
self.set_selected_item(None) self.set_selected_item(None)
self.setSelectedNewEdgeSrcNode(None) self.set_selected_new_edge_src_node(None)
# Reset the temporary line # Reset the temporary line
self.tmp_line = None self.tmp_line = None
@ -502,7 +502,7 @@ class GraphWidget(QGraphicsView):
""" """
return self._selected_new_edge_src_node return self._selected_new_edge_src_node
def setSelectedNewEdgeSrcNode(self, node): def set_selected_new_edge_src_node(self, node):
"""Set the current node item selected to add new edge """Set the current node item selected to add new edge
Args: Args:
@ -517,13 +517,13 @@ class GraphWidget(QGraphicsView):
if previous_node: if previous_node:
previous_node.update() previous_node.update()
def currentEdge(self): def current_edge(self):
"""The current selected edge """The current selected edge
Returns: Returns:
Item if edge are selected, otherelse None Item if edge are selected, otherelse None
""" """
return self._currentEdge return self._current_edge
def setCurrentEdge(self, edge): def setCurrentEdge(self, edge):
"""Set the current edge item selected """Set the current edge item selected
@ -535,7 +535,7 @@ class GraphWidget(QGraphicsView):
Nothing Nothing
""" """
previous_edge = self._selected_new_edge_src_node previous_edge = self._selected_new_edge_src_node
self._currentEdge = edge self._current_edge = edge
if previous_edge: if previous_edge:
previous_edge.update() previous_edge.update()
@ -546,7 +546,7 @@ class GraphWidget(QGraphicsView):
Returns: Returns:
Nothing Nothing
""" """
self.setSelectedNewEdgeSrcNode(None) self.set_selected_new_edge_src_node(None)
if self.tmp_line is not None: if self.tmp_line is not None:
self.tmp_line = None self.tmp_line = None
self.scene().clear() self.scene().clear()
@ -617,7 +617,7 @@ class GraphWidget(QGraphicsView):
self.add_node(pos) self.add_node(pos)
else: else:
if self.selected_new_edge_src_node() is None: if self.selected_new_edge_src_node() is None:
self.setSelectedNewEdgeSrcNode(nodes[0]) self.set_selected_new_edge_src_node(nodes[0])
else: else:
self.add_edge(self.selected_new_edge_src_node(), nodes[0]) self.add_edge(self.selected_new_edge_src_node(), nodes[0])