start on shape drawing

This commit is contained in:
Huy Pham 2019-11-27 13:15:04 -08:00
parent 8278641cf4
commit f3ca5682ac
3 changed files with 28 additions and 1 deletions

View file

@ -17,6 +17,7 @@ from coretk.images import Images
from coretk.linkinfo import LinkInfo, Throughput
from coretk.nodedelete import CanvasComponentManagement
from coretk.nodeutils import NodeUtils
from coretk.shape import Shape
from coretk.wirelessconnection import WirelessConnection
NODE_TEXT_OFFSET = 5
@ -27,7 +28,8 @@ class GraphMode(enum.Enum):
EDGE = 1
PICKNODE = 2
NODE = 3
OTHER = 4
ANNOTATION = 4
OTHER = 5
class ScaleOption(enum.Enum):
@ -38,12 +40,18 @@ class ScaleOption(enum.Enum):
TILED = 4
class ShapeType(enum.Enum):
OVAL = 0
RECTANGLE = 1
class CanvasGraph(tk.Canvas):
def __init__(self, master, core, width, height, cnf=None, **kwargs):
if cnf is None:
cnf = {}
kwargs["highlightthickness"] = 0
super().__init__(master, cnf, **kwargs)
self.app = master
self.mode = GraphMode.SELECT
self.selected = None
self.node_draw = None
@ -317,6 +325,9 @@ class CanvasGraph(tk.Canvas):
if self.mode == GraphMode.EDGE and is_node:
x, y = self.coords(selected)
self.drawing_edge = CanvasEdge(x, y, x, y, selected, self)
if self.mode == GraphMode.ANNOTATION:
shape = Shape(self.app, self, event.x, event.y)
print(shape)
def click_motion(self, event):
"""

15
coretk/coretk/shape.py Normal file
View file

@ -0,0 +1,15 @@
"""
class for shapes
"""
# from coretk.images import ImageEnum, Images
class Shape:
def __init__(self, app, canvas, topleft_x, topleft_y):
self.app = app
self.canvas = canvas
self.x0 = topleft_x
self.y0 = topleft_y
self.id = self.canvas.create_oval(
topleft_x, topleft_y, topleft_x + 30, topleft_y + 30
)

View file

@ -367,6 +367,7 @@ class Toolbar(ttk.Frame):
self.hide_pickers()
self.annotation_button.configure(image=image)
self.annotation_button.image = image
self.app.canvas.mode = GraphMode.ANNOTATION
def click_run_button(self):
logging.debug("Click on RUN button")