pamhyr: Add saved status in model.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-05-15 11:37:53 +02:00
1 parent b786bb44e2
commit d328806916
21 files changed
+215 -54

No files matched your search

+6 -1
View File
@@ -5,9 +5,12 @@ from Model.Network.Node import Node
class Edge(object):
def __init__(self, id:str, name:str,
node1:Node = None,
node2:Node = None):
node2:Node = None,
status = None):
super(Edge, self).__init__()
self._status = status
self.id = id
self._name = name if name != "" else f"{node1.name} -> {node2.name}"
@@ -44,6 +47,8 @@ class Edge(object):
elif name == "enable":
self.enable = value
self._status.modified()
@property
def name(self):
return self._name
+14 -3
View File
@@ -6,9 +6,11 @@ from Model.Network.Node import Node
from Model.Network.Edge import Edge
class Graph(object):
def __init__(self):
def __init__(self, status = None):
super(Graph, self).__init__()
self._status = status
self._node_ctor = Node
self._edge_ctor = Edge
@@ -82,13 +84,16 @@ class Graph(object):
def _add_node(self, node):
self._nodes.append(node)
self._nodes_ids += 1
self._status.modified()
return node
def add_node(self, x:float = 0.0, y:float = 0.0):
node = self._node_ctor(
self._nodes_ids,
f"Node {self._nodes_ids}",
x = x, y = y
x = x, y = y,
status = self._status
)
return self._add_node(node)
@@ -101,10 +106,14 @@ class Graph(object):
self._edges.append(edge)
self._edges_ids += 1
self._status.modified()
return edge
def add_edge(self, n1:Node, n2:Node):
edge = self._edge_ctor(self._edges_ids, "", n1, n2)
edge = self._edge_ctor(self._edges_ids,
"", n1, n2,
status = self._status)
return self._add_edge(edge)
def remove_node(self, node_name:str):
@@ -114,6 +123,7 @@ class Graph(object):
self._nodes
)
)
self._status.modified()
def remove_edge(self, edge_name:str):
self._edges = list(
@@ -122,6 +132,7 @@ class Graph(object):
self._edges
)
)
self._status.modified()
def is_upstream_node(self, node):
return reduce(
+7 -1
View File
@@ -4,9 +4,12 @@ from Model.Network.Point import Point
class Node(object):
def __init__(self, id:str, name:str,
x:float = 0.0, y:float = 0.0):
x:float = 0.0, y:float = 0.0,
status = None):
super(Node, self).__init__()
self._status = status
self.id = id
self._name = name
self.pos = Point(x, y)
@@ -29,6 +32,8 @@ class Node(object):
elif name == "id":
self.id = value
self._status.modified()
@property
def name(self):
return self._name
@@ -36,3 +41,4 @@ class Node(object):
def setPos(self, x, y):
self.pos.x = x
self.pos.y = y
self._status.modified()