Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmpc <jumapico@gmail.com>2009-10-16 06:17:15 (GMT)
committer jmpc <jumapico@gmail.com>2009-10-16 06:17:15 (GMT)
commit27cbdf517743a5d8228bc7a206ca87068010f55f (patch)
treea35aefc9d0c746ad59d0c64fff7103914a382d77
parentd40e3889b3b4a4f97a3d688696da35d136a706b9 (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.py35
-rw-r--r--templates/juego.glade64
2 files changed, 98 insertions, 1 deletions
diff --git a/estados.py b/estados.py
index dd4ad79..aee5782 100644
--- a/estados.py
+++ b/estados.py
@@ -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>