mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
pamhyr: Add saved status in model.
This commit is contained in:
1 parent
b786bb44e2
commit
d328806916
21 files changed
+215
-54
No files matched your search
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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()
|
||||
Reference in new issue
Block a user