Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py103
1 files changed, 87 insertions, 16 deletions
diff --git a/activity.py b/activity.py
index a8718f4..e147d46 100644
--- a/activity.py
+++ b/activity.py
@@ -17,10 +17,11 @@
import gtk
import logging
import elephant
+import subprocess
-from random import choice
-
-from gettext import gettext as _
+from time import sleep
+from random import choice
+from gettext import gettext as _
from sugar.activity import activity
from sugar.graphics.toolbarbox import ToolbarBox
@@ -76,10 +77,11 @@ class ElephantActivity(activity.Activity):
# Instances to Elephants classes
words = elephant.word_list()
- choice_letter = elephant.letters()
-
-
+ # Get a word form word list and path
+ word, path = self.get_random_word(words)
+ choice_letter = elephant.letters(word)
+
# Vertical box conteinter definition
vbox_main = gtk.VBox()
@@ -93,13 +95,8 @@ class ElephantActivity(activity.Activity):
button_repeat.set_label('Repetir')
button_option1 = gtk.Button()
- button_option1.set_label('Opcion 1:')
-
button_option2 = gtk.Button()
- button_option2.set_label('Opcion 2:')
-
button_option3 = gtk.Button()
- button_option3.set_label('Opcion 3:')
#Old activity title
#image_word = gtk.Image()
@@ -110,10 +107,6 @@ class ElephantActivity(activity.Activity):
#label_word = gtk.Label()
#label_word.set_text('Elefante')
-
- #Get a word form word list and path
- word, path = self.get_random_word(words)
-
#Image and label word
image_word = self.show_image(path)
label_word = self.show_label(word)
@@ -134,8 +127,33 @@ class ElephantActivity(activity.Activity):
hbox_03.add(button_option2)
hbox_03.add(button_option3)
- #ShowMeTheMoney!!!
+ # Connections
+ button_repeat.connect('clicked', self.__button_clicked_cb, \
+ word, \
+ choice_letter.letter, \
+ choice_letter.relative_place, \
+ choice_letter.place_word)
+
+ label_word.connect('focus', self.__label_focus_cb, \
+ word, \
+ choice_letter.letter, \
+ choice_letter.relative_place, \
+ choice_letter.place_word)
+
+ options_places = choice_letter.random_places
+ label = self.set_opton_label('Opcion 1:', options_places[0])
+ button_option1.set_label(label)
+
+ label = self.set_opton_label('Opcion 2:', options_places[1])
+ button_option2.set_label(label)
+
+ label = self.set_opton_label('Opcion 3:', options_places[2])
+ button_option3.set_label(label)
+
+
+ # ShowMeTheMoney!!!
vbox_main.show_all()
+ #label_word.is_focus = true
# Get random word form word list
def get_random_word(self, words):
@@ -161,3 +179,56 @@ class ElephantActivity(activity.Activity):
return label
+ # Create proper lables for options buttons
+ def set_opton_label(self, option, position):
+ label = option
+ label += ' Es la '
+ label += position
+ label += ' letra'
+
+ return label
+
+ # Say the word and riddle on button click
+ def __button_clicked_cb(self, button, \
+ word, \
+ letter_to_say, \
+ relative_place, \
+ place_word):
+
+ self.speech_to_say(word, \
+ letter_to_say, \
+ relative_place, \
+ place_word)
+
+ # Say the word and riddle on label focus
+ def __label_focus_cb(self, label, \
+ word, \
+ letter_to_say, \
+ relative_place, \
+ place_word):
+
+ self.speech_to_say(word, \
+ letter_to_say, \
+ relative_place, \
+ place_word)
+
+ # Say the word and riddle
+ def speech_to_say (self, word, \
+ letter_to_say, \
+ relative_place, \
+ place_word):
+
+ speech_to_say = 'Donde esta la '
+ if relative_place == False:
+ speech_to_say += ''
+ else:
+ speech_to_say += place_word
+ speech_to_say += ' letra '
+ speech_to_say += letter_to_say
+
+ self.say(word)
+ self.say(speech_to_say)
+
+ # Say.. sayyyy.... saaaaayyyy...
+ def say(self, text):
+ subprocess.call(['espeak', '-v', 'es', text])