marker tool

This commit is contained in:
Huy Pham 2019-12-19 08:46:21 -08:00
parent 5f927f75ba
commit 43c8b9e285
4 changed files with 24 additions and 8 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -24,10 +24,14 @@ class Marker(Dialog):
def draw(self):
button = ttk.Button(self.top, text="clear", command=self.clear_marker)
button.grid(row=0, column=0)
button.grid(row=0, column=0, sticky="nsew")
frame = ttk.Frame(self.top)
frame.grid(row=1, column=0)
frame.columnconfigure(0, weight=1)
frame.columnconfigure(1, weight=4)
frame.grid(row=1, column=0, sticky="nsew")
label = ttk.Label(frame, text="Thickness: ")
label.grid(row=0, column=0, sticky="nsew")
combobox = ttk.Combobox(
frame,
textvariable=self.marker_thickness,
@ -36,8 +40,14 @@ class Marker(Dialog):
)
combobox.grid(row=0, column=1, sticky="nsew")
combobox.bind("<<ComboboxSelected>>", self.change_thickness)
label = ttk.Label(self.top, background=self.color)
label.grid(row=2, column=0, sticky="nsew")
frame = ttk.Frame(self.top)
frame.columnconfigure(0, weight=1)
frame.columnconfigure(1, weight=4)
frame.grid(row=2, column=0, sticky="nsew")
label = ttk.Label(frame, text="Color: ")
label.grid(row=0, column=0, sticky="nsew")
label = ttk.Label(frame, background=self.color)
label.grid(row=0, column=1, sticky="nsew")
label.bind("<Button-1>", self.change_color)
def clear_marker(self):
@ -57,3 +67,7 @@ class Marker(Dialog):
def close_marker(self, event):
logging.debug("destroy marker dialog")
self.app.toolbar.marker_tool = None
def position(self):
print(self.winfo_width(), self.winfo_height())
self.geometry("+{}+{}".format(self.app.master.winfo_x, self.app.master.winfo_y))

View file

@ -499,7 +499,7 @@ class CanvasGraph(tk.Canvas):
x, y = self.coords(selected)
self.drawing_edge = CanvasEdge(x, y, x, y, selected, self)
if self.mode == GraphMode.ANNOTATION and selected is None:
if self.mode == GraphMode.ANNOTATION:
if is_marker(self.annotation_type):
r = self.app.toolbar.marker_tool.radius
self.create_oval(
@ -511,7 +511,8 @@ class CanvasGraph(tk.Canvas):
outline="",
tags="marker",
)
else:
return
if selected is None:
shape = Shape(self.app, self, self.annotation_type, x, y)
self.selected = shape.id
self.shape_drawing = True
@ -587,8 +588,7 @@ class CanvasGraph(tk.Canvas):
shape = self.shapes[self.selected]
shape.shape_motion(x, y)
elif is_marker(self.annotation_type):
marker_tool = self.app.toolbar.marker_tool
r = marker_tool.radius
r = self.app.toolbar.marker_tool.radius
self.create_oval(
x - r,
y - r,
@ -598,6 +598,7 @@ class CanvasGraph(tk.Canvas):
outline="",
tags="marker",
)
return
if self.mode == GraphMode.EDGE:
return

View file

@ -420,6 +420,7 @@ class Toolbar(ttk.Frame):
logging.debug("Click on marker button")
dialog = Marker(self.master, self.app)
dialog.show()
# dialog.position()
def click_two_node_button(self):
logging.debug("Click TWONODE button")