Adds play/pause button

This commit is contained in:
LSaldyt
2017-10-21 14:12:42 -07:00
parent 0d972a6776
commit aa218988fd
4 changed files with 53 additions and 18 deletions

22
copycat/gui/control.py Normal file
View File

@ -0,0 +1,22 @@
import tkinter as tk
import tkinter.ttk as ttk
class Control(ttk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.paused = True
#self.style = ttk.Style()
#self.style.configure('TButton', background='black', foreground='white')
#self.playbutton = ttk.Button(self, text='Play/Pause', command=lambda : self.play())
self.playbutton = tk.Button(self, text='Play', command=lambda : self.toggle(), background='black', foreground='white', activebackground='black', activeforeground='blue')
self.playbutton.grid(column=0, row=0, stick=tk.N+tk.E+tk.S+tk.W)
self.rowconfigure(0, weight=1)
self.columnconfigure(0, weight=1)
def toggle(self):
self.paused = not self.paused
self.playbutton['text'] = 'Pause' if not self.paused else 'Play'
#def step(self):

View File

@ -4,6 +4,8 @@ import tkinter.ttk as ttk
from tkinter import scrolledtext
from tkinter import filedialog
from .control import Control
font1Size = 32
font2Size = 16
font1 = ('Helvetica', str(font1Size))
@ -47,12 +49,17 @@ class Primary(ttk.Frame):
ttk.Frame.__init__(self, parent, *args, **kwargs)
self.canvas = create_main_canvas(self, 'abc', 'abd', 'ijk', '?')
self.canvas.grid(column=0, row=0, sticky=tk.N+tk.S+tk.E+tk.W)
self.canvas.grid(column=0, row=0, rowspan=2, sticky=tk.N+tk.S+tk.E+tk.W)
self.rowconfigure(0, weight=1)
self.columnconfigure(0, weight=1)
self.control = Control(self)
self.control.grid(column=0, row=2, sticky=tk.N+tk.S+tk.E+tk.W)
self.rowconfigure(0, weight=1)
self.columnconfigure(2, weight=1)
def update(self, copycat):
answer = '' if copycat.workspace.rule is None else copycat.workspace.rule.buildTranslatedRule()
self.canvas = create_main_canvas(self, 'abc', 'abd', 'ijk', answer)
self.canvas.grid(column=0, row=0, sticky=tk.N+tk.S+tk.E+tk.W)
self.canvas.grid(column=0, row=0, rowspan=2, sticky=tk.N+tk.S+tk.E+tk.W)

View File

@ -17,9 +17,9 @@ plt.style.use('dark_background')
class StatusFrame(tk.Frame):
def __init__(self, parent, status, title, toolbar=False):
tk.Frame.__init__(self, parent)
self.status = status
tk.Frame.__init__(self, parent)
self.canvas = FigureCanvasTkAgg(status.figure, self)
self.canvas.show()
self.canvas.get_tk_widget().pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)