diff options
author | jmpc <jumapico@gmail.com> | 2009-10-16 06:17:15 (GMT) |
---|---|---|
committer | jmpc <jumapico@gmail.com> | 2009-10-16 06:17:15 (GMT) |
commit | 27cbdf517743a5d8228bc7a206ca87068010f55f (patch) | |
tree | a35aefc9d0c746ad59d0c64fff7103914a382d77 | |
parent | d40e3889b3b4a4f97a3d688696da35d136a706b9 (diff) |
* Agregamos un poco de funcionalidad al estado Juego. Aun queda por
implementar la clase Torta que hereda de un gtkcontainer.
-rw-r--r-- | estados.py | 35 | ||||
-rw-r--r-- | templates/juego.glade | 64 |
2 files changed, 98 insertions, 1 deletions
@@ -19,7 +19,7 @@ class Inicio(object): self._state = state - def on_buttonjugar_clicked(self, widget): #, event): + def on_buttonjugar_clicked(self, widget): log.debug("-> cambiar estado a Start") self._state.change_state(Start(self._state)) @@ -38,6 +38,34 @@ class Start(object): def on_drawingarea_button_press_event(self, widget, event): + #log.debug("-> cambiar estado a Fin") + #self._state.change_state(Fin(self._state)) + self._state.change_state(Juego(self._state)) + + + def on_drawingarea_expose_event(self, widget, event): + cr = widget.window.cairo_create() + cr.set_source_surface(self.image, 0, 0) + cr.paint() + + +class Juego(object): + """ + Clase que dibuja la torta. + + """ + template = "juego.glade" + + + def __init__(self, state): + self._state = state + # Aqui tenemos que cargar en la segunda posicion del contenedor vbox + # una clase torta en este caso. + # Si fuera otro tipo de juego estariamos cargando un grid que + # contendria X clases torta. + + + def on_drawingarea_button_press_event(self, widget, event): log.debug("-> cambiar estado a Fin") self._state.change_state(Fin(self._state)) @@ -48,6 +76,11 @@ class Start(object): cr.paint() + def on_button_clicked(self, widget): + log.debug("-> cambiar estado a Start") + self._state.change_state(Fin(self._state)) + + class Fin(object): """ Clase para probar las transiciones. diff --git a/templates/juego.glade b/templates/juego.glade new file mode 100644 index 0000000..b08b3d2 --- /dev/null +++ b/templates/juego.glade @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<interface> + <requires lib="gtk+" version="2.16"/> + <!-- interface-naming-policy project-wide --> + <object class="GtkWindow" id="window"> + <child> + <object class="GtkViewport" id="viewport1"> + <property name="visible">True</property> + <property name="resize_mode">queue</property> + <child> + <object class="GtkVBox" id="vbox"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label"> + <property name="visible">True</property> + <property name="label" translatable="yes">label</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkDrawingArea" id="drawingarea"> + <property name="visible">True</property> + <signal name="button_press_event" handler="on_drawingarea_button_press_event"/> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="yalign">1</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <object class="GtkButton" id="button"> + <property name="label" translatable="yes">Verificar</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + <signal name="clicked" handler="on_button_clicked"/> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> +</interface> |