diff options
author | jmpc <jumapico@gmail.com> | 2009-10-11 06:27:42 (GMT) |
---|---|---|
committer | jmpc <jumapico@gmail.com> | 2009-10-11 06:27:42 (GMT) |
commit | a18673a4781745570cb1e14b319810bea07a0d4d (patch) | |
tree | 51b6afebca3dce83c4817d3bfeca0720dc5c6328 | |
parent | f87901c5a3b4b182eb86811b3aaf13cafaee40f9 (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.py | 18 | ||||
-rw-r--r-- | estados.py | 4 |
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): @@ -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): |