diff options
author | C Neves <cn@goat.(none)> | 2007-07-13 00:40:26 (GMT) |
---|---|---|
committer | C Neves <cn@goat.(none)> | 2007-07-13 00:40:26 (GMT) |
commit | bdfca800f9a5154fdf9fd47c4e1fc2558fc48e38 (patch) | |
tree | 7bcc66cf796e6125d61b87a08656c034b3db1fcc /SliderPuzzleWidget.py | |
parent | 23d005892b67a57f8fe634c819e96c48800875b4 (diff) |
Too much stuff changed to document here...
Diffstat (limited to 'SliderPuzzleWidget.py')
-rw-r--r-- | SliderPuzzleWidget.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/SliderPuzzleWidget.py b/SliderPuzzleWidget.py index 8b4eef9..41d3104 100644 --- a/SliderPuzzleWidget.py +++ b/SliderPuzzleWidget.py @@ -28,6 +28,7 @@ import pygtk pygtk.require('2.0') import gtk, gobject +import md5 from utils import load_image, calculate_matrix, debug @@ -333,7 +334,9 @@ class SliderPuzzleMap (object): ### class SliderPuzzleWidget (gtk.Table): - __gsignals__ = {'solved' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ())} + __gsignals__ = {'solved' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()), + 'shuffled' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()), + 'moved' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()),} def __init__ (self, pieces=9, width=480, height=480): self.jumbler = SliderPuzzleMap(pieces, self.jumblermap_piece_move_cb) @@ -343,6 +346,8 @@ class SliderPuzzleWidget (gtk.Table): self.width = width self.height = height self.set_size_request(width, height) + self.filename = None + self.image_digest = None def prepare_pieces (self): """ set up a list of UI objects that will serve as pieces, ordered correctly """ @@ -410,6 +415,7 @@ class SliderPuzzleWidget (gtk.Table): piece = self.pieces[self.jumbler.get_cell_at(px, py)-1] self.remove(piece) self.attach(piece, px, px+1, py, py+1) + self.emit("moved") if self.jumbler.solved: self.emit("solved") @@ -427,6 +433,7 @@ class SliderPuzzleWidget (gtk.Table): """ Jumble the SliderPuzzle """ self.jumbler.randomize() self.full_refresh() + self.emit("shuffled") def load_image (self, filename, width=0, height=0): """ Loads an image from the file. @@ -442,6 +449,8 @@ class SliderPuzzleWidget (gtk.Table): self.image.set_from_file(filename) else: self.image.set_from_pixbuf(load_image(filename, width, height)) + self.filename = filename + self.image_digest = md5.new(file(filename, 'rb').read()).hexdigest() self.full_refresh() def show_image (self): |