X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/63f3b77711f17de3cd3515d1a97f566438c551a7..8a421d33328f7dd6d6bff38cc04f53cdf25de3a9:/src/app/widgets/home.py diff --git a/src/app/widgets/home.py b/src/app/widgets/home.py index e1e09f1..afd84ec 100755 --- a/src/app/widgets/home.py +++ b/src/app/widgets/home.py @@ -10,12 +10,14 @@ from pgu.gui import Spacer from pgu.gui import Label from pgu.gui import Button from pgu.gui import Switch +from pgu.gui import Radio +from pgu.gui import Group 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 globals import PLAYING_MODES from songfilebrowser import FileOpenDialog import os.path @@ -27,6 +29,7 @@ class Home(Table) : def __init__(self,**params): Table.__init__(self,**params) self.songPath = params.get('songPath', '.') + self.nwiimotes = params.get('nwiimotes', 0) self.songFile = None self.spaceSize = (100,100) self.font = pygame.font.Font(None,70) @@ -53,9 +56,9 @@ class Home(Table) : # 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.modeSelect = Select('NORMAL') + for k, caption in PLAYING_MODES : + self.modeSelect.add(self.createLabel(caption), k) self.td(self.modeSelect,colspan=3) self.tr() @@ -63,14 +66,14 @@ class Home(Table) : # choix des wiimotes self.tr() - self.td(self.createLabel("Joueurs :", self.font)) + self.td(self.createLabel("Wiimote :", self.font)) playerTable = Table() - self.activeWiimoteSwitches = [] - for i in range(4): - s = Switch(False) - playerTable.td(s) + + self.selectedWiimote = Group(name='selectedWiimote', value=0) + for i in range(self.nwiimotes): + r = Radio(self.selectedWiimote, i) + playerTable.td(r) playerTable.td(self.createLabel(" %d " % (i+1))) - self.activeWiimoteSwitches.append(s) self.td(playerTable,colspan = 3) self.tr() @@ -80,17 +83,27 @@ class Home(Table) : self.tr() self.quitButton = Button(self.createLabel("Quitter")) self.td(self.quitButton) - self.playButton = Button(self.createLabel("Jouer")) + self.playButton = Button(self.createLabel("Jouer"), disabled=True) self.td(self.playButton,colspan=3) self.tr() self.td(Spacer(500,500)) + @property + def selectedWiimoteIndex(self) : + return self.selectedWiimote.value + def _initLocalListeners(self) : self.browseButton.connect(CLICK, self.open_file_browser) - self.quitButton.connect(CLICK, self._exitHome) + self.quitButton.connect(CLICK, self._exitApp) + self.playButton.connect(CLICK, self._exitHome) + + def _exitApp(self, data=None) : + self.exitApp = True + self.send(QUIT) def _exitHome(self, data=None) : + self.exitApp = False self.send(QUIT) def createLabel(self,text,font = None): @@ -108,6 +121,7 @@ class Home(Table) : def handle_file_browser_closed(self, dlg) : if dlg.value and os.path.isfile(dlg.value): self.songFile = dlg.value + self.playButton.disabled = False \ No newline at end of file