pygui simplify show/hiding annotations
This commit is contained in:
parent
d26c4fc4ab
commit
3233d8ab58
5 changed files with 17 additions and 28 deletions
|
@ -235,7 +235,7 @@ class ShapeDialog(Dialog):
|
||||||
text=shape_text,
|
text=shape_text,
|
||||||
fill=self.text_color,
|
fill=self.text_color,
|
||||||
font=text_font,
|
font=text_font,
|
||||||
tags=tags.SHAPE_TEXT,
|
tags=(tags.SHAPE_TEXT, tags.ANNOTATION),
|
||||||
)
|
)
|
||||||
self.shape.created = True
|
self.shape.created = True
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -94,9 +94,7 @@ class CanvasGraph(tk.Canvas):
|
||||||
self.show_node_labels = ShowVar(self, tags.NODE_LABEL, value=True)
|
self.show_node_labels = ShowVar(self, tags.NODE_LABEL, value=True)
|
||||||
self.show_link_labels = ShowVar(self, tags.LINK_LABEL, value=True)
|
self.show_link_labels = ShowVar(self, tags.LINK_LABEL, value=True)
|
||||||
self.show_grid = ShowVar(self, tags.GRIDLINE, value=True)
|
self.show_grid = ShowVar(self, tags.GRIDLINE, value=True)
|
||||||
self.show_shapes = ShowVar(self, tags.SHAPE, value=True)
|
self.show_annotations = ShowVar(self, tags.ANNOTATION, value=True)
|
||||||
self.show_shape_labels = ShowVar(self, tags.SHAPE_TEXT, value=True)
|
|
||||||
self.show_marker = ShowVar(self, tags.MARKER, value=True)
|
|
||||||
self.show_interface_names = BooleanVar(value=False)
|
self.show_interface_names = BooleanVar(value=False)
|
||||||
self.show_ip4s = BooleanVar(value=True)
|
self.show_ip4s = BooleanVar(value=True)
|
||||||
self.show_ip6s = BooleanVar(value=True)
|
self.show_ip6s = BooleanVar(value=True)
|
||||||
|
@ -585,8 +583,8 @@ class CanvasGraph(tk.Canvas):
|
||||||
y + r,
|
y + r,
|
||||||
fill=self.app.toolbar.marker_tool.color,
|
fill=self.app.toolbar.marker_tool.color,
|
||||||
outline="",
|
outline="",
|
||||||
tags=tags.MARKER,
|
tags=(tags.MARKER, tags.ANNOTATION),
|
||||||
state=self.show_marker.state(),
|
state=self.show_annotations.state(),
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
if selected is None:
|
if selected is None:
|
||||||
|
@ -669,7 +667,7 @@ class CanvasGraph(tk.Canvas):
|
||||||
y + r,
|
y + r,
|
||||||
fill=self.app.toolbar.marker_tool.color,
|
fill=self.app.toolbar.marker_tool.color,
|
||||||
outline="",
|
outline="",
|
||||||
tags="marker",
|
tags=(tags.MARKER, tags.ANNOTATION),
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -80,12 +80,12 @@ class Shape:
|
||||||
self.y1,
|
self.y1,
|
||||||
self.x2,
|
self.x2,
|
||||||
self.y2,
|
self.y2,
|
||||||
tags=tags.SHAPE,
|
tags=(tags.SHAPE, tags.ANNOTATION),
|
||||||
dash=dash,
|
dash=dash,
|
||||||
fill=self.shape_data.fill_color,
|
fill=self.shape_data.fill_color,
|
||||||
outline=self.shape_data.border_color,
|
outline=self.shape_data.border_color,
|
||||||
width=self.shape_data.border_width,
|
width=self.shape_data.border_width,
|
||||||
state=self.canvas.show_shapes.state(),
|
state=self.canvas.show_annotations.state(),
|
||||||
)
|
)
|
||||||
self.draw_shape_text()
|
self.draw_shape_text()
|
||||||
elif self.shape_type == ShapeType.RECTANGLE:
|
elif self.shape_type == ShapeType.RECTANGLE:
|
||||||
|
@ -94,12 +94,12 @@ class Shape:
|
||||||
self.y1,
|
self.y1,
|
||||||
self.x2,
|
self.x2,
|
||||||
self.y2,
|
self.y2,
|
||||||
tags=tags.SHAPE,
|
tags=(tags.SHAPE, tags.ANNOTATION),
|
||||||
dash=dash,
|
dash=dash,
|
||||||
fill=self.shape_data.fill_color,
|
fill=self.shape_data.fill_color,
|
||||||
outline=self.shape_data.border_color,
|
outline=self.shape_data.border_color,
|
||||||
width=self.shape_data.border_width,
|
width=self.shape_data.border_width,
|
||||||
state=self.canvas.show_shapes.state(),
|
state=self.canvas.show_annotations.state(),
|
||||||
)
|
)
|
||||||
self.draw_shape_text()
|
self.draw_shape_text()
|
||||||
elif self.shape_type == ShapeType.TEXT:
|
elif self.shape_type == ShapeType.TEXT:
|
||||||
|
@ -107,11 +107,11 @@ class Shape:
|
||||||
self.id = self.canvas.create_text(
|
self.id = self.canvas.create_text(
|
||||||
self.x1,
|
self.x1,
|
||||||
self.y1,
|
self.y1,
|
||||||
tags=tags.SHAPE_TEXT,
|
tags=(tags.SHAPE_TEXT, tags.ANNOTATION),
|
||||||
text=self.shape_data.text,
|
text=self.shape_data.text,
|
||||||
fill=self.shape_data.text_color,
|
fill=self.shape_data.text_color,
|
||||||
font=font,
|
font=font,
|
||||||
state=self.canvas.show_shapes.state(),
|
state=self.canvas.show_annotations.state(),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
logging.error("unknown shape type: %s", self.shape_type)
|
logging.error("unknown shape type: %s", self.shape_type)
|
||||||
|
@ -135,11 +135,11 @@ class Shape:
|
||||||
self.text_id = self.canvas.create_text(
|
self.text_id = self.canvas.create_text(
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
tags=tags.SHAPE_TEXT,
|
tags=(tags.SHAPE_TEXT, tags.ANNOTATION),
|
||||||
text=self.shape_data.text,
|
text=self.shape_data.text,
|
||||||
fill=self.shape_data.text_color,
|
fill=self.shape_data.text_color,
|
||||||
font=font,
|
font=font,
|
||||||
state=self.canvas.show_shape_labels.state(),
|
state=self.canvas.show_annotations.state(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def shape_motion(self, x1: float, y1: float):
|
def shape_motion(self, x1: float, y1: float):
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
ANNOTATION = "annotation"
|
||||||
GRIDLINE = "gridline"
|
GRIDLINE = "gridline"
|
||||||
SHAPE = "shape"
|
SHAPE = "shape"
|
||||||
SHAPE_TEXT = "shapetext"
|
SHAPE_TEXT = "shapetext"
|
||||||
|
|
|
@ -3,7 +3,7 @@ import os
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
import webbrowser
|
import webbrowser
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from tkinter import BooleanVar, filedialog, messagebox
|
from tkinter import filedialog, messagebox
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from core.gui.appconfig import XMLS_PATH
|
from core.gui.appconfig import XMLS_PATH
|
||||||
|
@ -44,7 +44,6 @@ class Menubar(tk.Menu):
|
||||||
self.canvas = app.canvas
|
self.canvas = app.canvas
|
||||||
self.recent_menu = None
|
self.recent_menu = None
|
||||||
self.edit_menu = None
|
self.edit_menu = None
|
||||||
self.show_annotations = BooleanVar(value=True)
|
|
||||||
self.draw()
|
self.draw()
|
||||||
|
|
||||||
def draw(self) -> None:
|
def draw(self) -> None:
|
||||||
|
@ -158,8 +157,8 @@ class Menubar(tk.Menu):
|
||||||
)
|
)
|
||||||
menu.add_checkbutton(
|
menu.add_checkbutton(
|
||||||
label="Annotations",
|
label="Annotations",
|
||||||
command=self.click_show_annotations,
|
command=self.canvas.show_annotations.click_handler,
|
||||||
variable=self.show_annotations,
|
variable=self.canvas.show_annotations,
|
||||||
)
|
)
|
||||||
menu.add_checkbutton(
|
menu.add_checkbutton(
|
||||||
label="Canvas Grid",
|
label="Canvas Grid",
|
||||||
|
@ -462,12 +461,3 @@ class Menubar(tk.Menu):
|
||||||
def click_edge_label_change(self) -> None:
|
def click_edge_label_change(self) -> None:
|
||||||
for edge in self.canvas.edges.values():
|
for edge in self.canvas.edges.values():
|
||||||
edge.draw_labels()
|
edge.draw_labels()
|
||||||
|
|
||||||
def click_show_annotations(self) -> None:
|
|
||||||
value = self.show_annotations.get()
|
|
||||||
self.canvas.show_shapes.set(value)
|
|
||||||
self.canvas.show_shape_labels.set(value)
|
|
||||||
self.canvas.show_marker.set(value)
|
|
||||||
self.canvas.show_shapes.click_handler()
|
|
||||||
self.canvas.show_shape_labels.click_handler()
|
|
||||||
self.canvas.show_marker.click_handler()
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue