Files @ 29f28718a69b
Branch filter:

Location: OneEye/src/gui/mainwindow.py - annotation

Laman
transitional data processing
import tkinter as tk
from tkinter import N,S,E,W

from .menu import MainMenu
from .boardview import BoardView
from .imgview import ImgView
from .statusbar import StatusBar


class MainWindow(tk.Frame):
	def __init__(self,parent):
		self.parent=parent

		tk.Frame.__init__(self, parent.root)
		self.grid(column=0,row=0,sticky=(N,S,E,W))
		self._createWidgets()

	def setFrame(self,frame):
		self.imgView.setImg(frame)

	def _createWidgets(self):
		# menu
		self.parent.root.option_add('*tearOff',False)
		self._menu=MainMenu(self.parent)

		# a captured frame with overlay graphics
		self._imgWrapper=tk.Frame(self,width=480,height=360)
		self.imgView=ImgView(self.parent,self._imgWrapper)

		self._imgWrapper.grid(column=0,row=0,sticky=(N,S,E,W))

		# board with detected stones
		self._boardWrapper=tk.Frame(self,width=360,height=360)
		self.boardView=BoardView(self._boardWrapper)
		self._boardWrapper.grid(column=1,row=0,sticky=(N,S,E,W))

		self.columnconfigure(0,weight=1)
		self.columnconfigure(1,weight=1)
		self.rowconfigure(0,weight=1)

		self._statusBar=StatusBar(self)
		self._statusBar.grid(column=0,row=1,columnspan=2,sticky=(S,E,W))

		self.rowconfigure(1,weight=0)

		# render everything
		self.imgView.redraw()

	## Redraws the current image and its overlay.
	def redrawImgView(self):
		self.imgView.redraw()

	def setUp(self):
		self._statusBar.setUp()
		self.imgView.setUp()

	def setRecording(self):
		self._statusBar.setRecording()
		self.imgView.setRecording()