Files @ dc1ed8ff56ef
Branch filter:

Location: OneEye/src/gui/settings.py

Laman
cleaned up and documented shutdown
import tkinter as tk
from tkinter import N,S,E,W,LEFT

from .util import MsgMixin


class Settings(tk.Toplevel,MsgMixin):
	def __init__(self,parent):
		self.parent=parent

		tk.Toplevel.__init__(self, parent.root)

		self.title("Settings | OneEye")

		self.columnconfigure(0,weight=1)
		self.content=tk.Frame(self)
		self.content.grid(column=0,row=0,sticky=(N,S,E,W))
		self.content.columnconfigure(0,weight=1)
		self._create()
		self.parent.settings=self
		self.parent.root.event_generate("<<setUp>>")
		self.parent.sendMsg("fetchParams")

	def _create(self):
		self.scaleTresB=tk.Scale(self.content, orient=tk.HORIZONTAL, length=200, from_=0.0, to=100.0, command=self.refreshTresholds)
		self.scaleTresW=tk.Scale(self.content, orient=tk.HORIZONTAL, length=200, from_=0.0, to=100.0, command=self.refreshTresholds)

		blackLabel=tk.Label(self.content,text="Black stone treshold (intensity)")
		whiteLabel=tk.Label(self.content,text="White stone treshold (intensity)")
		blackLabel.grid(column=0,row=0)
		self.scaleTresB.grid(column=0,row=1,sticky=(E,W))
		whiteLabel.grid(column=0,row=2)
		self.scaleTresW.grid(column=0,row=3,sticky=(E,W))

		self.buttonFrame=tk.Frame(self.content)
		self.buttonFrame.grid(column=0,row=4,sticky=(W,))
		self.confirmButton=tk.Button(self.buttonFrame,text="OK",command=self.sendParams)
		self.cancelButton=tk.Button(self.buttonFrame,text="Cancel",command=lambda: self.destroy())
		self.confirmButton.pack(side=LEFT)
		self.cancelButton.pack(side=LEFT)

	def refreshTresholds(self,_):
		params=self.parent.detector.params
		params.tresB=self.scaleTresB.get()
		params.tresW=self.scaleTresW.get()

	def setParams(self,params):
		self.scaleTresB.set(params.tresB)
		self.scaleTresW.set(params.tresW)

	def sendParams(self):
		self.parent.sendParams()
		self.destroy()