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.py104
1 files changed, 94 insertions, 10 deletions
diff --git a/activity.py b/activity.py
index 6ab8e29..8df4538 100644
--- a/activity.py
+++ b/activity.py
@@ -1,4 +1,4 @@
-# Copyright 2009 Simon Schampijer
+# Copyright 2013 Elena Ramos, Vladimir Espinola
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-"""HelloWorld Activity: A case study for developing an activity."""
+""" Elegir Activity: A case study for developing an activity."""
import gtk
import logging
@@ -29,11 +29,20 @@ from sugar.activity.widgets import TitleEntry
from sugar.activity.widgets import StopButton
from sugar.activity.widgets import ShareButton
-class HelloWorldActivity(activity.Activity):
- """HelloWorldActivity class as specified in activity.info"""
+#import gtk
+import gobject
+import random
+from ConfigParser import SafeConfigParser
+
+from subprocess import Popen
+
+
+class ElegirActivity(activity.Activity):
+ """ElegirActivity class as specified in activity.info"""
+
def __init__(self, handle):
- """Set up the HelloWorld activity."""
+ """Set up the elegir activity."""
activity.Activity.__init__(self, handle)
# we do not have collaboration features
@@ -65,10 +74,85 @@ class HelloWorldActivity(activity.Activity):
toolbar_box.toolbar.insert(stop_button, -1)
stop_button.show()
- self.set_toolbar_box(toolbar_box)
+ self.set_toolbar_box(toolbar_box)# hereda de la clase principal
toolbar_box.show()
- # label with the text, make the string translatable
- label = gtk.Label(_("Hello World!"))
- self.set_canvas(label)
- label.show()
+ vbox = gtk.VBox()
+ hbox = gtk.HBox()
+ self.set_canvas(vbox)
+
+ self.puntaje=0
+ self.numero=random.randint(1,69)# pregunta seleccionada al azar
+ self.anterior=self.numero
+ self.parser = SafeConfigParser()
+ self.parser.read('config.ini')
+ self.total=0
+ Popen(['espeak', '-v', 'es', self.parser.get('pregunta'+str(self.numero), 'enunciado')])
+
+
+ image = gtk.Image()
+ image.set_from_file(self.parser.get('pregunta'+str(self.numero), 'imagen'))
+ button_1 = gtk.Button(self.parser.get('pregunta'+str(self.numero), 'correcta'))
+ button_2 = gtk.Button(self.parser.get('pregunta'+str (self.numero), 'incorrecta2'))
+ button_3 = gtk.Button(self.parser.get('pregunta'+str (self.numero), 'incorrecta1'))
+ button_0 = gtk.Button('click para saber tu puntaje')
+
+ button_1.connect('clicked',self.__cambiar_imagen_cb, button_2,button_3,button_0,image)
+ button_2.connect('clicked',self.__cambiar_imagen_cb, button_3,button_1,button_0,image)
+ button_3.connect('clicked',self.__cambiar_imagen_cb, button_2,button_1,button_0,image)
+ button_0.connect('clicked',self.__decir_puntaje_cb)
+
+ vbox.add(button_0)
+ vbox.add(image)
+ vbox.add(hbox)
+ hbox.add(button_1)
+ hbox.add(button_2)
+ hbox.add(button_3)
+
+
+ vbox.show_all()
+ '''
+ image.show()
+ hbox.show()
+ button_1.show()
+ button_2.show()
+ button_3.show()
+ button_0.show()
+ '''
+
+ def __cambiar_imagen_cb(self,b1,b2=None,b3=None,b0=None,i=None):
+
+ if b1.get_label()== self.parser.get('pregunta'+ str(self.anterior), 'correcta'):
+ text ='Seleccionaste la respuesta correcta, tienes un punto mas '
+ p=1
+ else:
+ text ='La palabra seleccionada, no es la correcta'
+ p=0
+
+ self.puntaje=self.puntaje +p
+ Popen(['espeak', '-v', 'es', text])
+ self.numero=random.randint(1,69)# pregunta seleccionada al azar
+
+ if self.numero % 2 ==0:
+ i.set_from_file(self.parser.get('pregunta'+str(self.numero), 'imagen'))
+ b3.set_label(self.parser.get('pregunta'+str (self.numero), 'correcta'))
+ b1.set_label(self.parser.get('pregunta'+str (self.numero), 'incorrecta1'))
+ b2.set_label(self.parser.get('pregunta'+str(self.numero), 'incorrecta2'))
+ print '2:'+str(self.numero)
+ else:
+ i.set_from_file(self.parser.get('pregunta'+str(self.numero), 'imagen'))
+ b3.set_label(self.parser.get('pregunta'+str (self.numero), 'incorrecta1'))
+ b1.set_label(self.parser.get('pregunta'+str (self.numero), 'incorrecta2'))
+ b2.set_label(self.parser.get('pregunta'+str(self.numero), 'correcta'))
+ print '1:'+str(self.numero)
+ self.anterior=self.numero
+ self.total= self.total+1
+ b0.set_label(str(self.puntaje) + '/' +str( self.total))
+
+
+
+ def __decir_puntaje_cb(self,b):
+ text= 'tu puntaje es '+ str (self.puntaje) + ' de '+ str(self.total)
+ Popen(['espeak', '-v', 'es', text])
+
+