diff --git a/daemon/core/gui/dialogs/shapemod.py b/daemon/core/gui/dialogs/shapemod.py index 791e1f71..f47cb7b3 100644 --- a/daemon/core/gui/dialogs/shapemod.py +++ b/daemon/core/gui/dialogs/shapemod.py @@ -235,7 +235,7 @@ class ShapeDialog(Dialog): text=shape_text, fill=self.text_color, font=text_font, - tags=tags.SHAPE_TEXT, + tags=(tags.SHAPE_TEXT, tags.ANNOTATION), ) self.shape.created = True else: diff --git a/daemon/core/gui/graph/graph.py b/daemon/core/gui/graph/graph.py index 3b1efaea..e7908d35 100644 --- a/daemon/core/gui/graph/graph.py +++ b/daemon/core/gui/graph/graph.py @@ -94,9 +94,7 @@ class CanvasGraph(tk.Canvas): self.show_node_labels = ShowVar(self, tags.NODE_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_shapes = ShowVar(self, tags.SHAPE, value=True) - self.show_shape_labels = ShowVar(self, tags.SHAPE_TEXT, value=True) - self.show_marker = ShowVar(self, tags.MARKER, value=True) + self.show_annotations = ShowVar(self, tags.ANNOTATION, value=True) self.show_interface_names = BooleanVar(value=False) self.show_ip4s = BooleanVar(value=True) self.show_ip6s = BooleanVar(value=True) @@ -585,8 +583,8 @@ class CanvasGraph(tk.Canvas): y + r, fill=self.app.toolbar.marker_tool.color, outline="", - tags=tags.MARKER, - state=self.show_marker.state(), + tags=(tags.MARKER, tags.ANNOTATION), + state=self.show_annotations.state(), ) return if selected is None: @@ -669,7 +667,7 @@ class CanvasGraph(tk.Canvas): y + r, fill=self.app.toolbar.marker_tool.color, outline="", - tags="marker", + tags=(tags.MARKER, tags.ANNOTATION), ) return diff --git a/daemon/core/gui/graph/shape.py b/daemon/core/gui/graph/shape.py index 12f70884..6e3d682d 100644 --- a/daemon/core/gui/graph/shape.py +++ b/daemon/core/gui/graph/shape.py @@ -80,12 +80,12 @@ class Shape: self.y1, self.x2, self.y2, - tags=tags.SHAPE, + tags=(tags.SHAPE, tags.ANNOTATION), dash=dash, fill=self.shape_data.fill_color, outline=self.shape_data.border_color, width=self.shape_data.border_width, - state=self.canvas.show_shapes.state(), + state=self.canvas.show_annotations.state(), ) self.draw_shape_text() elif self.shape_type == ShapeType.RECTANGLE: @@ -94,12 +94,12 @@ class Shape: self.y1, self.x2, self.y2, - tags=tags.SHAPE, + tags=(tags.SHAPE, tags.ANNOTATION), dash=dash, fill=self.shape_data.fill_color, outline=self.shape_data.border_color, width=self.shape_data.border_width, - state=self.canvas.show_shapes.state(), + state=self.canvas.show_annotations.state(), ) self.draw_shape_text() elif self.shape_type == ShapeType.TEXT: @@ -107,11 +107,11 @@ class Shape: self.id = self.canvas.create_text( self.x1, self.y1, - tags=tags.SHAPE_TEXT, + tags=(tags.SHAPE_TEXT, tags.ANNOTATION), text=self.shape_data.text, fill=self.shape_data.text_color, font=font, - state=self.canvas.show_shapes.state(), + state=self.canvas.show_annotations.state(), ) else: logging.error("unknown shape type: %s", self.shape_type) @@ -135,11 +135,11 @@ class Shape: self.text_id = self.canvas.create_text( x, y, - tags=tags.SHAPE_TEXT, + tags=(tags.SHAPE_TEXT, tags.ANNOTATION), text=self.shape_data.text, fill=self.shape_data.text_color, font=font, - state=self.canvas.show_shape_labels.state(), + state=self.canvas.show_annotations.state(), ) def shape_motion(self, x1: float, y1: float): diff --git a/daemon/core/gui/graph/tags.py b/daemon/core/gui/graph/tags.py index 5caf802a..8ac6476b 100644 --- a/daemon/core/gui/graph/tags.py +++ b/daemon/core/gui/graph/tags.py @@ -1,3 +1,4 @@ +ANNOTATION = "annotation" GRIDLINE = "gridline" SHAPE = "shape" SHAPE_TEXT = "shapetext" diff --git a/daemon/core/gui/menubar.py b/daemon/core/gui/menubar.py index 2a2cde5a..0f016374 100644 --- a/daemon/core/gui/menubar.py +++ b/daemon/core/gui/menubar.py @@ -3,7 +3,7 @@ import os import tkinter as tk import webbrowser from functools import partial -from tkinter import BooleanVar, filedialog, messagebox +from tkinter import filedialog, messagebox from typing import TYPE_CHECKING from core.gui.appconfig import XMLS_PATH @@ -44,7 +44,6 @@ class Menubar(tk.Menu): self.canvas = app.canvas self.recent_menu = None self.edit_menu = None - self.show_annotations = BooleanVar(value=True) self.draw() def draw(self) -> None: @@ -158,8 +157,8 @@ class Menubar(tk.Menu): ) menu.add_checkbutton( label="Annotations", - command=self.click_show_annotations, - variable=self.show_annotations, + command=self.canvas.show_annotations.click_handler, + variable=self.canvas.show_annotations, ) menu.add_checkbutton( label="Canvas Grid", @@ -462,12 +461,3 @@ class Menubar(tk.Menu): def click_edge_label_change(self) -> None: for edge in self.canvas.edges.values(): 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()