-# -*- coding: utf-8 -*-
-"""
-Écran de démarrage minwii.
-
-$Id$
-$URL$
-"""
-from pgu.gui import Table
-from pgu.gui import Spacer
-from pgu.gui import Label
-from pgu.gui import Button
-from pgu.gui import Switch
-from pgu.gui import Select
-from pgu.gui import CLICK
-from pgu.gui import QUIT
-from pgu.gui import CHANGE
-import pygame
-from gui.constants import reversedReadabilityDict, modeDict
-from songfilebrowser import FileOpenDialog
-import os.path
-
-class Home(Table) :
- """
- Écran de démarrage de minwii
- """
-
- def __init__(self,**params):
- Table.__init__(self,**params)
- self.songPath = params.get('songPath', '.')
- self.songFile = None
- self.spaceSize = (100,100)
- self.font = pygame.font.Font(None,70)
- self._fill()
- self._initLocalListeners()
-
-
- def _fill(self):
- self.tr()
- self.td(Spacer(*self.spaceSize))
-
-
- # bouton pour browser de fichiers
- self.tr()
- self.td(self.createLabel("Chanson :"))
- self.browseButton = Button(self.createLabel("Choisir..."))
- self.td(self.browseButton,colspan=2)
- self.songSwitch = Switch(False)
- self.td(self.songSwitch)
-
- self.tr()
- self.td(Spacer(*self.spaceSize))
-
- # choix du niveau
- self.tr()
- self.td(self.createLabel("Niveau :"))
- self.modeSelect = Select('easy')
- for key in modeDict.keys() :
- self.modeSelect.add(self.createLabel(reversedReadabilityDict[key]),key)
- self.td(self.modeSelect,colspan=3)
-
- self.tr()
- self.td(Spacer(*self.spaceSize))
-
- # choix des wiimotes
- self.tr()
- self.td(self.createLabel("Joueurs :", self.font))
- playerTable = Table()
- self.activeWiimoteSwitches = []
- for i in range(4):
- s = Switch(False)
- playerTable.td(s)
- playerTable.td(self.createLabel(" %d " % (i+1)))
- self.activeWiimoteSwitches.append(s)
- self.td(playerTable,colspan = 3)
-
- self.tr()
- self.td(Spacer(*self.spaceSize))
-
- # boutons jouer / quitter
- self.tr()
- self.quitButton = Button(self.createLabel("Quitter"))
- self.td(self.quitButton)
- self.playButton = Button(self.createLabel("Jouer"))
- self.td(self.playButton,colspan=3)
-
- self.tr()
- self.td(Spacer(500,500))
-
- def _initLocalListeners(self) :
- self.browseButton.connect(CLICK, self.open_file_browser)
- self.quitButton.connect(CLICK, self._exitHome)
-
- def _exitHome(self, data=None) :
- self.send(QUIT)
-
- def createLabel(self,text,font = None):
- if font == None :
- font = self.font
- w,h = self.font.size(text)
- label = Label(text,width=w,height=h,font = font)
- return(label)
-
- def open_file_browser(self):
- dlg = FileOpenDialog(self.songPath)
- dlg.connect(CHANGE, self.handle_file_browser_closed, dlg)
- dlg.open()
-
- def handle_file_browser_closed(self, dlg) :
- if dlg.value and os.path.isfile(dlg.value):
- self.songFile = dlg.value
-
-
-
\ No newline at end of file