From 7d1863fa2b2cb33cc5c32fab1b37b426fc7beead Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Fri, 24 Mar 2023 11:40:53 +0100
Subject: [PATCH] network: Commment some code and delete some dead code.

---
 src/view/network/GraphWidget.py | 208 +++++++++++++++++++++++---------
 1 file changed, 154 insertions(+), 54 deletions(-)

diff --git a/src/view/network/GraphWidget.py b/src/view/network/GraphWidget.py
index d42edecb..8d771cbe 100644
--- a/src/view/network/GraphWidget.py
+++ b/src/view/network/GraphWidget.py
@@ -30,7 +30,6 @@ class NodeItem(QGraphicsItem):
         self.setPos(QPointF(self.node.pos.x, self.node.pos.y))
 
         self.graph = graph_widget
-        self.newPos = QPointF()
 
         self.setFlag(QGraphicsItem.ItemIsMovable)
         self.setFlag(QGraphicsItem.ItemSendsGeometryChanges)
@@ -40,13 +39,6 @@ class NodeItem(QGraphicsItem):
     def type(self):
         return NodeItem.Type
 
-    def advance(self):
-        if self.newPos == self.pos():
-            return False
-
-        self.setPos(self.newPos)
-        return True
-
     def boundingRect(self):
         adjust = 2.0
         return QRectF(-10 - adjust, -10 - adjust, 20 + adjust, 20 + adjust)
@@ -59,10 +51,11 @@ class NodeItem(QGraphicsItem):
     def paint(self, painter, option, widget):
         painter.setPen(Qt.NoPen)
 
+        # Select in function of node position in graph or status
         color = Qt.yellow
-        if self.graph.selectedNewEdgeSrcNode() == self:
+        if self.graph.selected_new_edge_src_node() == self:
             color = Qt.darkRed
-        elif self.graph.selectedItem() == self:
+        elif self.graph.selected_item() == self:
             color = Qt.red
         elif not self.graph.graph.is_enable_node(self.node):
             color = Qt.darkGray
@@ -76,8 +69,7 @@ class NodeItem(QGraphicsItem):
 
     def itemChange(self, change, value):
         if change == QGraphicsItem.ItemPositionHasChanged:
-            self.graph.itemMoved()
-            self.graph.nodeChangePosition(value, self)
+            self.graph.node_change_position(value, self)
 
         self.graph.update_edges(self)
         return super(NodeItem, self).itemChange(change, value)
@@ -108,20 +100,6 @@ class EdgeItem(QGraphicsItem):
     def type(self):
         return Edge.Type
 
-    def sourceNode(self):
-        return self.src_node.node
-
-    def setSourceNode(self, node_item):
-        self.src_node = node_item
-        self.adjust()
-
-    def destNode(self):
-        return self.dest
-
-    def setDestNode(self, node_item):
-        self.dest_node = node_item
-        self.adjust()
-
     def adjust(self):
         line = QLineF(
             self.mapFromItem(self.src_node, 0, 0),
@@ -156,7 +134,7 @@ class EdgeItem(QGraphicsItem):
             return
 
         color = Qt.blue
-        if self.graph.selectedItem() == self:
+        if self.graph.selected_item() == self:
             color = Qt.red
         elif self.graph.currentEdge() == self:
             color = Qt.darkBlue
@@ -259,8 +237,8 @@ class GraphWidget(QGraphicsView):
         self.parent = parent
         self._state = "move"
 
-        self._selectedItem = None
-        self._selectedNewEdgeSrcNode = None
+        self._selected_item = None
+        self._selected_new_edge_src_node = None
         self._currentEdge = None
         self.tmp_line = None
 
@@ -287,6 +265,11 @@ class GraphWidget(QGraphicsView):
         self.create_items()
 
     def create_items(self):
+        """Create all items and draw its
+
+        Returns:
+            Nothing
+        """
         self.node_items = []
         self.edge_items = []
         self.texts = {}
@@ -318,9 +301,28 @@ class GraphWidget(QGraphicsView):
             self.edge_items.append(iedge)
 
     def state(self, status):
+        """Set the current status of draw widget
+
+        Set the current status of draw widget, like "move", "add" or
+        "del"
+
+        Args:
+            status: String of current status
+
+        Returns:
+            Nothing
+        """
         self._state = status
 
     def add_node(self, pos):
+        """Create a new node in graph and draw it
+
+        Args:
+            pos: The position of new node
+
+        Returns:
+            Nothing
+        """
         node = self.graph.add_node(pos.x(), pos.y())
         inode = NodeItem(node, self)
         self.scene().addItem(inode)
@@ -331,6 +333,14 @@ class GraphWidget(QGraphicsView):
         self.changeNode.emit(self.sender())
 
     def del_node(self, item):
+        """Delete a node and update display
+
+        Args:
+            item: The node item to delete
+
+        Returns:
+            Nothing
+        """
         node = item.node
         edges = list(
             filter(
@@ -352,42 +362,78 @@ class GraphWidget(QGraphicsView):
         self.changeEdge.emit(self.sender())
 
     def rename_nodes(self):
+        """Update all nodes item name in scene
+
+        Returns:
+            Nothing
+        """
         for i in self.texts:
             if type(i) == NodeItem:
                 self.texts[i].rename()
 
     def display_update(self):
+        """Clear the scene and redraw it
+
+        Returns:
+            Nothing
+        """
         self.scene().clear()
         self.create_items()
 
     def add_edge(self, node1, node2):
+        """Create a new edge in graph and draw it
+
+        Args:
+            node1: The source node
+            node2: The destination node
+
+        Returns:
+            Nothing
+        """
         if node1 == node2:
             return
 
         edge = self.graph.add_edge(node1.node, node2.node)
-        # iedge = EdgeItem(node1, node2, edge, self)
-        # self.scene().addItem(iedge)
-        # self.edge_items.append(iedge)
         self.setSelectedItem(None)
         self.setSelectedNewEdgeSrcNode(None)
-
+        # Reset the temporary line
         self.tmp_line = None
+
+        # Clear all scene and redraw it
         self.scene().clear()
         self.create_items()
 
         self.changeEdge.emit(self.sender())
 
     def del_edge(self, item):
+        """Delete an edge and update display
+
+        Args:
+            item: The edge item to delete
+
+        Returns:
+            Nothing
+        """
         edge = item.edge
         self.graph.remove_edge(edge.name)
 
+        # Clear all scene and redraw it
         self.scene().clear()
         self.create_items()
+
         self.changeNode.emit(self.sender())
         self.changeEdge.emit(self.sender())
 
 
     def update_edges(self, node):
+        """Update display of all edges linked with the node
+
+        Args:
+            node: The node item linked with edges to update
+
+        Returns:
+            Nothing
+        """
         edges = list(
             filter(
                 lambda ie: ie.edge.node1 == node.node or ie.edge.node2 == node.node,
@@ -396,25 +442,41 @@ class GraphWidget(QGraphicsView):
         )
 
         for edge in edges:
-            # edge.node1.update()
-            # edge.node2.update()
             edge.update()
 
-    def itemMoved(self):
-        if not self.timerId:
-            self.timerId = self.startTimer(1000 / 25)
+    def node_change_position(self, pos, node):
+        """Update node position and node text position
+
+        Args:
+            pos: The new position
+            node: The node item
 
-    def nodeChangePosition(self, pos, node):
+        Returns:
+            Nothing
+        """
         node.node.setPos(pos.x(), pos.y())
         self.texts[node].set_custom_pos(pos)
         self.texts[node].update()
 
-    def selectedItem(self):
-        return self._selectedItem
+    def selected_item(self):
+        """Current selected item
+
+        Returns:
+            Item if item ar selected, otherelse None
+        """
+        return self._selected_item
 
     def setSelectedItem(self, item):
-        previous_item = self._selectedItem
-        self._selectedItem = item
+        """Set current selected item
+
+        Args:
+            item: The new item to select
+
+        Returns:
+            Nothing
+        """
+        previous_item = self._selected_item
+        self._selected_item = item
 
         if previous_item:
             previous_item.update()
@@ -422,27 +484,58 @@ class GraphWidget(QGraphicsView):
         if item:
             item.update()
 
-    def selectedNewEdgeSrcNode(self):
-        return self._selectedNewEdgeSrcNode
+    def selected_new_edge_src_node(self):
+        """The current node item selected to add new edge
+
+        Returns:
+            Item if item ar selected, otherelse None
+        """
+        return self._selected_new_edge_src_node
 
     def setSelectedNewEdgeSrcNode(self, node):
-        previous_node = self._selectedNewEdgeSrcNode
-        self._selectedNewEdgeSrcNode = node
+        """Set the current node item selected to add new edge
+
+        Args:
+            node: The new node to select
+
+        Returns:
+            Nothing
+        """
+        previous_node = self._selected_new_edge_src_node
+        self._selected_new_edge_src_node = node
 
         if previous_node:
             previous_node.update()
 
     def currentEdge(self):
+        """The current selected edge
+
+        Returns:
+            Item if edge are selected, otherelse None
+        """
         return self._currentEdge
 
     def setCurrentEdge(self, edge):
-        previous_edge = self._selectedNewEdgeSrcNode
+        """Set the current edge item selected
+
+        Args:
+            edge: The new edge to select
+
+        Returns:
+            Nothing
+        """
+        previous_edge = self._selected_new_edge_src_node
         self._currentEdge = edge
 
         if previous_edge:
             previous_edge.update()
 
     def reset_selection(self):
+        """Reset all the selected items
+
+        Returns:
+            Nothing
+        """
         self.setSelectedNewEdgeSrcNode(None)
         if self.tmp_line is not None:
             self.tmp_line = None
@@ -492,8 +585,10 @@ class GraphWidget(QGraphicsView):
 
     def mousePressEvent(self, event):
         pos = self.mapToScene(event.pos())
+
+        # Move item and select edge item
         if self._state == "move":
-            self._selectedNewEdgeSrcNode = None
+            self._selected_new_edge_src_node = None
 
             self.mouse_origin_x = pos.x()
             self.mouse_origin_y = pos.y()
@@ -504,19 +599,21 @@ class GraphWidget(QGraphicsView):
                 if edge:
                     self.setCurrentEdge(edge)
 
+        # Add nodes and edges
         elif self._state == "add":
             items = self.items(event.pos())
             nodes = list(filter(lambda i: type(i) == NodeItem, items))
             if not nodes:
                 self.add_node(pos)
             else:
-                if self.selectedNewEdgeSrcNode() is None:
+                if self.selected_new_edge_src_node() is None:
                     self.setSelectedNewEdgeSrcNode(nodes[0])
                 else:
-                    self.add_edge(self.selectedNewEdgeSrcNode(), nodes[0])
+                    self.add_edge(self.selected_new_edge_src_node(), nodes[0])
 
+        # Delete nodes and edges
         elif self._state == "del":
-            self._selectedNewEdgeSrcNode = None
+            self._selected_new_edge_src_node = None
             items = list(
                 filter(
                     lambda i: type(i) == NodeItem or type(i) == EdgeItem,
@@ -547,15 +644,17 @@ class GraphWidget(QGraphicsView):
             )
         )
 
+        # Selecte item on the fly
         if selectable_items:
             self.setSelectedItem(selectable_items[0])
         else:
             self.setSelectedItem(None)
 
-        if self.selectedNewEdgeSrcNode() is not None:
+        # Update temporary line
+        if self.selected_new_edge_src_node() is not None:
             if self.tmp_line is None:
                 self.tmp_line = NewEdgeLine(
-                    self.selectedNewEdgeSrcNode().pos(),
+                    self.selected_new_edge_src_node().pos(),
                     pos
                 )
                 self.scene().addItem(self.tmp_line)
@@ -563,6 +662,7 @@ class GraphWidget(QGraphicsView):
                 self.tmp_line.dest = pos
             self.tmp_line.update()
 
+        # If state is "move" propagate event
         if self._state == "move":
             self.update()
             super(GraphWidget, self).mouseMoveEvent(event)
-- 
GitLab