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-11 06:27:42 (GMT)
committer jmpc <jumapico@gmail.com>2009-10-11 06:27:42 (GMT)
commita18673a4781745570cb1e14b319810bea07a0d4d (patch)
tree51b6afebca3dce83c4817d3bfeca0720dc5c6328
parentf87901c5a3b4b182eb86811b3aaf13cafaee40f9 (diff)
* Para probar el funcionamiento de la máquina de estados definimos dos: Inicio
y fin y vamos alternando sobre estos.
-rw-r--r--application.py18
-rw-r--r--estados.py4
2 files changed, 12 insertions, 10 deletions
diff --git a/application.py b/application.py
index f023929..fcbd28c 100644
--- a/application.py
+++ b/application.py
@@ -29,25 +29,25 @@ class Application:
builder = gtk.Builder()
builder.add_from_file("data/frame.glade")
window = builder.get_object("window")
- self.content = builder.get_object("dummycontent")
+ self.gtkcontent = builder.get_object("dummycontent")
builder.connect_signals(self)
self.info = dict()
- self.change_state(Inicio)
+ self.change_state(Inicio(self))
window.show()
- def change_state(self, state_class):
+ def change_state(self, state):
"""
Cambiamos el estado de la aplicación, modificamos Content.
"""
- parent = self.content.parent
- parent.remove(self.content)
- new_state = state_class(self)
- # del self.content
- self.content = new_state
- self.content.get_content().reparent(parent)
+ self.state = state
+
+ parent = self.gtkcontent.parent
+ parent.remove(self.gtkcontent)
+ self.gtkcontent = state.content
+ state.get_content().reparent(parent)
def on_FRAME_destroy(self, userdata):
diff --git a/estados.py b/estados.py
index 2593bb4..57e389e 100644
--- a/estados.py
+++ b/estados.py
@@ -49,7 +49,7 @@ class Inicio:
def on_drawingarea_button_press_event(self, widget, event):
log.debug("-> cambiar estado a Jugar")
- #self.state.change_state(Fin)
+ self.state.change_state(Fin(self.state))
def on_drawingarea_expose_event(self, widget, event):
@@ -58,6 +58,7 @@ class Inicio:
class Fin:
def __init__(self, state):
+ self.state = state
builder = gtk.Builder()
builder.add_from_file("data/state_inicio.glade")
builder.connect_signals(self)
@@ -81,6 +82,7 @@ class Fin:
def on_drawingarea_button_press_event(self, widget, event):
log.debug("-> cambiar estado a Jugar")
+ self.state.change_state(Inicio(self.state))
def on_drawingarea_expose_event(self, widget, event):