1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
'''
Created on Feb 4, 2013
@author: Samu
'''
import gtk
import suds
from suds.client import Client
class Ejercitario(gtk.VBox):
# This is a callback function. The data arguments are ignored
# in this example. More on callbacks below.
def __init__(self, cliente_WS, id_tarea, id_alumno):
# create a new window
super(Ejercitario, self).__init__()
self.id_tarea = id_tarea
self.id_alumno = id_alumno
self.cliente_WS = cliente_WS
self.__inicializar_componentes()
self.siguiente_ejercicio = self.__obtener_siguiente_ejercicio(cliente_WS, 0)
self.__organizar_gui(self.siguiente_ejercicio)
#self.__sincronizar_temas()
self.show_all()
def __inicializar_componentes(self):
self.label_enunciado = gtk.Label()
self.solucion1 = gtk.RadioButton()
self.solucion2 = gtk.RadioButton()
self.solucion3 = gtk.RadioButton()
self.solucion4 = gtk.RadioButton()
self.solucion2.set_group(self.solucion1)
self.solucion3.set_group(self.solucion1)
self.solucion4.set_group(self.solucion1)
self.boton_responder = gtk.Button("Responder")
self.boton_responder.connect("clicked", self.__responder_cb)
def __organizar_gui(self, siguiente_ejercicio):
self.solucion1.set_label(siguiente_ejercicio.respuestaList.respuestaList[0].descripcion)
self.solucion2.set_label(siguiente_ejercicio.respuestaList.respuestaList[1].descripcion)
self.solucion3.set_label(siguiente_ejercicio.respuestaList.respuestaList[2].descripcion)
self.solucion4.set_label(siguiente_ejercicio.respuestaList.respuestaList[3].descripcion)
self.label_enunciado.set_label(siguiente_ejercicio.enunciado)
contenedor_soluciones = gtk.HBox()
contenedor_soluciones.add(self.solucion1)
contenedor_soluciones.add(self.solucion2)
contenedor_soluciones.add(self.solucion3)
contenedor_soluciones.add(self.solucion4)
self.add(self.label_enunciado)
self.add(contenedor_soluciones)
self.add(self.boton_responder)
self.show_all()
def __sincronizar_temas(self):
pass
def __obtener_siguiente_ejercicio(self, cliente_WS, id_ejercicio):
try:
#cliente_WS = Client(self.WSDL_URL)
siguiente_ejercicio = cliente_WS.service.getSiguienteEjercicio(self.id_tarea, self.id_alumno, id_ejercicio, "respuesta")
except:
print "\n\nERROR al instanciar el SINCRONIZAR PROXY:"
return siguiente_ejercicio
def __responder_cb(self, boton):
siguiente_ejercicio = self.__obtener_siguiente_ejercicio(self.cliente_WS, self.siguiente_ejercicio.idEjercicio)
self.__actualizar_gui(siguiente_ejercicio)
def __actualizar_gui(self, siguiente_ejercicio):
self.solucion1.set_label(siguiente_ejercicio.respuestaList.respuestaList[0].descripcion)
self.solucion2.set_label(siguiente_ejercicio.respuestaList.respuestaList[1].descripcion)
self.solucion3.set_label(siguiente_ejercicio.respuestaList.respuestaList[2].descripcion)
self.solucion4.set_label(siguiente_ejercicio.respuestaList.respuestaList[3].descripcion)
self.label_enunciado.set_label(siguiente_ejercicio.enunciado)
|