updated new gui to properly update modified addresses for nodes, added validation for ip4/ip6, fixed redrawing edge labels when node addresses change

This commit is contained in:
Blake Harnden 2020-03-04 11:38:24 -08:00
parent 4093b2244a
commit 0d4a86f10e
3 changed files with 94 additions and 7 deletions

View file

@ -107,8 +107,7 @@ class CanvasEdge:
y = (y1 + y2) / 2
return x, y
def draw_labels(self):
x1, y1, x2, y2 = self.get_coordinates()
def create_labels(self):
label_one = None
if self.link.HasField("interface_one"):
label_one = (
@ -121,6 +120,11 @@ class CanvasEdge:
f"{self.link.interface_two.ip4}/{self.link.interface_two.ip4mask}\n"
f"{self.link.interface_two.ip6}/{self.link.interface_two.ip6mask}\n"
)
return label_one, label_two
def draw_labels(self):
x1, y1, x2, y2 = self.get_coordinates()
label_one, label_two = self.create_labels()
self.text_src = self.canvas.create_text(
x1,
y1,
@ -138,6 +142,11 @@ class CanvasEdge:
tags=tags.LINK_INFO,
)
def redraw(self):
label_one, label_two = self.create_labels()
self.canvas.itemconfig(self.text_src, text=label_one)
self.canvas.itemconfig(self.text_dst, text=label_two)
def update_labels(self):
"""
Move edge labels based on current position.