Files @ 630c42e6d376
Branch filter:

Location: OneEye/src/gui/settings.py

Laman
requirements.txt
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,_):
		self.parent.sendMsg("setTresholds",tuple(),self._compileParams())

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

	def sendParams(self):
		self.parent.sendMsg("setParams",tuple(),self._compileParams())
		self.destroy()

	def _compileParams(self):
		params={
			"tresB": self.scaleTresB.get(),
			"tresW": self.scaleTresW.get()
		}
		return params