# -*- coding: utf-8 -*-
"""
-widgets minwii.
+Écran de démarrage minwii.
$Id$
$URL$
"""
-from pgu.gui import Table, Spacer, Label, Button, Switch, Select
+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 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
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)
self._fill()
+ self._initLocalListeners()
def _fill(self):
# 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('EASY')
+ for k, caption in PLAYING_MODES :
+ self.modeSelect.add(self.createLabel(caption), k)
self.td(self.modeSelect,colspan=3)
self.tr()
# 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()
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))
+ def _initLocalListeners(self) :
+ self.browseButton.connect(CLICK, self.open_file_browser)
+ self.quitButton.connect(CLICK, self._exitApp)
+ self.playButton.connect(CLICK, self._exitHome)
+
+ def _exitApp(self, data=None) :
+ self.returnValue = False
+ self.send(QUIT)
+
+ def _exitHome(self, data=None) :
+ self.returnValue = True
+ 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
+ self.playButton.disabled = False
+
\ No newline at end of file