changes to support mobility actions for mobility player dialog

This commit is contained in:
Blake Harnden 2019-11-26 17:00:55 -08:00
parent 14b01e0325
commit 13ca85cf3f
2 changed files with 22 additions and 4 deletions

View file

@ -1,6 +1,7 @@
import tkinter as tk
from tkinter import ttk
from core.api.grpc import core_pb2
from coretk.dialogs.dialog import Dialog
PAD = 5
@ -11,10 +12,13 @@ class MobilityPlayerDialog(Dialog):
super().__init__(
master, app, f"{canvas_node.core_node.name} Mobility Player", modal=False
)
self.canvas_node = canvas_node
self.node = canvas_node.core_node
self.config = self.app.core.mobility_configs[canvas_node.core_node.id]
self.play_button = None
self.pause_button = None
self.stop_button = None
self.progressbar = None
self.draw()
def draw(self):
@ -27,9 +31,9 @@ class MobilityPlayerDialog(Dialog):
frame = ttk.Frame(self.top)
frame.grid(sticky="ew", pady=PAD)
frame.columnconfigure(0, weight=1)
progressbar = ttk.Progressbar(frame, mode="indeterminate")
progressbar.grid(row=0, column=0, sticky="ew", padx=PAD)
progressbar.start()
self.progressbar = ttk.Progressbar(frame, mode="indeterminate")
self.progressbar.grid(row=0, column=0, sticky="ew", padx=PAD)
self.progressbar.start()
label = ttk.Label(frame, text="time")
label.grid(row=0, column=1)
@ -63,11 +67,26 @@ class MobilityPlayerDialog(Dialog):
def click_play(self):
self.clear_buttons()
self.play_button.state(["pressed"])
session_id = self.app.core.session_id
self.app.core.client.mobility_action(
session_id, self.node.id, core_pb2.MobilityAction.START
)
self.progressbar.start()
def click_pause(self):
self.clear_buttons()
self.pause_button.state(["pressed"])
session_id = self.app.core.session_id
self.app.core.client.mobility_action(
session_id, self.node.id, core_pb2.MobilityAction.PAUSE
)
self.progressbar.stop()
def click_stop(self):
self.clear_buttons()
self.stop_button.state(["pressed"])
session_id = self.app.core.session_id
self.app.core.client.mobility_action(
session_id, self.node.id, core_pb2.MobilityAction.STOP
)
self.progressbar.stop()

View file

@ -16,7 +16,6 @@ class WirelessConnection:
canvas_node_two = self.core.canvas_nodes[node_two_id]
key = tuple(sorted((node_one_id, node_two_id)))
if key not in self.map:
print("not in map")
x1, y1 = self.canvas.coords(canvas_node_one.id)
x2, y2 = self.canvas.coords(canvas_node_two.id)
wlan_canvas_id = self.canvas.create_line(