diff options
author | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-18 16:56:00 (GMT) |
---|---|---|
committer | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-18 17:01:32 (GMT) |
commit | e613ca2924e44688f1629196773fe9d8753fe33d (patch) | |
tree | d9ea34ef1dcc6afd81b2f25d3e814fbf6c22938e /SliderPuzzleWidget.py | |
parent | a829c986c4754902b959e40553b0f365acda4e3f (diff) |
Initial Gtk3 port.
Diffstat (limited to 'SliderPuzzleWidget.py')
-rw-r--r-- | SliderPuzzleWidget.py | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/SliderPuzzleWidget.py b/SliderPuzzleWidget.py index 09b1dec..60e0b21 100644 --- a/SliderPuzzleWidget.py +++ b/SliderPuzzleWidget.py @@ -18,10 +18,7 @@ # own creations we would love to hear from you at info@WorldWideWorkshop.org ! # -import pygtk -pygtk.require('2.0') -import gtk, gobject -import pango +from gi.respository import Gtk, GObject, Pango, GdkPixbuf import md5 import logging @@ -57,13 +54,13 @@ def calculate_matrix (pieces): return rows*cols, rows, cols -class SliderCreator (gtk.gdk.Pixbuf): +class SliderCreator (GdkPixbuf): def __init__ (self, width, height, fname=None, tlist=None): #tlist): if width == -1: width = 564 if height == -1: height = 564 - super(SliderCreator, self).__init__(gtk.gdk.COLORSPACE_RGB, False, 8, width, height) + super(SliderCreator, self).__init__(Gdk.COLORSPACE_RGB, False, 8, width, height) if tlist is None: items = [] cmds = file(fname).readlines() @@ -91,15 +88,15 @@ class SliderCreator (gtk.gdk.Pixbuf): def prepare_stringed (self, rows, cols): # We use a Pixmap as offscreen drawing canvas - cm = gtk.gdk.colormap_get_system() - pm = gtk.gdk.Pixmap(None, self.width, self.height, cm.get_visual().depth) + cm = Gdk.colormap_get_system() + pm = Gdk.Pixmap(None, self.width, self.height, cm.get_visual().depth) #pangolayout = pm.create_pango_layout("") font_size = int(self.width / cols / 4) - l = gtk.Label() - pangolayout = pango.Layout(l.create_pango_context()) - pangolayout.set_font_description(pango.FontDescription("sans bold %i" % font_size)) + l = Gtk.Label() + pangolayout = Pango.Layout(l.create_pango_context()) + pangolayout.set_font_description(Pango.FontDescription("sans bold %i" % font_size)) gc = pm.new_gc() - gc.set_colormap(gtk.gdk.colormap_get_system()) + gc.set_colormap(Gdk.colormap_get_system()) color = cm.alloc_color('white') gc.set_foreground(color) pm.draw_rectangle(gc, True, 0, 0, self.width, self.height) @@ -406,7 +403,7 @@ class SliderPuzzleMap (object): # Widget Definition ### -class SliderPuzzleWidget (gtk.Table): +class SliderPuzzleWidget (Gtk.Table): __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, ()),} @@ -414,8 +411,8 @@ class SliderPuzzleWidget (gtk.Table): def __init__ (self, pieces=9, width=480, height=480): self.jumbler = SliderPuzzleMap(pieces, self.jumblermap_piece_move_cb) # We take this from the jumbler object because it may have altered our requested value - gtk.Table.__init__(self, self.jumbler.rowsize, self.jumbler.colsize) - self.image = None #gtk.Image() + Gtk.Table.__init__(self, self.jumbler.rowsize, self.jumbler.colsize) + self.image = None #Gtk.Image() self.width = width self.height = height self.set_size_request(width, height) @@ -428,7 +425,7 @@ class SliderPuzzleWidget (gtk.Table): # pb = self.image.get_pixbuf() #if self.image is None or pb is None: for i in range(self.jumbler.pieces): - self.pieces.append(gtk.Button(str(i+1))) + self.pieces.append(Gtk.Button(str(i+1))) self.pieces[-1].connect("button-release-event", self.process_mouse_click, i+1) self.pieces[-1].show() else: @@ -440,10 +437,10 @@ class SliderPuzzleWidget (gtk.Table): h = self.image.get_height() / self.jumbler.rowsize for y in range(self.jumbler.rowsize): for x in range(self.jumbler.colsize): - img = gtk.Image() + img = Gtk.Image() img.set_from_pixbuf(self.image.subpixbuf(x*w, y*h, w-1, h-1)) img.show() - self.pieces.append(gtk.EventBox()) + self.pieces.append(Gtk.EventBox()) self.pieces[-1].add(img) self.pieces[-1].connect("button-press-event", self.process_mouse_click, (y*self.jumbler.colsize)+x+1) self.pieces[-1].show() @@ -469,7 +466,7 @@ class SliderPuzzleWidget (gtk.Table): def process_key (self, w, e): if self.get_parent() == None: return False - k = gtk.gdk.keyval_name(e.keyval) + k = Gdk.keyval_name(e.keyval) if k in up_key: self.jumbler.do_move(SLIDE_UP) return True @@ -542,7 +539,7 @@ class SliderPuzzleWidget (gtk.Table): f = file(fn, 'w+b') f.write(image) f.close() - i = gtk.Image() + i = Gtk.Image() i.set_from_file(fn) os.remove(fn) self.image = i.get_pixbuf() @@ -556,7 +553,7 @@ class SliderPuzzleWidget (gtk.Table): del self.pieces # Resize to a single cell and use that for the image self.resize(1,1) - img = gtk.Image() + img = Gtk.Image() img.set_from_pixbuf(self.image) self.attach(img, 0,1,0,1) img.show() |