1
2
3
4
5
6
7
8
9 import pilas
10 from pilas.actores import Texto
11
13 """Un item discreto, dispara una funcion al seleccionares.
14 """
15
16 - def __init__(self, texto, x=0, y=0, funcion_a_invocar=None, argumentos=None, fuente=None):
17 """Inicializa el actor.
18
19 :param texto: Etiqueta a mostrar
20 :param x: Posicion en el eje x
21 :param y: Posicion en el eje y
22 :param funcion_a_invocar: Manejador, se dispara al seleccionar la opcion
23 :param argumentos: Argumentos posicionales para :funcion_a_invocar:
24 :param fuente: Tipografía a utilizar.
25 """
26 Texto.__init__(self, texto, x=x, y=y, fuente=fuente)
27 self.magnitud = 20
28 self.funcion_a_invocar = funcion_a_invocar
29 self.argumentos = argumentos
30 self.color = pilas.colores.gris
31 self.z = -300
32 self.centro = ("centro", "centro")
33
35 """Pinta la opcion actual de un color mas claro.
36
37 :param estado: True o False indicando si se tiene que resaltar o deseleccionar la opción.
38 """
39 if estado:
40 self.color = pilas.colores.blanco
41 else:
42 self.color = pilas.colores.gris
43
45 """Invoca a la funcion que tiene asociada para ejecutar."""
46
47 if self.funcion_a_invocar:
48 self.funcion_a_invocar(*self.argumentos)
49 else:
50 print "Cuidado, la opcion", self, "no tiene funcion asociada."
51