Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamus_ <mail2samus@gmail.com>2010-03-21 12:36:44 (GMT)
committer Samus_ <mail2samus@gmail.com>2010-03-21 12:36:44 (GMT)
commited2644d03764af1e97c78d94883c164ff01a11ef (patch)
treeb2797ac22f0c022a95b762ddfcba58bfe7166bd4
parentc48cffc27abda68dfb6296c2049caeea35a8fed0 (diff)
introducing "reset"
-rwxr-xr-xfracciones.activity/gtkcake.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/fracciones.activity/gtkcake.py b/fracciones.activity/gtkcake.py
index aa52216..3013c0e 100755
--- a/fracciones.activity/gtkcake.py
+++ b/fracciones.activity/gtkcake.py
@@ -25,18 +25,24 @@ class Cake(gtk.DrawingArea):
def __init__(self, subdivisions, *args, **kwargs):
# constructor de la clase base
gtk.DrawingArea.__init__(self, *args, **kwargs)
+ # Carga imagenes
+ self.image_bg = cairo.ImageSurface.create_from_png(os.path.join("data", "bg.png"))
+ self.image_fg = cairo.ImageSurface.create_from_png(os.path.join("data", "fg.png"))
+ # inicializa estado interno (se dibuja en el metodo expose)
+ self.reset(subdivisions, draw=false)
# seƱales
self.connect("expose_event", self.expose)
self.connect("button_press_event", self.select)
# Los eventos del raton no estan activados para el DrawingArea
self.add_events(gtk.gdk.BUTTON_PRESS_MASK)
+
+ def reset(self, subdivisions, draw=True):
# variables de estado de la torta
self.selected_list = subdivisions * [False]
-
- # Carga imagenes
- self.image_bg = cairo.ImageSurface.create_from_png(os.path.join("data", "bg.png"))
- self.image_fg = cairo.ImageSurface.create_from_png(os.path.join("data", "fg.png"))
+ if draw:
+ context = self.window.cairo_create()
+ self._draw(context)
def expose(self, widget, event):
@@ -52,7 +58,8 @@ class Cake(gtk.DrawingArea):
"""Manejador del evento button_press_event"""
x, y = event.get_coords()
if self._select(x, y):
- self._draw(widget.window.cairo_create())
+ context = widget.window.cairo_create()
+ self._draw(context)
def _select(self, ux, uy):