Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-01-18 14:29:09 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-01-18 14:29:09 (GMT)
commita52e60d0db350281f881b196bb8c467c5d0272d0 (patch)
tree7b534875e214a10d362667044f0489ede928f9dd
parent9af6d775659ae7cad9771f48083e0beb3496cbb4 (diff)
replace tabs by spaces
-rwxr-xr-xcartoonbuilder.py2242
1 files changed, 1121 insertions, 1121 deletions
diff --git a/cartoonbuilder.py b/cartoonbuilder.py
index ce9d333..edafcfd 100755
--- a/cartoonbuilder.py
+++ b/cartoonbuilder.py
@@ -98,14 +98,14 @@ SPANISH = u'Espa\xf1ol'
LANGLIST = ['English',SPANISH]
LANG = {'English':{'character':'My Character',
'sound':'My Sound',
- 'background':'My Background',
- 'lessonplan':'Lesson Plans',
- 'lpdir':'lp-en'},
- SPANISH:{'character':u'Mi car\xe1cter',
- 'sound':'Mi sonido',
- 'background':'Mi fondo',
- 'lessonplan':u'Planes de la lecci\xf3n',
- 'lpdir':'lp-es'}}
+ 'background':'My Background',
+ 'lessonplan':'Lesson Plans',
+ 'lpdir':'lp-en'},
+ SPANISH:{'character':u'Mi car\xe1cter',
+ 'sound':'Mi sonido',
+ 'background':'Mi fondo',
+ 'lessonplan':u'Planes de la lecci\xf3n',
+ 'lpdir':'lp-es'}}
FRAME_COUNT = (gtk.gdk.screen_height() - 370) / IMGHEIGHT * 2
TAPE_COUNT = (gtk.gdk.screen_width() - 430) / IMGWIDTH
@@ -117,10 +117,10 @@ def getwrappedfile(filepath,linelength):
f = file(filepath)
for line in f:
if line == '\n':
- text.append(line)
- else:
+ text.append(line)
+ else:
for wline in textwrap.wrap(line.strip()):
- text.append('%s\n' % wline)
+ text.append('%s\n' % wline)
return ''.join(text)
def prepare_btn(btn, w=-1, h=-1):
@@ -143,8 +143,8 @@ class FrameWidget(gtk.DrawingArea):
self.gc = None # initialized in realize-event handler
self.width = 0 # updated in size-allocate handler
self.height = 0 # idem
- self.bgpixbuf = bgpixbuf
- self.fgpixbuf = fgpixbuf
+ self.bgpixbuf = bgpixbuf
+ self.fgpixbuf = fgpixbuf
self.connect('size-allocate', self.on_size_allocate)
self.connect('expose-event', self.on_expose_event)
self.connect('realize', self.on_realize)
@@ -158,13 +158,13 @@ class FrameWidget(gtk.DrawingArea):
def on_expose_event(self, widget, event):
# This is where the drawing takes place
- if self.bgpixbuf:
- #bgpixbuf = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
- widget.window.draw_pixbuf(self.gc,self.bgpixbuf,0,0,0,0,-1,-1,0,0)
- if self.fgpixbuf:
- #fgpixbuf = gtk.gdk.pixbuf_new_from_file(self.fgimgpath)
- #widget.window.draw_pixbuf(self.gc,fgpixbuf,0,0,75,75,-1,-1,0,0)
- widget.window.draw_pixbuf(self.gc,self.fgpixbuf,0,0,0,0,-1,-1,0,0)
+ if self.bgpixbuf:
+ #bgpixbuf = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
+ widget.window.draw_pixbuf(self.gc,self.bgpixbuf,0,0,0,0,-1,-1,0,0)
+ if self.fgpixbuf:
+ #fgpixbuf = gtk.gdk.pixbuf_new_from_file(self.fgimgpath)
+ #widget.window.draw_pixbuf(self.gc,fgpixbuf,0,0,75,75,-1,-1,0,0)
+ widget.window.draw_pixbuf(self.gc,self.fgpixbuf,0,0,0,0,-1,-1,0,0)
class cartoonbuilder:
@@ -177,218 +177,218 @@ class cartoonbuilder:
def on_gstmessage(self, bus, message):
t = message.type
if t == gst.MESSAGE_EOS:
- # END OF SOUND FILE
+ # END OF SOUND FILE
self.player.set_state(gst.STATE_NULL)
self.player.set_state(gst.STATE_PLAYING)
elif t == gst.MESSAGE_ERROR:
self.player.set_state(gst.STATE_NULL)
def clearframe(self, widget, data=None):
- transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
- self.frameimgs[self.frame_selected].set_from_pixbuf(transpixbuf)
- self.fgpixbufs[self.frame_selected] = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
- self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
- self.drawmain()
+ transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
+ self.frameimgs[self.frame_selected].set_from_pixbuf(transpixbuf)
+ self.fgpixbufs[self.frame_selected] = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ self.drawmain()
def clearall(self, widget, data=None):
for i in range(TAPE_COUNT):
- transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
- self.frameimgs[i].set_from_pixbuf(transpixbuf)
- self.fgpixbufs[i] = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
- self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
+ self.frameimgs[i].set_from_pixbuf(transpixbuf)
+ self.fgpixbufs[i] = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
def selectframe(self, widget, event, data=None):
if data:
- i = data-1
- self.framebuttons[i].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.framebuttons[i].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(YELLOW))
- if self.frame_selected != i:
- self.framebuttons[self.frame_selected].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
- self.framebuttons[self.frame_selected].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
- #self.framebuttons[self.frame_selected].set_style(self.fbstyle)
- self.frame_selected = i
- self.fgpixbuf = self.fgpixbufs[self.frame_selected]
- self.drawmain()
+ i = data-1
+ self.framebuttons[i].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.framebuttons[i].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(YELLOW))
+ if self.frame_selected != i:
+ self.framebuttons[self.frame_selected].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
+ self.framebuttons[self.frame_selected].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
+ #self.framebuttons[self.frame_selected].set_style(self.fbstyle)
+ self.frame_selected = i
+ self.fgpixbuf = self.fgpixbufs[self.frame_selected]
+ self.drawmain()
def pickimage(self, widget, event, data=None):
if data:
- pixbuf = self.posepixbufs[data-1]
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.frameimgs[self.frame_selected].set_from_pixbuf(scaled_buf)
- fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.fgpixbufs[self.frame_selected] = fgpixbuf
- self.fgpixbufpaths[self.frame_selected] = self.poseimgpaths[data-1]
- self.fgpixbuf = fgpixbuf
- self.drawmain()
+ pixbuf = self.posepixbufs[data-1]
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.frameimgs[self.frame_selected].set_from_pixbuf(scaled_buf)
+ fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.fgpixbufs[self.frame_selected] = fgpixbuf
+ self.fgpixbufpaths[self.frame_selected] = self.poseimgpaths[data-1]
+ self.fgpixbuf = fgpixbuf
+ self.drawmain()
def lastback(self, widget, data=None):
if self.backnum == 0:
- self.backnum = len(self.backpicpaths)-1
- else:
- self.backnum -= 1
- bgimgpath = self.backpicpaths[self.backnum]
- self.setback(bgimgpath)
+ self.backnum = len(self.backpicpaths)-1
+ else:
+ self.backnum -= 1
+ bgimgpath = self.backpicpaths[self.backnum]
+ self.setback(bgimgpath)
def nextback(self, widget, data=None):
if self.backnum == (len(self.backpicpaths)-1):
- self.backnum = 0
- else:
- self.backnum += 1
- bgimgpath = self.backpicpaths[self.backnum]
- self.setback(bgimgpath)
+ self.backnum = 0
+ else:
+ self.backnum += 1
+ bgimgpath = self.backpicpaths[self.backnum]
+ self.setback(bgimgpath)
def setback(self,imgpath):
- #self.mfdraw.queue_draw()
- #pixbuf = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
- pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
- self.bgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.bgsmall.set_from_pixbuf(scaled_buf)
- self.drawmain()
+ #self.mfdraw.queue_draw()
+ #pixbuf = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
+ pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
+ self.bgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.bgsmall.set_from_pixbuf(scaled_buf)
+ self.drawmain()
def setcharacter(self):
- pics = self.getpics(self.imgdir)
- pixbuf = gtk.gdk.pixbuf_new_from_file(pics[self.imgstartindex])
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.ccismall.set_from_pixbuf(scaled_buf)
+ pics = self.getpics(self.imgdir)
+ pixbuf = gtk.gdk.pixbuf_new_from_file(pics[self.imgstartindex])
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.ccismall.set_from_pixbuf(scaled_buf)
self.charlabel.set_label(os.path.split(self.imgdir)[1])
def lastcharacter(self, widget, data=None):
if self.imgdirindex == 0:
- self.imgdirindex = (len(self.imgdirs)-1)
- else:
- self.imgdirindex -= 1
- self.imgstartindex = 0
- self.imgdir = self.imgdirs[self.imgdirindex]
- self.loadimages()
- self.setcharacter()
- self.drawmain()
+ self.imgdirindex = (len(self.imgdirs)-1)
+ else:
+ self.imgdirindex -= 1
+ self.imgstartindex = 0
+ self.imgdir = self.imgdirs[self.imgdirindex]
+ self.loadimages()
+ self.setcharacter()
+ self.drawmain()
def nextcharacter(self, widget, data=None):
if self.imgdirindex == (len(self.imgdirs)-1):
- self.imgdirindex = 0
- else:
- self.imgdirindex += 1
- self.imgstartindex = 0
- self.imgdir = self.imgdirs[self.imgdirindex]
- self.loadimages()
- self.setcharacter()
- self.drawmain()
+ self.imgdirindex = 0
+ else:
+ self.imgdirindex += 1
+ self.imgstartindex = 0
+ self.imgdir = self.imgdirs[self.imgdirindex]
+ self.loadimages()
+ self.setcharacter()
+ self.drawmain()
def changesound(self):
- if self.soundfile:
- soundname = os.path.splitext(os.path.split(self.soundfile)[1])[0]
+ if self.soundfile:
+ soundname = os.path.splitext(os.path.split(self.soundfile)[1])[0]
self.player.set_property('uri', 'file://' + self.soundfile)
- if self.playing:
+ if self.playing:
self.player.set_state(gst.STATE_NULL)
self.player.set_state(gst.STATE_PLAYING)
- else:
- soundname = 'No Sound'
- if self.playing:
- self.player.set_state(gst.STATE_NULL)
- self.soundlabel.set_text(soundname.capitalize())
+ else:
+ soundname = 'No Sound'
+ if self.playing:
+ self.player.set_state(gst.STATE_NULL)
+ self.soundlabel.set_text(soundname.capitalize())
def lastsound(self, widget, data=None):
if self.soundindex == 0:
- self.soundindex = (len(self.sounds)-1)
- else:
- self.soundindex -= 1
- self.soundfile = self.sounds[self.soundindex]
- self.changesound()
+ self.soundindex = (len(self.sounds)-1)
+ else:
+ self.soundindex -= 1
+ self.soundfile = self.sounds[self.soundindex]
+ self.changesound()
def nextsound(self, widget, data=None):
if self.soundindex == (len(self.sounds)-1):
- self.soundindex = 0
- else:
- self.soundindex += 1
- self.soundfile = self.sounds[self.soundindex]
- self.changesound()
+ self.soundindex = 0
+ else:
+ self.soundindex += 1
+ self.soundfile = self.sounds[self.soundindex]
+ self.changesound()
def go(self, widget, data=None):
self.playframenum = 0
- if self.playing:
- if self.soundfile:
- self.player.set_state(gst.STATE_NULL)
- #widget.set_label('GO!')
- playimg = gtk.Image()
- #playimg.set_from_stock(gtk.STOCK_MEDIA_PLAY,gtk.ICON_SIZE_BUTTON)
- playimg.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
- playimg.show()
- widget.set_image(playimg)
- self.playing = False
- else:
- if self.soundfile:
- #self.player.set_property('uri', 'file://' + self.soundfile)
- self.player.set_state(gst.STATE_PLAYING)
- #widget.set_label('STOP')
- stopimg = gtk.Image()
- #stopimg.set_from_stock(gtk.STOCK_MEDIA_STOP,gtk.ICON_SIZE_BUTTON)
- stopimg.set_from_file(os.path.join(self.iconsdir,'big_pause.png'))
- stopimg.show()
- widget.set_image(stopimg)
- self.playing = gobject.timeout_add(self.waittime, self.playframe)
+ if self.playing:
+ if self.soundfile:
+ self.player.set_state(gst.STATE_NULL)
+ #widget.set_label('GO!')
+ playimg = gtk.Image()
+ #playimg.set_from_stock(gtk.STOCK_MEDIA_PLAY,gtk.ICON_SIZE_BUTTON)
+ playimg.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
+ playimg.show()
+ widget.set_image(playimg)
+ self.playing = False
+ else:
+ if self.soundfile:
+ #self.player.set_property('uri', 'file://' + self.soundfile)
+ self.player.set_state(gst.STATE_PLAYING)
+ #widget.set_label('STOP')
+ stopimg = gtk.Image()
+ #stopimg.set_from_stock(gtk.STOCK_MEDIA_STOP,gtk.ICON_SIZE_BUTTON)
+ stopimg.set_from_file(os.path.join(self.iconsdir,'big_pause.png'))
+ stopimg.show()
+ widget.set_image(stopimg)
+ self.playing = gobject.timeout_add(self.waittime, self.playframe)
def oldplayframe(self):
self.mfdraw.fgimgpath = self.frameimgpaths[self.playframenum]
- self.mfdraw.queue_draw()
- self.playframenum += 1
- if self.playframenum == TAPE_COUNT:
- self.playframenum = 0
- if self.playing:
- return True
- else:
- return False
+ self.mfdraw.queue_draw()
+ self.playframenum += 1
+ if self.playframenum == TAPE_COUNT:
+ self.playframenum = 0
+ if self.playing:
+ return True
+ else:
+ return False
def playframe(self):
- self.fgpixbuf = self.fgpixbufs[self.playframenum]
- self.drawmain()
- self.playframenum += 1
- if self.playframenum == TAPE_COUNT:
- self.playframenum = 0
- # SOUND HANDLING
- #if self.bus.have_pending:
- # print 'PENDING ITEMS ON SOUND BUS'
- # END OF SOUND HANDLING
- if self.playing:
- return True
- else:
- return False
+ self.fgpixbuf = self.fgpixbufs[self.playframenum]
+ self.drawmain()
+ self.playframenum += 1
+ if self.playframenum == TAPE_COUNT:
+ self.playframenum = 0
+ # SOUND HANDLING
+ #if self.bus.have_pending:
+ # print 'PENDING ITEMS ON SOUND BUS'
+ # END OF SOUND HANDLING
+ if self.playing:
+ return True
+ else:
+ return False
def drawmain(self):
#if not self.fgimgpath:
- # pixbuf2 = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
- # sbuf2 = pixbuf2.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
- # self.mainimage.set_from_pixbuf(sbuf2)
- # return
-
- # COMPOSITING FROM FILE PATHS
- #pixbuf = gtk.gdk.pixbuf_new_from_file(self.fgimgpath)
- #sbuf = pixbuf.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
- #pixbuf2 = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
- #sbuf2 = pixbuf2.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
- #sbuf.composite(sbuf2,0,0,sbuf.props.width,sbuf.props.height,
- # 0,0,1.0,1.0,gtk.gdk.INTERP_HYPER,255)
+ # pixbuf2 = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
+ # sbuf2 = pixbuf2.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
+ # self.mainimage.set_from_pixbuf(sbuf2)
+ # return
+
+ # COMPOSITING FROM FILE PATHS
+ #pixbuf = gtk.gdk.pixbuf_new_from_file(self.fgimgpath)
+ #sbuf = pixbuf.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
+ #pixbuf2 = gtk.gdk.pixbuf_new_from_file(self.bgimgpath)
+ #sbuf2 = pixbuf2.scale_simple(BGHEIGHT,BGWIDTH,gtk.gdk.INTERP_BILINEAR)
+ #sbuf.composite(sbuf2,0,0,sbuf.props.width,sbuf.props.height,
+ # 0,0,1.0,1.0,gtk.gdk.INTERP_HYPER,255)
# COMPOSITING FROM PIXBUFS
#sbuf = self.fgpixbuf.copy()
#sbuf2 = self.bgpixbuf.copy()
- #sbuf.composite(sbuf2,0,0,sbuf.props.width,sbuf.props.height,
- # 0,0,1.0,1.0,gtk.gdk.INTERP_HYPER,255)
- #self.mainimage.set_from_pixbuf(sbuf2)
+ #sbuf.composite(sbuf2,0,0,sbuf.props.width,sbuf.props.height,
+ # 0,0,1.0,1.0,gtk.gdk.INTERP_HYPER,255)
+ #self.mainimage.set_from_pixbuf(sbuf2)
# USING DRAWING AREA
- self.mfdraw.fgpixbuf = self.fgpixbuf
- self.mfdraw.bgpixbuf = self.bgpixbuf
- self.mfdraw.queue_draw()
+ self.mfdraw.fgpixbuf = self.fgpixbuf
+ self.mfdraw.bgpixbuf = self.bgpixbuf
+ self.mfdraw.queue_draw()
def getbackgroundfile(self, widget, data=None):
dialog = gtk.FileChooserDialog(title="Open..",
action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL,
- gtk.RESPONSE_CANCEL,
+ gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
- if self.insugar:
- dialog.set_current_folder('/home/olpc')
+ if self.insugar:
+ dialog.set_current_folder('/home/olpc')
dialog.set_default_response(gtk.RESPONSE_OK)
#filter = gtk.FileFilter()
@@ -409,16 +409,16 @@ class cartoonbuilder:
response = dialog.run()
if response == gtk.RESPONSE_OK:
#print dialog.get_filename(), 'selected'
- bgimgpath = dialog.get_filename()
- self.backpicpaths.append(bgimgpath)
- self.backnum = self.backpicpaths.index(bgimgpath)
- self.setback(bgimgpath)
- f = file(os.path.join(self.mdirpath,'config.backpics'),'a')
- f.write('%s\n' % bgimgpath)
- f.close()
+ bgimgpath = dialog.get_filename()
+ self.backpicpaths.append(bgimgpath)
+ self.backnum = self.backpicpaths.index(bgimgpath)
+ self.setback(bgimgpath)
+ f = file(os.path.join(self.mdirpath,'config.backpics'),'a')
+ f.write('%s\n' % bgimgpath)
+ f.close()
elif response == gtk.RESPONSE_CANCEL:
# print 'Closed, no files selected'
- pass
+ pass
dialog.destroy()
def getimgdir(self, widget, data=None):
@@ -426,164 +426,164 @@ class cartoonbuilder:
dialog = gtk.FileChooserDialog(title='Select Folder',
action=daction,
buttons=(gtk.STOCK_CANCEL,
- gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
- gtk.RESPONSE_OK))
- if self.insugar:
- dialog.set_current_folder('/home/olpc')
+ gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
+ gtk.RESPONSE_OK))
+ if self.insugar:
+ dialog.set_current_folder('/home/olpc')
dialog.set_default_response(gtk.RESPONSE_OK)
response = dialog.run()
if response == gtk.RESPONSE_OK:
#print dialog.get_filename(), 'selected'
- imgdir = dialog.get_filename()
- pics = self.getpics(imgdir)
- if pics:
- self.imgdir = imgdir
- self.imgdirs.append(imgdir)
- self.imgdirindex = self.imgdirs.index(imgdir)
- self.loadimages()
- self.setcharacter()
- self.drawmain()
- f = file(os.path.join(self.mdirpath,'config.imgdirs'),'a')
- f.write('%s\n' % imgdir)
- f.close()
+ imgdir = dialog.get_filename()
+ pics = self.getpics(imgdir)
+ if pics:
+ self.imgdir = imgdir
+ self.imgdirs.append(imgdir)
+ self.imgdirindex = self.imgdirs.index(imgdir)
+ self.loadimages()
+ self.setcharacter()
+ self.drawmain()
+ f = file(os.path.join(self.mdirpath,'config.imgdirs'),'a')
+ f.write('%s\n' % imgdir)
+ f.close()
elif response == gtk.RESPONSE_CANCEL:
- pass
+ pass
dialog.destroy()
def getsoundfile(self, widget, data=None):
dialog = gtk.FileChooserDialog(title="Open..",
action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL,
- gtk.RESPONSE_CANCEL,
+ gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
- if self.insugar:
- dialog.set_current_folder('/home/olpc')
+ if self.insugar:
+ dialog.set_current_folder('/home/olpc')
dialog.set_default_response(gtk.RESPONSE_OK)
filter = gtk.FileFilter()
filter.set_name("Sounds")
#filter.add_mime_type("image/png")
filter.add_pattern('*.wav')
- filter.add_pattern('*.mp3')
- filter.add_pattern('*.ogg')
+ filter.add_pattern('*.mp3')
+ filter.add_pattern('*.ogg')
dialog.add_filter(filter)
response = dialog.run()
if response == gtk.RESPONSE_OK:
- soundfilepath = dialog.get_filename()
- self.sounds.append(soundfilepath)
- self.soundfile = soundfilepath
- self.soundindex = self.sounds.index(soundfilepath)
- self.changesound()
- f = file(os.path.join(self.mdirpath,'config.sounds'),'a')
- f.write('%s\n' % soundfilepath)
- f.close()
+ soundfilepath = dialog.get_filename()
+ self.sounds.append(soundfilepath)
+ self.soundfile = soundfilepath
+ self.soundindex = self.sounds.index(soundfilepath)
+ self.changesound()
+ f = file(os.path.join(self.mdirpath,'config.sounds'),'a')
+ f.write('%s\n' % soundfilepath)
+ f.close()
elif response == gtk.RESPONSE_CANCEL:
# print 'Closed, no files selected'
- pass
+ pass
dialog.destroy()
def getsdata(self):
#self.lessonplans.set_label('getting sdata')
- # THE BELOW SHOULD WORK BUT DOESN'T
+ # THE BELOW SHOULD WORK BUT DOESN'T
#zf = StringIO.StringIO()
- #self.savetozip(zf)
- #zf.seek(0)
- #sdata = zf.read()
- #zf.close()
- # END OF STUFF THAT DOESN'T WORK
- sdd = {}
- tmpbgpath = os.path.join(TMPDIR,'back.png')
- self.bgpixbuf.save(tmpbgpath,'png')
- sdd['pngdata'] = file(tmpbgpath).read()
- os.remove(tmpbgpath)
- sdd['fgpixbufpaths'] = self.fgpixbufpaths
- #sdd['fgpixbufs'] = []
- #count = 1
- #for pixbuf in self.fgpixbufs:
- # filename = '%02d.png' % count
- # filepath = os.path.join(TMPDIR,filename)
- # pixbuf.save(filepath,'png')
- # sdd['fgpixbufs'].append(file(filepath).read())
- # os.remove(filepath)
- # count += 1
- return pickle.dumps(sdd)
+ #self.savetozip(zf)
+ #zf.seek(0)
+ #sdata = zf.read()
+ #zf.close()
+ # END OF STUFF THAT DOESN'T WORK
+ sdd = {}
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ self.bgpixbuf.save(tmpbgpath,'png')
+ sdd['pngdata'] = file(tmpbgpath).read()
+ os.remove(tmpbgpath)
+ sdd['fgpixbufpaths'] = self.fgpixbufpaths
+ #sdd['fgpixbufs'] = []
+ #count = 1
+ #for pixbuf in self.fgpixbufs:
+ # filename = '%02d.png' % count
+ # filepath = os.path.join(TMPDIR,filename)
+ # pixbuf.save(filepath,'png')
+ # sdd['fgpixbufs'].append(file(filepath).read())
+ # os.remove(filepath)
+ # count += 1
+ return pickle.dumps(sdd)
def restore(self, sdata):
# THE BELOW SHOULD WORK BUT DOESN'T
#zf = StringIO.StringIO(sdata)
- #self.loadfromzip(zf)
+ #self.loadfromzip(zf)
# END OF STUFF THAT DOESN'T WORK
- sdd = pickle.loads(sdata)
- tmpbgpath = os.path.join(TMPDIR,'back.png')
- f = file(tmpbgpath,'w')
- f.write(sdd['pngdata'])
- f.close()
- self.setback(tmpbgpath)
- os.remove(tmpbgpath)
- transimgpath = os.path.join(self.iconsdir,TRANSIMG)
- for i in range(len(sdd['fgpixbufpaths'])):
- filepath = sdd['fgpixbufpaths'][i]
- if filepath == transimgpath:
- continue
- pixbuf = gtk.gdk.pixbuf_new_from_file(filepath)
- fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.fgpixbufs[i] = fgpixbuf
- if i == 0:
- self.fgpixbuf = fgpixbuf
- self.drawmain()
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.frameimgs[i].set_from_pixbuf(scaled_buf)
+ sdd = pickle.loads(sdata)
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ f = file(tmpbgpath,'w')
+ f.write(sdd['pngdata'])
+ f.close()
+ self.setback(tmpbgpath)
+ os.remove(tmpbgpath)
+ transimgpath = os.path.join(self.iconsdir,TRANSIMG)
+ for i in range(len(sdd['fgpixbufpaths'])):
+ filepath = sdd['fgpixbufpaths'][i]
+ if filepath == transimgpath:
+ continue
+ pixbuf = gtk.gdk.pixbuf_new_from_file(filepath)
+ fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.fgpixbufs[i] = fgpixbuf
+ if i == 0:
+ self.fgpixbuf = fgpixbuf
+ self.drawmain()
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.frameimgs[i].set_from_pixbuf(scaled_buf)
def savefile(self, widget, data=None):
daction = gtk.FILE_CHOOSER_ACTION_SAVE
dialog = gtk.FileChooserDialog(title='Save Animation',
action=daction,
buttons=(gtk.STOCK_CANCEL,
- gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE,
- gtk.RESPONSE_OK))
- if self.insugar:
- dialog.set_current_folder('/home/olpc')
- dialog.set_current_name('cartoon.zip')
+ gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE,
+ gtk.RESPONSE_OK))
+ if self.insugar:
+ dialog.set_current_folder('/home/olpc')
+ dialog.set_current_name('cartoon.zip')
dialog.set_default_response(gtk.RESPONSE_OK)
response = dialog.run()
- if response == gtk.RESPONSE_OK:
- filepath = dialog.get_filename()
- zf = file(filepath,'w')
- self.savetozip(zf)
- elif response == gtk.RESPONSE_CANCEL:
- pass
- dialog.destroy()
+ if response == gtk.RESPONSE_OK:
+ filepath = dialog.get_filename()
+ zf = file(filepath,'w')
+ self.savetozip(zf)
+ elif response == gtk.RESPONSE_CANCEL:
+ pass
+ dialog.destroy()
def savetozip(self, f):
- # print filepath
- #zf = zipfile.ZipFile(filepath,'w')
- zf = zipfile.ZipFile(f,'w')
- # add the background file
- tmpbgpath = os.path.join(TMPDIR,'back.png')
- self.bgpixbuf.save(tmpbgpath,'png')
- zf.write(tmpbgpath)
- os.remove(tmpbgpath)
- # add the frames
- count = 1
- for pixbuf in self.fgpixbufs:
- filename = '%02d.png' % count
- filepath = os.path.join(TMPDIR,filename)
- pixbuf.save(filepath,'png')
- zf.write(filepath)
- os.remove(filepath)
- count += 1
- zf.close()
+ # print filepath
+ #zf = zipfile.ZipFile(filepath,'w')
+ zf = zipfile.ZipFile(f,'w')
+ # add the background file
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ self.bgpixbuf.save(tmpbgpath,'png')
+ zf.write(tmpbgpath)
+ os.remove(tmpbgpath)
+ # add the frames
+ count = 1
+ for pixbuf in self.fgpixbufs:
+ filename = '%02d.png' % count
+ filepath = os.path.join(TMPDIR,filename)
+ pixbuf.save(filepath,'png')
+ zf.write(filepath)
+ os.remove(filepath)
+ count += 1
+ zf.close()
def loadfile(self, widget, data=None):
daction = gtk.FILE_CHOOSER_ACTION_OPEN
dialog = gtk.FileChooserDialog(title='Select File',
action=daction,
buttons=(gtk.STOCK_CANCEL,
- gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
- gtk.RESPONSE_OK))
- if self.insugar:
- dialog.set_current_folder('/home/olpc')
+ gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
+ gtk.RESPONSE_OK))
+ if self.insugar:
+ dialog.set_current_folder('/home/olpc')
dialog.set_default_response(gtk.RESPONSE_OK)
filter = gtk.FileFilter()
filter.set_name("Zipfiles")
@@ -591,591 +591,591 @@ class cartoonbuilder:
filter.add_pattern("*.zip")
dialog.add_filter(filter)
response = dialog.run()
- if response == gtk.RESPONSE_OK:
- filepath = dialog.get_filename()
- zf = file(filepath,'r')
- self.loadfromzip(zf)
- elif response == gtk.RESPONSE_CANCEL:
- pass
- dialog.destroy()
+ if response == gtk.RESPONSE_OK:
+ filepath = dialog.get_filename()
+ zf = file(filepath,'r')
+ self.loadfromzip(zf)
+ elif response == gtk.RESPONSE_CANCEL:
+ pass
+ dialog.destroy()
def loadfromzip(self, f):
- # print filepath
- #zf = zipfile.ZipFile(filepath,'r')
- zf = zipfile.ZipFile(f)
- fnames = zf.namelist()
- framenames = []
- for fname in fnames:
- if fname[-8:] == 'back.png':
- backname = fname
- else:
- framenames.append(fname)
- framenames.sort()
- # set the background
- tmpbgpath = os.path.join(TMPDIR,'back.png')
- f = file(tmpbgpath,'w')
- f.write(zf.read(backname))
- f.close()
- self.setback(tmpbgpath)
- os.remove(tmpbgpath)
- self.imgdir = TMPDIR
- for filepath in framenames:
- fname = os.path.split(filepath)[1]
+ # print filepath
+ #zf = zipfile.ZipFile(filepath,'r')
+ zf = zipfile.ZipFile(f)
+ fnames = zf.namelist()
+ framenames = []
+ for fname in fnames:
+ if fname[-8:] == 'back.png':
+ backname = fname
+ else:
+ framenames.append(fname)
+ framenames.sort()
+ # set the background
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ f = file(tmpbgpath,'w')
+ f.write(zf.read(backname))
+ f.close()
+ self.setback(tmpbgpath)
+ os.remove(tmpbgpath)
+ self.imgdir = TMPDIR
+ for filepath in framenames:
+ fname = os.path.split(filepath)[1]
tmpfilepath = os.path.join(TMPDIR,fname)
- f = file(tmpfilepath,'w')
- f.write(zf.read(filepath))
- f.close()
- zf.close()
- self.loadimages()
- #self.setcharacter()
+ f = file(tmpfilepath,'w')
+ f.write(zf.read(filepath))
+ f.close()
+ zf.close()
+ self.loadimages()
+ #self.setcharacter()
# setup the filmstrip frames
pics = self.getpics(self.imgdir)
- count = 0
- for imgpath in pics:
- pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
- fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.fgpixbufs[count] = fgpixbuf
- if count == 0:
- self.fgpixbuf = fgpixbuf
- self.drawmain()
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.frameimgs[count].set_from_pixbuf(scaled_buf)
+ count = 0
+ for imgpath in pics:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
+ fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.fgpixbufs[count] = fgpixbuf
+ if count == 0:
+ self.fgpixbuf = fgpixbuf
+ self.drawmain()
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.frameimgs[count].set_from_pixbuf(scaled_buf)
count += 1
- entries = os.listdir(TMPDIR)
- for entry in entries:
- entrypath = os.path.join(TMPDIR,entry)
- os.remove(entrypath)
+ entries = os.listdir(TMPDIR)
+ for entry in entries:
+ entrypath = os.path.join(TMPDIR,entry)
+ os.remove(entrypath)
def setplayspeed(self,adj):
- self.waittime = int((6-adj.value)*150)
- if self.playing:
- gobject.source_remove(self.playing)
- self.playing = gobject.timeout_add(self.waittime, self.playframe)
+ self.waittime = int((6-adj.value)*150)
+ if self.playing:
+ gobject.source_remove(self.playing)
+ self.playing = gobject.timeout_add(self.waittime, self.playframe)
def loadimages(self):
- self.posepixbufs = []
- self.poseimgpaths = []
+ self.posepixbufs = []
+ self.poseimgpaths = []
pics = self.getpics(self.imgdir)
- count = 0
- for imgpath in pics[self.imgstartindex:self.imgstartindex+FRAME_COUNT]:
- pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
- scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.posepixbufs.append(pixbuf)
- self.poseimgpaths.append(imgpath)
+ count = 0
+ for imgpath in pics[self.imgstartindex:self.imgstartindex+FRAME_COUNT]:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.posepixbufs.append(pixbuf)
+ self.poseimgpaths.append(imgpath)
self.images[count].set_from_pixbuf(scaled_buf)
- count += 1
- for i in range(count,FRAME_COUNT):
- transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
- imgpath = os.path.join(self.iconsdir,TRANSIMG)
- img = gtk.Image()
- img.set_from_pixbuf(transpixbuf)
- img.show()
- self.posepixbufs.append(pixbuf)
- self.poseimgpaths.append(imgpath)
- self.images[i].set_from_pixbuf(transpixbuf)
+ count += 1
+ for i in range(count,FRAME_COUNT):
+ transpixbuf = self.gettranspixbuf(IMGWIDTH,IMGHEIGHT)
+ imgpath = os.path.join(self.iconsdir,TRANSIMG)
+ img = gtk.Image()
+ img.set_from_pixbuf(transpixbuf)
+ img.show()
+ self.posepixbufs.append(pixbuf)
+ self.poseimgpaths.append(imgpath)
+ self.images[i].set_from_pixbuf(transpixbuf)
def getpics(self, dirpath):
pics = []
entries = os.listdir(dirpath)
- entries.sort()
- for entry in entries:
- if entry[-4:].lower() in ['.png','.gif','.jpg']:
- filepath = os.path.join(dirpath,entry)
- pics.append(filepath)
- return pics
+ entries.sort()
+ for entry in entries:
+ if entry[-4:].lower() in ['.png','.gif','.jpg']:
+ filepath = os.path.join(dirpath,entry)
+ pics.append(filepath)
+ return pics
def imgup(self, widget, data=None):
pics = self.getpics(self.imgdir)
- if self.imgstartindex > 0:
- self.imgstartindex -= 2
- self.loadimages()
- self.setcharacter()
- self.drawmain()
+ if self.imgstartindex > 0:
+ self.imgstartindex -= 2
+ self.loadimages()
+ self.setcharacter()
+ self.drawmain()
def imgdown(self, widget, data=None):
pics = self.getpics(self.imgdir)
- if len(pics[self.imgstartindex:]) > FRAME_COUNT:
- self.imgstartindex += 2
- self.loadimages()
- self.setcharacter()
- self.drawmain()
+ if len(pics[self.imgstartindex:]) > FRAME_COUNT:
+ self.imgstartindex += 2
+ self.loadimages()
+ self.setcharacter()
+ self.drawmain()
def gettranspixbuf(self, width=50, height=50):
- transimgpath = os.path.join(self.iconsdir,TRANSIMG)
- pixbuf = gtk.gdk.pixbuf_new_from_file(transimgpath)
- if width == 50 and height == 50:
- return pixbuf
- scaled_buf = pixbuf.scale_simple(width,height,gtk.gdk.INTERP_BILINEAR)
- return scaled_buf
+ transimgpath = os.path.join(self.iconsdir,TRANSIMG)
+ pixbuf = gtk.gdk.pixbuf_new_from_file(transimgpath)
+ if width == 50 and height == 50:
+ return pixbuf
+ scaled_buf = pixbuf.scale_simple(width,height,gtk.gdk.INTERP_BILINEAR)
+ return scaled_buf
def showlessonplans(self, widget, data=None):
dia = gtk.Dialog(title='Lesson Plans',
- parent=None,
- flags=0,
- buttons=None)
- dia.set_default_size(500,500)
- dia.show()
-
- #dia.vbox.pack_start(scrolled_window, True, True, 0)
- notebook = gtk.Notebook()
- # uncomment below to highlight tabs
- notebook.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
- notebook.set_tab_pos(gtk.POS_TOP)
- #notebook.set_default_size(400,400)
- notebook.show()
+ parent=None,
+ flags=0,
+ buttons=None)
+ dia.set_default_size(500,500)
+ dia.show()
+
+ #dia.vbox.pack_start(scrolled_window, True, True, 0)
+ notebook = gtk.Notebook()
+ # uncomment below to highlight tabs
+ notebook.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
+ notebook.set_tab_pos(gtk.POS_TOP)
+ #notebook.set_default_size(400,400)
+ notebook.show()
lessonplans = {}
- lpdir = os.path.join(self.mdirpath,LANG[self.language]['lpdir'])
- lpentries = os.listdir(lpdir)
- for entry in lpentries:
- fpath = os.path.join(lpdir,entry)
- lessonplans[entry] = getwrappedfile(fpath,80)
- lpkeys = lessonplans.keys()
- lpkeys.sort()
- for lpkey in lpkeys:
- lpname = lpkey.replace('_',' ').replace('0','')[:-4]
- label = gtk.Label(lessonplans[lpkey])
- #if self.insugar:
- # label.modify_fg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
- eb = gtk.EventBox()
- eb.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
- #label.set_line_wrap(True)
- label.show()
- eb.add(label)
- eb.show()
- #tlabel = gtk.Label('Lesson Plan %s' % str(i+1))
- tlabel = gtk.Label(lpname)
- tlabel.show()
- scrolled_window = gtk.ScrolledWindow()
- scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
- scrolled_window.show()
- scrolled_window.add_with_viewport(eb)
- notebook.append_page(scrolled_window, tlabel)
- #dia.action_area.pack_start(notebook, True, True, 0)
- dia.vbox.pack_start(notebook, True, True, 0)
- result = dia.run()
- dia.destroy()
+ lpdir = os.path.join(self.mdirpath,LANG[self.language]['lpdir'])
+ lpentries = os.listdir(lpdir)
+ for entry in lpentries:
+ fpath = os.path.join(lpdir,entry)
+ lessonplans[entry] = getwrappedfile(fpath,80)
+ lpkeys = lessonplans.keys()
+ lpkeys.sort()
+ for lpkey in lpkeys:
+ lpname = lpkey.replace('_',' ').replace('0','')[:-4]
+ label = gtk.Label(lessonplans[lpkey])
+ #if self.insugar:
+ # label.modify_fg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
+ eb = gtk.EventBox()
+ eb.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(WHITE))
+ #label.set_line_wrap(True)
+ label.show()
+ eb.add(label)
+ eb.show()
+ #tlabel = gtk.Label('Lesson Plan %s' % str(i+1))
+ tlabel = gtk.Label(lpname)
+ tlabel.show()
+ scrolled_window = gtk.ScrolledWindow()
+ scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
+ scrolled_window.show()
+ scrolled_window.add_with_viewport(eb)
+ notebook.append_page(scrolled_window, tlabel)
+ #dia.action_area.pack_start(notebook, True, True, 0)
+ dia.vbox.pack_start(notebook, True, True, 0)
+ result = dia.run()
+ dia.destroy()
def changed_cb(self, combobox):
model = combobox.get_model()
- index = combobox.get_active()
- if index:
- lang = model[index][0]
- if lang == 'Espa\xc3\xb1ol':
- lang = SPANISH
- if lang in LANG:
- self.lessonplans.set_label(LANG[lang]['lessonplan'])
- prepare_btn(self.lessonplans)
- if not self.insugar:
- self.character.set_label(LANG[lang]['character'])
- prepare_btn(self.character)
- self.bgbutton.set_label(LANG[lang]['background'])
- prepare_btn(self.bgbutton)
- self.soundbutton.set_label(LANG[lang]['sound'])
- prepare_btn(self.soundbutton)
- else:
- print repr(lang)
- return
+ index = combobox.get_active()
+ if index:
+ lang = model[index][0]
+ if lang == 'Espa\xc3\xb1ol':
+ lang = SPANISH
+ if lang in LANG:
+ self.lessonplans.set_label(LANG[lang]['lessonplan'])
+ prepare_btn(self.lessonplans)
+ if not self.insugar:
+ self.character.set_label(LANG[lang]['character'])
+ prepare_btn(self.character)
+ self.bgbutton.set_label(LANG[lang]['background'])
+ prepare_btn(self.bgbutton)
+ self.soundbutton.set_label(LANG[lang]['sound'])
+ prepare_btn(self.soundbutton)
+ else:
+ print repr(lang)
+ return
def changebuttonlang(self):
- self.lessonplans.set_label(LANG[self.language]['lessonplan'])
- prepare_btn(self.lessonplans)
- self.lang.set_label(self.language)
- prepare_btn(self.lang)
- self.character.set_label(LANG[self.language]['character'])
- prepare_btn(self.character)
- self.bgbutton.set_label(LANG[self.language]['background'])
- prepare_btn(self.bgbutton)
- self.soundbutton.set_label(LANG[self.language]['sound'])
- prepare_btn(self.soundbutton)
+ self.lessonplans.set_label(LANG[self.language]['lessonplan'])
+ prepare_btn(self.lessonplans)
+ self.lang.set_label(self.language)
+ prepare_btn(self.lang)
+ self.character.set_label(LANG[self.language]['character'])
+ prepare_btn(self.character)
+ self.bgbutton.set_label(LANG[self.language]['background'])
+ prepare_btn(self.bgbutton)
+ self.soundbutton.set_label(LANG[self.language]['sound'])
+ prepare_btn(self.soundbutton)
def setlastlanguage(self, widget, data=None):
li = LANGLIST.index(self.language)
- if li == 0:
- self.language = LANGLIST[len(LANGLIST)-1]
- else:
- self.language = LANGLIST[li-1]
- self.changebuttonlang()
+ if li == 0:
+ self.language = LANGLIST[len(LANGLIST)-1]
+ else:
+ self.language = LANGLIST[li-1]
+ self.changebuttonlang()
def setnextlanguage(self, widget, data=None):
li = LANGLIST.index(self.language)
- if li == (len(LANGLIST)-1):
- self.language = LANGLIST[0]
- else:
- self.language = LANGLIST[li+1]
- self.changebuttonlang()
+ if li == (len(LANGLIST)-1):
+ self.language = LANGLIST[0]
+ else:
+ self.language = LANGLIST[li+1]
+ self.changebuttonlang()
def getdefaultlang(self):
return 'English'
def __init__(self,insugar,toplevel_window,mdirpath):
self.mdirpath = mdirpath
- if not os.path.isdir(TMPDIR):
- os.mkdir(TMPDIR)
- self.iconsdir = os.path.join(self.mdirpath,'icons')
+ if not os.path.isdir(TMPDIR):
+ os.mkdir(TMPDIR)
+ self.iconsdir = os.path.join(self.mdirpath,'icons')
self.playing = False
- self.backnum = 0
- self.backpicpaths = []
- bpfile = file(os.path.join(self.mdirpath,'config.backpics'))
- for line in bpfile:
- bpfilepath = line.strip()
- if bpfilepath[0] != '/':
- bpfilepath = os.path.join(self.mdirpath,line.strip())
- if os.path.isfile(bpfilepath):
- self.backpicpaths.append(bpfilepath)
- bpfile.close()
- self.waittime = 3*150
- self.insugar = insugar
- self.language = self.getdefaultlang()
+ self.backnum = 0
+ self.backpicpaths = []
+ bpfile = file(os.path.join(self.mdirpath,'config.backpics'))
+ for line in bpfile:
+ bpfilepath = line.strip()
+ if bpfilepath[0] != '/':
+ bpfilepath = os.path.join(self.mdirpath,line.strip())
+ if os.path.isfile(bpfilepath):
+ self.backpicpaths.append(bpfilepath)
+ bpfile.close()
+ self.waittime = 3*150
+ self.insugar = insugar
+ self.language = self.getdefaultlang()
self.imgdirs = []
- imgdirfile = file(os.path.join(self.mdirpath,'config.imgdirs'))
- for line in imgdirfile:
- imgdirpath = line.strip()
- if imgdirpath[0] != '/':
- imgdirpath = os.path.join(self.mdirpath,line.strip())
- if os.path.isdir(imgdirpath):
- self.imgdirs.append(imgdirpath)
- imgdirfile.close()
- self.imgdirindex = 0
- self.imgstartindex = 0
- self.sounds = ['']
- soundfile = file(os.path.join(self.mdirpath,'config.sounds'))
- for line in soundfile:
- soundfilepath = line.strip()
- if soundfilepath[0] != '/':
- soundfilepath = os.path.join(self.mdirpath,line.strip())
- if os.path.isfile(soundfilepath):
- self.sounds.append(soundfilepath)
- soundfile.close()
- self.soundindex = 0
- self.soundfile = self.sounds[self.soundindex]
- # START GSTREAMER STUFF
+ imgdirfile = file(os.path.join(self.mdirpath,'config.imgdirs'))
+ for line in imgdirfile:
+ imgdirpath = line.strip()
+ if imgdirpath[0] != '/':
+ imgdirpath = os.path.join(self.mdirpath,line.strip())
+ if os.path.isdir(imgdirpath):
+ self.imgdirs.append(imgdirpath)
+ imgdirfile.close()
+ self.imgdirindex = 0
+ self.imgstartindex = 0
+ self.sounds = ['']
+ soundfile = file(os.path.join(self.mdirpath,'config.sounds'))
+ for line in soundfile:
+ soundfilepath = line.strip()
+ if soundfilepath[0] != '/':
+ soundfilepath = os.path.join(self.mdirpath,line.strip())
+ if os.path.isfile(soundfilepath):
+ self.sounds.append(soundfilepath)
+ soundfile.close()
+ self.soundindex = 0
+ self.soundfile = self.sounds[self.soundindex]
+ # START GSTREAMER STUFF
self.player = gst.element_factory_make("playbin", "player")
fakesink = gst.element_factory_make('fakesink', "my-fakesink")
self.player.set_property("video-sink", fakesink)
self.bus = self.player.get_bus()
self.bus.add_signal_watch()
self.bus.connect('message', self.on_gstmessage)
- # END GSTREAMER STUFF
- self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ # END GSTREAMER STUFF
+ self.fgpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
self.mpbox = gtk.VBox()
- self.main = gtk.EventBox()
- self.main.show()
+ self.main = gtk.EventBox()
+ self.main.show()
self.main.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BUTTON_BACKGROUND))
- self.mainbox = gtk.EventBox()
- self.mainbox.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.mainbox.set_border_width(5)
- self.mainbox.show()
- self.main.add(self.mainbox)
- self.mpbox.show()
- self.logobox = gtk.HBox(False,0)
- self.logobox.show()
- self.logo = gtk.Image()
- self.logo.show()
- self.logo.set_from_file(os.path.join(self.iconsdir,'logo.png'))
- self.logobox.pack_start(self.logo,False,False,0)
- self.lessonplans = gtk.Button('Lesson Plans')
- self.lessonplans.connect('clicked',self.showlessonplans, None)
- prepare_btn(self.lessonplans)
- self.lessonplans.show()
- self.lpvbox = gtk.VBox()
- self.lpvbox.show()
- self.lpvbox.pack_start(self.lessonplans,True,False,0)
- self.lpoframe = gtk.EventBox()
- self.lpoframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.lpoframe.show()
- self.lpframe = gtk.EventBox()
- self.lpframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.lpframe.show()
+ self.mainbox = gtk.EventBox()
+ self.mainbox.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.mainbox.set_border_width(5)
+ self.mainbox.show()
+ self.main.add(self.mainbox)
+ self.mpbox.show()
+ self.logobox = gtk.HBox(False,0)
+ self.logobox.show()
+ self.logo = gtk.Image()
+ self.logo.show()
+ self.logo.set_from_file(os.path.join(self.iconsdir,'logo.png'))
+ self.logobox.pack_start(self.logo,False,False,0)
+ self.lessonplans = gtk.Button('Lesson Plans')
+ self.lessonplans.connect('clicked',self.showlessonplans, None)
+ prepare_btn(self.lessonplans)
+ self.lessonplans.show()
+ self.lpvbox = gtk.VBox()
+ self.lpvbox.show()
+ self.lpvbox.pack_start(self.lessonplans,True,False,0)
+ self.lpoframe = gtk.EventBox()
+ self.lpoframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.lpoframe.show()
+ self.lpframe = gtk.EventBox()
+ self.lpframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.lpframe.show()
self.lpalign = gtk.Alignment(1.0,1.0,1.0,1.0)
- self.lpalign.add(self.lpframe)
- self.lpalign.set_padding(5,0,5,0)
- self.lpalign.show()
- self.lpoframe.add(self.lpalign)
- self.lphbox = gtk.HBox()
- self.lphbox.show()
- self.lphbox.pack_start(self.lpvbox,True,False,0)
- self.lpframe.add(self.lphbox)
- self.logobox.pack_start(self.lpoframe,True,True,0)
+ self.lpalign.add(self.lpframe)
+ self.lpalign.set_padding(5,0,5,0)
+ self.lpalign.show()
+ self.lpoframe.add(self.lpalign)
+ self.lphbox = gtk.HBox()
+ self.lphbox.show()
+ self.lphbox.pack_start(self.lpvbox,True,False,0)
+ self.lpframe.add(self.lphbox)
+ self.logobox.pack_start(self.lpoframe,True,True,0)
self.langdd = gtk.combo_box_new_text()
- self.langdd.append_text('Language')
- self.langdd.append_text('English')
- self.langdd.append_text(SPANISH)
- self.langdd.connect('changed', self.changed_cb)
- self.langdd.set_active(0)
- self.langdd.show()
- self.langddvbox = gtk.VBox()
- self.langddvbox.show()
- self.langddvbox.pack_start(self.langdd,True,False,0)
- #vvvv LANGUAGE BUTTONS vvvv
- #self.lastlang = gtk.Button()
- #self.lastlang.connect('clicked', self.setlastlanguage, None)
- #llla = gtk.Image()
- #llla.set_from_file(os.path.join(self.iconsdir,'left_arrow.png'))
- #llla.show()
- #self.lastlang.add(llla)
- #prepare_btn(self.lastlang)
- #self.lastlang.show()
- #self.llvbox = gtk.VBox()
- #self.llvbox.show()
- #self.llvbox.pack_start(self.lastlang,True,False,0)
- #self.lang = gtk.Button(self.language)
- #prepare_btn(self.lang)
- #self.lang.show()
- #self.nextlang = gtk.Button()
- #self.nextlang.connect('clicked', self.setnextlanguage, None)
- #nlra = gtk.Image()
- #nlra.set_from_file(os.path.join(self.iconsdir,'right_arrow.png'))
- #nlra.show()
- #self.nextlang.add(nlra)
- #prepare_btn(self.nextlang)
- #self.nextlang.show()
- #self.nlvbox = gtk.VBox()
- #self.nlvbox.show()
- #self.nlvbox.pack_start(self.nextlang,True,False,0)
- #self.langvbox = gtk.VBox()
- #self.langvbox.show()
- #self.langvbox.pack_start(self.lang,True,False,0)
- #^^^^ LANGUAGE BUTTONS^^^^
- self.langoframe = gtk.EventBox()
- self.langoframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.langoframe.show()
- self.langframe = gtk.EventBox()
- self.langframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.langframe.show()
- self.langalign = gtk.Alignment(1.0,1.0,1.0,1.0)
- self.langalign.add(self.langframe)
- if not self.insugar:
- self.langalign.set_padding(5,0,5,0)
- else:
- self.langalign.set_padding(5,0,5,5)
- self.langalign.show()
- self.langoframe.add(self.langalign)
- self.langhbox = gtk.HBox()
- self.langhbox.show()
- #self.langhbox.pack_start(self.llvbox,True,False,0)
- #self.langhbox.pack_start(self.langvbox,True,False,0)
- #self.langhbox.pack_start(self.nlvbox,True,False,0)
- self.langhbox.pack_start(self.langddvbox,True,False,0)
- self.langframe.add(self.langhbox)
- self.logobox.pack_start(self.langoframe,True,True,0)
+ self.langdd.append_text('Language')
+ self.langdd.append_text('English')
+ self.langdd.append_text(SPANISH)
+ self.langdd.connect('changed', self.changed_cb)
+ self.langdd.set_active(0)
+ self.langdd.show()
+ self.langddvbox = gtk.VBox()
+ self.langddvbox.show()
+ self.langddvbox.pack_start(self.langdd,True,False,0)
+ #vvvv LANGUAGE BUTTONS vvvv
+ #self.lastlang = gtk.Button()
+ #self.lastlang.connect('clicked', self.setlastlanguage, None)
+ #llla = gtk.Image()
+ #llla.set_from_file(os.path.join(self.iconsdir,'left_arrow.png'))
+ #llla.show()
+ #self.lastlang.add(llla)
+ #prepare_btn(self.lastlang)
+ #self.lastlang.show()
+ #self.llvbox = gtk.VBox()
+ #self.llvbox.show()
+ #self.llvbox.pack_start(self.lastlang,True,False,0)
+ #self.lang = gtk.Button(self.language)
+ #prepare_btn(self.lang)
+ #self.lang.show()
+ #self.nextlang = gtk.Button()
+ #self.nextlang.connect('clicked', self.setnextlanguage, None)
+ #nlra = gtk.Image()
+ #nlra.set_from_file(os.path.join(self.iconsdir,'right_arrow.png'))
+ #nlra.show()
+ #self.nextlang.add(nlra)
+ #prepare_btn(self.nextlang)
+ #self.nextlang.show()
+ #self.nlvbox = gtk.VBox()
+ #self.nlvbox.show()
+ #self.nlvbox.pack_start(self.nextlang,True,False,0)
+ #self.langvbox = gtk.VBox()
+ #self.langvbox.show()
+ #self.langvbox.pack_start(self.lang,True,False,0)
+ #^^^^ LANGUAGE BUTTONS^^^^
+ self.langoframe = gtk.EventBox()
+ self.langoframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.langoframe.show()
+ self.langframe = gtk.EventBox()
+ self.langframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.langframe.show()
+ self.langalign = gtk.Alignment(1.0,1.0,1.0,1.0)
+ self.langalign.add(self.langframe)
+ if not self.insugar:
+ self.langalign.set_padding(5,0,5,0)
+ else:
+ self.langalign.set_padding(5,0,5,5)
+ self.langalign.show()
+ self.langoframe.add(self.langalign)
+ self.langhbox = gtk.HBox()
+ self.langhbox.show()
+ #self.langhbox.pack_start(self.llvbox,True,False,0)
+ #self.langhbox.pack_start(self.langvbox,True,False,0)
+ #self.langhbox.pack_start(self.nlvbox,True,False,0)
+ self.langhbox.pack_start(self.langddvbox,True,False,0)
+ self.langframe.add(self.langhbox)
+ self.logobox.pack_start(self.langoframe,True,True,0)
if not self.insugar:
self.sooframe = gtk.EventBox()
- self.sooframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.sooframe.show()
- self.soframe = gtk.EventBox()
- self.soframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.soframe.show()
- self.soalign = gtk.Alignment(1.0,1.0,1.0,1.0)
- self.soalign.add(self.soframe)
- self.soalign.set_padding(5,0,5,5)
- self.soalign.show()
- self.sooframe.add(self.soalign)
- self.fsvbox = gtk.VBox()
- self.fsvbox.show()
- self.fileopen = gtk.Button()
- openimg = gtk.Image()
- openimg.set_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_BUTTON)
- openimg.show()
- prepare_btn(self.fileopen)
- self.fileopen.set_label('')
- self.fileopen.set_image(openimg)
- self.fileopen.connect('clicked',self.loadfile, None)
- self.fileopen.show()
- self.fovbox = gtk.VBox()
- self.fovbox.show()
- self.fovbox.pack_start(self.fileopen,True,False,0)
- self.fohbox = gtk.HBox()
- self.fohbox.show()
- self.fohbox.pack_start(self.fovbox,True,False,0)
- self.filesave = gtk.Button()
- saveimg = gtk.Image()
- saveimg.set_from_stock(gtk.STOCK_SAVE,gtk.ICON_SIZE_BUTTON)
- saveimg.show()
- prepare_btn(self.filesave)
- self.filesave.set_label('')
- self.filesave.set_image(saveimg)
- self.filesave.connect('clicked',self.savefile, None)
- self.filesave.show()
- self.fsvbox.pack_start(self.filesave,True,False,0)
- self.fohbox.pack_start(self.fsvbox,True,False,0)
- self.soframe.add(self.fohbox)
- self.logobox.pack_start(self.sooframe,True,True,0)
-
- self.mpbox.pack_start(self.logobox,False,False,0)
-
- self.centerframeborder = gtk.EventBox()
- self.centerframeborder.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.centerframeborder.show()
- self.ocenterframe = gtk.EventBox()
- self.ocenterframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.ocenterframe.set_border_width(5)
- self.ocenterframe.show()
- self.centerframeborder.add(self.ocenterframe)
- self.centerframe = gtk.EventBox()
- self.centerframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.centerframe.set_border_width(5)
- self.centerframe.show()
- self.ocenterframe.add(self.centerframe)
- self.hbox = gtk.HBox()
- self.hbox.show()
- self.mainbox.add(self.mpbox)
- self.centerframe.add(self.hbox)
- self.mpbox.pack_start(self.centerframeborder,True,True,0)
+ self.sooframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.sooframe.show()
+ self.soframe = gtk.EventBox()
+ self.soframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.soframe.show()
+ self.soalign = gtk.Alignment(1.0,1.0,1.0,1.0)
+ self.soalign.add(self.soframe)
+ self.soalign.set_padding(5,0,5,5)
+ self.soalign.show()
+ self.sooframe.add(self.soalign)
+ self.fsvbox = gtk.VBox()
+ self.fsvbox.show()
+ self.fileopen = gtk.Button()
+ openimg = gtk.Image()
+ openimg.set_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_BUTTON)
+ openimg.show()
+ prepare_btn(self.fileopen)
+ self.fileopen.set_label('')
+ self.fileopen.set_image(openimg)
+ self.fileopen.connect('clicked',self.loadfile, None)
+ self.fileopen.show()
+ self.fovbox = gtk.VBox()
+ self.fovbox.show()
+ self.fovbox.pack_start(self.fileopen,True,False,0)
+ self.fohbox = gtk.HBox()
+ self.fohbox.show()
+ self.fohbox.pack_start(self.fovbox,True,False,0)
+ self.filesave = gtk.Button()
+ saveimg = gtk.Image()
+ saveimg.set_from_stock(gtk.STOCK_SAVE,gtk.ICON_SIZE_BUTTON)
+ saveimg.show()
+ prepare_btn(self.filesave)
+ self.filesave.set_label('')
+ self.filesave.set_image(saveimg)
+ self.filesave.connect('clicked',self.savefile, None)
+ self.filesave.show()
+ self.fsvbox.pack_start(self.filesave,True,False,0)
+ self.fohbox.pack_start(self.fsvbox,True,False,0)
+ self.soframe.add(self.fohbox)
+ self.logobox.pack_start(self.sooframe,True,True,0)
+
+ self.mpbox.pack_start(self.logobox,False,False,0)
+
+ self.centerframeborder = gtk.EventBox()
+ self.centerframeborder.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.centerframeborder.show()
+ self.ocenterframe = gtk.EventBox()
+ self.ocenterframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.ocenterframe.set_border_width(5)
+ self.ocenterframe.show()
+ self.centerframeborder.add(self.ocenterframe)
+ self.centerframe = gtk.EventBox()
+ self.centerframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ self.centerframe.set_border_width(5)
+ self.centerframe.show()
+ self.ocenterframe.add(self.centerframe)
+ self.hbox = gtk.HBox()
+ self.hbox.show()
+ self.mainbox.add(self.mpbox)
+ self.centerframe.add(self.hbox)
+ self.mpbox.pack_start(self.centerframeborder,True,True,0)
self.tvbox = gtk.VBox()
- self.tvbox.show()
+ self.tvbox.show()
# flow arrows
- flowbox = gtk.HBox()
- flowbox.show()
- yellow_arrow = gtk.Image()
- yellow_arrow.set_from_file(os.path.join(self.iconsdir, 'yellow_arrow.png'))
- yellow_arrow.show()
- flowbox.pack_end(yellow_arrow,True,False,0)
- topspace = gtk.EventBox()
- topspace.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- topspace.show()
- topspace.set_border_width(15)
- self.tvbox.pack_start(topspace,False,False,0)
- self.tvbox.pack_start(flowbox,False,False,0)
+ flowbox = gtk.HBox()
+ flowbox.show()
+ yellow_arrow = gtk.Image()
+ yellow_arrow.set_from_file(os.path.join(self.iconsdir, 'yellow_arrow.png'))
+ yellow_arrow.show()
+ flowbox.pack_end(yellow_arrow,True,False,0)
+ topspace = gtk.EventBox()
+ topspace.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
+ topspace.show()
+ topspace.set_border_width(15)
+ self.tvbox.pack_start(topspace,False,False,0)
+ self.tvbox.pack_start(flowbox,False,False,0)
self.table = gtk.Table(rows=FRAME_COUNT/2, columns=2, homogeneous=False)
- self.imgbuttons = []
- self.images = []
- # POSE CHOOSER BUTTONS
- for i in range(1,11):
- ib = gtk.EventBox()
- #ib = gtk.Button()
- #ib.connect('clicked', self.pickimage, i)
- ib.set_events(gtk.gdk.BUTTON_PRESS_MASK)
- ib.connect('button_press_event', self.pickimage, i)
- ib.set_border_width(1)
- #ib.add(img)
- ib.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
- ib.modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
- ib.show()
- img = gtk.Image()
- img.show()
- #ib.set_label('')
+ self.imgbuttons = []
+ self.images = []
+ # POSE CHOOSER BUTTONS
+ for i in range(1,11):
+ ib = gtk.EventBox()
+ #ib = gtk.Button()
+ #ib.connect('clicked', self.pickimage, i)
+ ib.set_events(gtk.gdk.BUTTON_PRESS_MASK)
+ ib.connect('button_press_event', self.pickimage, i)
+ ib.set_border_width(1)
+ #ib.add(img)
+ ib.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
+ ib.modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
+ ib.show()
+ img = gtk.Image()
+ img.show()
+ #ib.set_label('')
#ib.set_image(img)
- ib.add(img)
- self.imgbuttons.append(ib)
- self.images.append(img)
-
- self.imgupbutton = gtk.Button()
- self.imgupbutton.connect('clicked', self.imgup, None)
- self.imgupbutton.show()
- #upa = gtk.Arrow(gtk.ARROW_UP,gtk.SHADOW_OUT)
- #upa.show()
- upa = gtk.Image()
- upa.set_from_file(os.path.join(self.iconsdir,'big_up_arrow.png'))
- #upapixbuf = gtk.gdk.pixbuf_new_from_file(os.path.join(self.iconsdir,'up_arrow.png'))
- #scaled_upapixbuf = upapixbuf.scale_simple(42,34,gtk.gdk.INTERP_BILINEAR)
- #upa.set_from_pixbuf(scaled_upapixbuf)
- upa.show()
-
- self.imgupbutton.add(upa)
- prepare_btn(self.imgupbutton)
- self.iubhbox = gtk.HBox()
- self.iubhbox.show()
- self.iubhbox.pack_start(self.imgupbutton,True,False,0)
- self.tvbox.pack_start(self.iubhbox,False,False,5)
+ ib.add(img)
+ self.imgbuttons.append(ib)
+ self.images.append(img)
+
+ self.imgupbutton = gtk.Button()
+ self.imgupbutton.connect('clicked', self.imgup, None)
+ self.imgupbutton.show()
+ #upa = gtk.Arrow(gtk.ARROW_UP,gtk.SHADOW_OUT)
+ #upa.show()
+ upa = gtk.Image()
+ upa.set_from_file(os.path.join(self.iconsdir,'big_up_arrow.png'))
+ #upapixbuf = gtk.gdk.pixbuf_new_from_file(os.path.join(self.iconsdir,'up_arrow.png'))
+ #scaled_upapixbuf = upapixbuf.scale_simple(42,34,gtk.gdk.INTERP_BILINEAR)
+ #upa.set_from_pixbuf(scaled_upapixbuf)
+ upa.show()
+
+ self.imgupbutton.add(upa)
+ prepare_btn(self.imgupbutton)
+ self.iubhbox = gtk.HBox()
+ self.iubhbox.show()
+ self.iubhbox.pack_start(self.imgupbutton,True,False,0)
+ self.tvbox.pack_start(self.iubhbox,False,False,5)
for i in range(FRAME_COUNT/2):
self.table.attach(self.imgbuttons[i*2], 0, 1, i, i+1)
self.table.attach(self.imgbuttons[i*2+1], 1, 2, i, i+1)
- self.table.show()
+ self.table.show()
self.tableframeborder = gtk.EventBox()
self.tableframeborder.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.tableframeborder.show()
- self.tableframe = gtk.EventBox()
+ self.tableframeborder.show()
+ self.tableframe = gtk.EventBox()
self.tableframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.tableframe.show()
- self.tableframe.set_border_width(5)
- self.tableframeborder.add(self.tableframe)
- self.tableframe.add(self.table)
+ self.tableframe.show()
+ self.tableframe.set_border_width(5)
+ self.tableframeborder.add(self.tableframe)
+ self.tableframe.add(self.table)
self.tfhbox = gtk.HBox()
- self.tfhbox.show()
- self.tfhbox.pack_start(self.tableframeborder,True,False,20)
- self.tvbox.pack_start(self.tfhbox,False,False,0)
-
- self.imgdownbutton = gtk.Button()
- self.imgdownbutton.connect('clicked', self.imgdown, None)
- self.imgdownbutton.show()
- #downa = gtk.Arrow(gtk.ARROW_DOWN,gtk.SHADOW_OUT)
- #downa.show()
- downa = gtk.Image()
- downa.set_from_file(os.path.join(self.iconsdir,'big_down_arrow.png'))
- downa.show()
- self.imgdownbutton.add(downa)
- prepare_btn(self.imgdownbutton)
- self.idbhbox = gtk.HBox()
- self.idbhbox.show()
- self.idbhbox.pack_start(self.imgdownbutton,True,False,0)
- self.tvbox.pack_start(self.idbhbox,False,False,5)
+ self.tfhbox.show()
+ self.tfhbox.pack_start(self.tableframeborder,True,False,20)
+ self.tvbox.pack_start(self.tfhbox,False,False,0)
+
+ self.imgdownbutton = gtk.Button()
+ self.imgdownbutton.connect('clicked', self.imgdown, None)
+ self.imgdownbutton.show()
+ #downa = gtk.Arrow(gtk.ARROW_DOWN,gtk.SHADOW_OUT)
+ #downa.show()
+ downa = gtk.Image()
+ downa.set_from_file(os.path.join(self.iconsdir,'big_down_arrow.png'))
+ downa.show()
+ self.imgdownbutton.add(downa)
+ prepare_btn(self.imgdownbutton)
+ self.idbhbox = gtk.HBox()
+ self.idbhbox.show()
+ self.idbhbox.pack_start(self.imgdownbutton,True,False,0)
+ self.tvbox.pack_start(self.idbhbox,False,False,5)
self.hbox.pack_start(self.tvbox,False,True,0)
- self.imgdir = self.imgdirs[self.imgdirindex]
- self.loadimages()
-
- self.rightbox = gtk.VBox()
- self.rightbox.show()
-
- # ANIMATION FRAMES / FILMSTRIP
- self.tophbox = gtk.HBox()
- self.tophbox.show()
- # animation frames
- self.animhbox = gtk.HBox()
- self.animhbox.show()
- self.framebuttons = []
- self.frameimgs = []
- self.fgpixbufs = []
- self.fgpixbufpaths = []
- transimgpath = os.path.join(self.iconsdir,TRANSIMG)
- for i in range(TAPE_COUNT):
- #fb = gtk.Button()
- #fb.connect('clicked', self.selectframe, i+1)
- fb = gtk.EventBox()
- fb.set_events(gtk.gdk.BUTTON_PRESS_MASK)
- fb.connect('button_press_event', self.selectframe, i+1)
- fb.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
- fb.modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
- fb.show()
- self.framebuttons.append(fb)
- tpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
- self.fgpixbufs.append(tpixbuf)
- self.fgpixbufpaths.append(transimgpath)
- #fb.set_label('')
- transimg = gtk.Image()
- transimg.set_from_pixbuf(self.gettranspixbuf(IMGWIDTH,IMGHEIGHT))
- transimg.show()
- self.frameimgs.append(transimg)
- #fb.set_image(transimg)
- fb.add(transimg)
- self.animhbox.pack_start(fb,True,True,2)
- #if i != 5:
- # ra = gtk.Arrow(gtk.ARROW_RIGHT,gtk.SHADOW_OUT)
- # ra.show()
- # self.tophbox.pack_start(ra,True,True,0)
+ self.imgdir = self.imgdirs[self.imgdirindex]
+ self.loadimages()
+
+ self.rightbox = gtk.VBox()
+ self.rightbox.show()
+
+ # ANIMATION FRAMES / FILMSTRIP
+ self.tophbox = gtk.HBox()
+ self.tophbox.show()
+ # animation frames
+ self.animhbox = gtk.HBox()
+ self.animhbox.show()
+ self.framebuttons = []
+ self.frameimgs = []
+ self.fgpixbufs = []
+ self.fgpixbufpaths = []
+ transimgpath = os.path.join(self.iconsdir,TRANSIMG)
+ for i in range(TAPE_COUNT):
+ #fb = gtk.Button()
+ #fb.connect('clicked', self.selectframe, i+1)
+ fb = gtk.EventBox()
+ fb.set_events(gtk.gdk.BUTTON_PRESS_MASK)
+ fb.connect('button_press_event', self.selectframe, i+1)
+ fb.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
+ fb.modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(BLACK))
+ fb.show()
+ self.framebuttons.append(fb)
+ tpixbuf = self.gettranspixbuf(BGWIDTH,BGHEIGHT)
+ self.fgpixbufs.append(tpixbuf)
+ self.fgpixbufpaths.append(transimgpath)
+ #fb.set_label('')
+ transimg = gtk.Image()
+ transimg.set_from_pixbuf(self.gettranspixbuf(IMGWIDTH,IMGHEIGHT))
+ transimg.show()
+ self.frameimgs.append(transimg)
+ #fb.set_image(transimg)
+ fb.add(transimg)
+ self.animhbox.pack_start(fb,True,True,2)
+ #if i != 5:
+ # ra = gtk.Arrow(gtk.ARROW_RIGHT,gtk.SHADOW_OUT)
+ # ra.show()
+ # self.tophbox.pack_start(ra,True,True,0)
self.animborder = gtk.EventBox()
self.animborder.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(PINK))
- self.animborder.show()
- self.animframe = gtk.EventBox()
+ self.animborder.show()
+ self.animframe = gtk.EventBox()
self.animframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BACKGROUND))
- self.animframe.set_border_width(5)
- self.animframe.show()
- self.animborder.add(self.animframe)
- self.animfilmstrip = gtk.VBox()
- self.animfilmstrip.show()
+ self.animframe.set_border_width(5)
+ self.animframe.show()
+ self.animborder.add(self.animframe)
+ self.animfilmstrip = gtk.VBox()
+ self.animfilmstrip.show()
filmstrip_pix = gtk.gdk.pixbuf_new_from_file(os.path.join(
self.iconsdir,'filmstrip.png'))
@@ -1183,283 +1183,283 @@ class cartoonbuilder:
(IMGWIDTH + 4) * TAPE_COUNT, filmstrip_pix.get_height(),
gtk.gdk.INTERP_BILINEAR)
- self.filmstriptopimg = gtk.Image()
- self.filmstriptopimg.set_from_pixbuf(filmstrip_pix)
- self.filmstriptopimg.show()
- self.animfilmstrip.pack_start(self.filmstriptopimg,True,True,0)
- self.animfilmstrip.pack_start(self.animhbox,False,False,0)
- self.filmstripbottomimg = gtk.Image()
- self.filmstripbottomimg.set_from_pixbuf(filmstrip_pix)
- self.filmstripbottomimg.show()
- self.animfilmstrip.pack_start(self.filmstripbottomimg,False,False,0)
- self.animframe.add(self.animfilmstrip)
- self.afvbox = gtk.VBox()
- self.afvbox.show()
- self.afvbox.pack_start(self.animborder,False,False,0)
- self.tophbox.pack_start(self.afvbox,False,False,0)
- #self.clrframe = gtk.Button('CLEAR FRAME')
- cancelimg = gtk.Image()
- #cancelimg.set_from_stock(gtk.STOCK_CANCEL,gtk.ICON_SIZE_BUTTON)
- cancelimg.set_from_file(os.path.join(self.iconsdir,'clear.png'))
- cancelimg.show()
- self.clrframe = gtk.Button()
- self.clrframe.set_label('')
- self.clrframe.set_image(cancelimg)
- self.clrframe.connect('clicked', self.clearall, None)
- prepare_btn(self.clrframe)
- self.clrframe.show()
-
- #self.cfbox.pack_start(self.clrframe,True,True,0)
- #self.clrall = gtk.Button('CLEAR ALL')
- #self.clrall.connect('clicked', self.clearall, None)
- #self.clrall.show()
- #self.cfbox.pack_start(self.clrall,True,True,0)
- #self.controlbox.pack_start(self.cfbox,True,True,0)
- self.cfvbox = gtk.VBox()
- self.cfvbox.show()
- self.cfvbox.pack_start(self.clrframe,True,False,0)
- self.tophbox.pack_start(self.cfvbox,False,False,5)
-
- pink_arrow = gtk.Image()
- pink_arrow.set_from_file(os.path.join(self.iconsdir, 'pink_arrow.png'))
- pink_arrow.show()
- self.pahbox = gtk.HBox()
- self.pahbox.show()
- self.pahbox.pack_start(pink_arrow,False,False,150)
- self.topvbox = gtk.VBox()
- self.topvbox.show()
- self.topvbox.pack_start(self.tophbox,False,False,0)
- self.topvbox.pack_start(self.pahbox,False,False,0)
+ self.filmstriptopimg = gtk.Image()
+ self.filmstriptopimg.set_from_pixbuf(filmstrip_pix)
+ self.filmstriptopimg.show()
+ self.animfilmstrip.pack_start(self.filmstriptopimg,True,True,0)
+ self.animfilmstrip.pack_start(self.animhbox,False,False,0)
+ self.filmstripbottomimg = gtk.Image()
+ self.filmstripbottomimg.set_from_pixbuf(filmstrip_pix)
+ self.filmstripbottomimg.show()
+ self.animfilmstrip.pack_start(self.filmstripbottomimg,False,False,0)
+ self.animframe.add(self.animfilmstrip)
+ self.afvbox = gtk.VBox()
+ self.afvbox.show()
+ self.afvbox.pack_start(self.animborder,False,False,0)
+ self.tophbox.pack_start(self.afvbox,False,False,0)
+ #self.clrframe = gtk.Button('CLEAR FRAME')
+ cancelimg = gtk.Image()
+ #cancelimg.set_from_stock(gtk.STOCK_CANCEL,gtk.ICON_SIZE_BUTTON)
+ cancelimg.set_from_file(os.path.join(self.iconsdir,'clear.png'))
+ cancelimg.show()
+ self.clrframe = gtk.Button()
+ self.clrframe.set_label('')
+ self.clrframe.set_image(cancelimg)
+ self.clrframe.connect('clicked', self.clearall, None)
+ prepare_btn(self.clrframe)
+ self.clrframe.show()
+
+ #self.cfbox.pack_start(self.clrframe,True,True,0)
+ #self.clrall = gtk.Button('CLEAR ALL')
+ #self.clrall.connect('clicked', self.clearall, None)
+ #self.clrall.show()
+ #self.cfbox.pack_start(self.clrall,True,True,0)
+ #self.controlbox.pack_start(self.cfbox,True,True,0)
+ self.cfvbox = gtk.VBox()
+ self.cfvbox.show()
+ self.cfvbox.pack_start(self.clrframe,True,False,0)
+ self.tophbox.pack_start(self.cfvbox,False,False,5)
+
+ pink_arrow = gtk.Image()
+ pink_arrow.set_from_file(os.path.join(self.iconsdir, 'pink_arrow.png'))
+ pink_arrow.show()
+ self.pahbox = gtk.HBox()
+ self.pahbox.show()
+ self.pahbox.pack_start(pink_arrow,False,False,150)
+ self.topvbox = gtk.VBox()
+ self.topvbox.show()
+ self.topvbox.pack_start(self.tophbox,False,False,0)
+ self.topvbox.pack_start(self.pahbox,False,False,0)
- self.rightbox.pack_start(self.topvbox,False,False,5)
- self.frame_selected = 0
- self.fbstyle = self.framebuttons[0].get_style()
- self.framebuttons[0].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
- self.framebuttons[0].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(YELLOW))
+ self.rightbox.pack_start(self.topvbox,False,False,5)
+ self.frame_selected = 0
+ self.fbstyle = self.framebuttons[0].get_style()
+ self.framebuttons[0].modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(YELLOW))
+ self.framebuttons[0].modify_bg(gtk.STATE_PRELIGHT,gtk.gdk.color_parse(YELLOW))
- self.bottomhbox = gtk.HBox()
- self.bottomhbox.show()
+ self.bottomhbox = gtk.HBox()
+ self.bottomhbox.show()
self.centervbox = gtk.VBox()
- self.centervbox.show()
+ self.centervbox.show()
# MAIN IMAGE
- self.mfdraw = FrameWidget(None,self.fgpixbuf)
- self.mfdraw.set_size_request(BGWIDTH,BGHEIGHT)
- self.mfdraw.show()
- self.mfdrawborder = gtk.EventBox()
+ self.mfdraw = FrameWidget(None,self.fgpixbuf)
+ self.mfdraw.set_size_request(BGWIDTH,BGHEIGHT)
+ self.mfdraw.show()
+ self.mfdrawborder = gtk.EventBox()
self.mfdrawborder.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(PINK))
- self.mfdrawborder.show()
- self.mfdrawbox = gtk.EventBox()
- self.mfdrawbox.set_border_width(5)
- self.mfdrawbox.show()
- self.mfdrawbox.add(self.mfdraw)
- self.mfdrawborder.add(self.mfdrawbox)
- self.centervbox.pack_start(self.mfdrawborder,True,False,0)
+ self.mfdrawborder.show()
+ self.mfdrawbox = gtk.EventBox()
+ self.mfdrawbox.set_border_width(5)
+ self.mfdrawbox.show()
+ self.mfdrawbox.add(self.mfdraw)
+ self.mfdrawborder.add(self.mfdrawbox)
+ self.centervbox.pack_start(self.mfdrawborder,True,False,0)
self.bcontrolbox = gtk.HBox()
- self.bcontrolbox.set_border_width(5)
- self.bcontrolbox.show()
- # GO BUTTON
- playimg = gtk.Image()
- #playimg.set_from_stock(gtk.STOCK_MEDIA_PLAY,gtk.ICON_SIZE_BUTTON)
- playimg.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
- playimg.show()
- self.gobutton = gtk.Button()
- self.gobutton.set_label('')
- self.gobutton.set_image(playimg)
- self.gobutton.connect('clicked', self.go, None)
- prepare_btn(self.gobutton)
- self.gobutton.show()
- self.bcontrolbox.pack_start(self.gobutton,True,True,5)
+ self.bcontrolbox.set_border_width(5)
+ self.bcontrolbox.show()
+ # GO BUTTON
+ playimg = gtk.Image()
+ #playimg.set_from_stock(gtk.STOCK_MEDIA_PLAY,gtk.ICON_SIZE_BUTTON)
+ playimg.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
+ playimg.show()
+ self.gobutton = gtk.Button()
+ self.gobutton.set_label('')
+ self.gobutton.set_image(playimg)
+ self.gobutton.connect('clicked', self.go, None)
+ prepare_btn(self.gobutton)
+ self.gobutton.show()
+ self.bcontrolbox.pack_start(self.gobutton,True,True,5)
- # SPEED CONTROLS
- self.sbox = gtk.VBox()
- self.sbox.show()
- adj = gtk.Adjustment(2.5,1,5,.5,1)
- adj.connect('value_changed',self.setplayspeed)
- self.playspeed = gtk.HScale(adj)
- self.playspeed.set_draw_value(False)
+ # SPEED CONTROLS
+ self.sbox = gtk.VBox()
+ self.sbox.show()
+ adj = gtk.Adjustment(2.5,1,5,.5,1)
+ adj.connect('value_changed',self.setplayspeed)
+ self.playspeed = gtk.HScale(adj)
+ self.playspeed.set_draw_value(False)
for state, color in COLOR_BG_BUTTONS:
self.playspeed.modify_bg(state, gtk.gdk.color_parse(color))
- self.playspeed.show()
- self.sbox.pack_start(self.playspeed,True,True,0)
- #self.pslabel = gtk.Label('Speed')
- #self.pslabel.show()
- #self.sbox.pack_start(self.pslabel,True,True,0)
- self.bcontrolbox.pack_start(self.sbox,True,True,5)
- self.centervbox.pack_start(self.bcontrolbox,False,False,0)
- self.bottomhbox.pack_start(self.centervbox,True,False,0)
-
+ self.playspeed.show()
+ self.sbox.pack_start(self.playspeed,True,True,0)
+ #self.pslabel = gtk.Label('Speed')
+ #self.pslabel.show()
+ #self.sbox.pack_start(self.pslabel,True,True,0)
+ self.bcontrolbox.pack_start(self.sbox,True,True,5)
+ self.centervbox.pack_start(self.bcontrolbox,False,False,0)
+ self.bottomhbox.pack_start(self.centervbox,True,False,0)
+
self.controlbox = gtk.VBox()
- self.controlbox.show()
-
+ self.controlbox.show()
+
# CHARACTER CONTROLS
self.ccbox = gtk.VBox()
- self.ccbox.show()
- self.cchbox = gtk.HBox()
- self.cchbox.show()
- self.cclbutton = gtk.Button()
- self.cclbutton.connect('clicked',self.lastcharacter,None)
- self.cclbutton.show()
- ccla = gtk.Image()
- ccla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
- ccla.show()
- prepare_btn(self.cclbutton)
- self.cclbutton.add(ccla)
- self.cclbvbox = gtk.VBox()
- self.cclbvbox.show()
- self.cclbvbox.pack_start(self.cclbutton,True,False,0)
- self.cchbox.pack_start(self.cclbvbox,True,True,5)
- self.ccibutton = gtk.Button()
- self.ccibutton.show()
- self.ccismall = gtk.Image()
- self.ccismall.show()
- self.cciebox = gtk.EventBox()
- self.cciebox.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
- self.cciebox.show()
- self.cciebox.add(self.ccismall)
- self.ccibvbox = gtk.VBox()
- self.ccibvbox.show()
- self.ccibvbox.pack_start(self.cciebox,True,False,0)
- self.cchbox.pack_start(self.ccibvbox,False,False,0)
- self.ccrbutton = gtk.Button()
- self.ccrbutton.connect('clicked',self.nextcharacter,None)
- self.ccrbutton.show()
- ccra = gtk.Image()
- ccra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
- ccra.show()
- self.ccrbutton.add(ccra)
- prepare_btn(self.ccrbutton)
- self.ccrbvbox = gtk.VBox()
- self.ccrbvbox.show()
- self.ccrbvbox.pack_start(self.ccrbutton,True,False,0)
- self.cchbox.pack_start(self.ccrbvbox,True,True,5)
- self.ccbox.pack_start(self.cchbox,True,True,0)
- self.charlabel = gtk.Label('')
- self.charlabel.show()
- self.charlabelhbox = gtk.HBox()
- self.charlabelhbox.show()
- self.charlabelhbox.pack_start(self.charlabel,True,False,0)
- self.ccbox.pack_start(self.charlabelhbox,False,False,0)
- if not self.insugar:
- self.character = gtk.Button('My Character')
- self.character.connect('clicked',self.getimgdir,None)
- prepare_btn(self.character)
- self.character.show()
- self.characterhbox = gtk.HBox()
- self.characterhbox.show()
- self.characterhbox.pack_start(self.character,True,False,0)
- self.ccbox.pack_start(self.characterhbox,False,False,5)
- self.setcharacter()
-
-
- self.controlbox.pack_start(self.ccbox,False,False,5)
-
- # BACKGROUND CONTROLS
- self.bgbox = gtk.VBox()
- self.bgbox.show()
- self.bghbox = gtk.HBox()
- self.bghbox.show()
- self.blbutton = gtk.Button()
- self.blbutton.connect('clicked',self.lastback,None)
- self.blbutton.show()
- bla = gtk.Image()
- bla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
- bla.show()
- self.blbutton.add(bla)
- prepare_btn(self.blbutton)
- self.blbvbox = gtk.VBox()
- self.blbvbox.show()
- self.blbvbox.pack_start(self.blbutton,True,False,0)
- self.bghbox.pack_start(self.blbvbox,True,True,5)
- self.bgsmall = gtk.Image()
- bgimgpath = os.path.join(self.mdirpath,'backpics/bigbg01.gif')
- self.setback(bgimgpath)
- self.bgsmall.show()
- self.bghbox.pack_start(self.bgsmall,False,False,0)
- self.brbutton = gtk.Button()
- self.brbutton.connect('clicked',self.nextback,None)
- self.brbutton.show()
- bra = gtk.Image()
- bra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
- bra.show()
- self.brbutton.add(bra)
- prepare_btn(self.brbutton)
- self.brbvbox = gtk.VBox()
- self.brbvbox.show()
- self.brbvbox.pack_start(self.brbutton,True,False,0)
- self.bghbox.pack_start(self.brbvbox,True,True,5)
- self.bgbox.pack_start(self.bghbox,True,True,0)
- if not self.insugar:
- self.bgbutton = gtk.Button('My Background')
- self.bgbutton.connect('clicked',self.getbackgroundfile,None)
- prepare_btn(self.bgbutton)
- self.bgbutton.show()
- self.bgbuttonhbox = gtk.HBox()
- self.bgbuttonhbox.show()
- self.bgbuttonhbox.pack_start(self.bgbutton,True,False,0)
- self.bgbox.pack_start(self.bgbuttonhbox,False,False,5)
- self.controlbox.pack_start(self.bgbox,False,False,5)
+ self.ccbox.show()
+ self.cchbox = gtk.HBox()
+ self.cchbox.show()
+ self.cclbutton = gtk.Button()
+ self.cclbutton.connect('clicked',self.lastcharacter,None)
+ self.cclbutton.show()
+ ccla = gtk.Image()
+ ccla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
+ ccla.show()
+ prepare_btn(self.cclbutton)
+ self.cclbutton.add(ccla)
+ self.cclbvbox = gtk.VBox()
+ self.cclbvbox.show()
+ self.cclbvbox.pack_start(self.cclbutton,True,False,0)
+ self.cchbox.pack_start(self.cclbvbox,True,True,5)
+ self.ccibutton = gtk.Button()
+ self.ccibutton.show()
+ self.ccismall = gtk.Image()
+ self.ccismall.show()
+ self.cciebox = gtk.EventBox()
+ self.cciebox.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BLACK))
+ self.cciebox.show()
+ self.cciebox.add(self.ccismall)
+ self.ccibvbox = gtk.VBox()
+ self.ccibvbox.show()
+ self.ccibvbox.pack_start(self.cciebox,True,False,0)
+ self.cchbox.pack_start(self.ccibvbox,False,False,0)
+ self.ccrbutton = gtk.Button()
+ self.ccrbutton.connect('clicked',self.nextcharacter,None)
+ self.ccrbutton.show()
+ ccra = gtk.Image()
+ ccra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
+ ccra.show()
+ self.ccrbutton.add(ccra)
+ prepare_btn(self.ccrbutton)
+ self.ccrbvbox = gtk.VBox()
+ self.ccrbvbox.show()
+ self.ccrbvbox.pack_start(self.ccrbutton,True,False,0)
+ self.cchbox.pack_start(self.ccrbvbox,True,True,5)
+ self.ccbox.pack_start(self.cchbox,True,True,0)
+ self.charlabel = gtk.Label('')
+ self.charlabel.show()
+ self.charlabelhbox = gtk.HBox()
+ self.charlabelhbox.show()
+ self.charlabelhbox.pack_start(self.charlabel,True,False,0)
+ self.ccbox.pack_start(self.charlabelhbox,False,False,0)
+ if not self.insugar:
+ self.character = gtk.Button('My Character')
+ self.character.connect('clicked',self.getimgdir,None)
+ prepare_btn(self.character)
+ self.character.show()
+ self.characterhbox = gtk.HBox()
+ self.characterhbox.show()
+ self.characterhbox.pack_start(self.character,True,False,0)
+ self.ccbox.pack_start(self.characterhbox,False,False,5)
+ self.setcharacter()
+
+
+ self.controlbox.pack_start(self.ccbox,False,False,5)
+
+ # BACKGROUND CONTROLS
+ self.bgbox = gtk.VBox()
+ self.bgbox.show()
+ self.bghbox = gtk.HBox()
+ self.bghbox.show()
+ self.blbutton = gtk.Button()
+ self.blbutton.connect('clicked',self.lastback,None)
+ self.blbutton.show()
+ bla = gtk.Image()
+ bla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
+ bla.show()
+ self.blbutton.add(bla)
+ prepare_btn(self.blbutton)
+ self.blbvbox = gtk.VBox()
+ self.blbvbox.show()
+ self.blbvbox.pack_start(self.blbutton,True,False,0)
+ self.bghbox.pack_start(self.blbvbox,True,True,5)
+ self.bgsmall = gtk.Image()
+ bgimgpath = os.path.join(self.mdirpath,'backpics/bigbg01.gif')
+ self.setback(bgimgpath)
+ self.bgsmall.show()
+ self.bghbox.pack_start(self.bgsmall,False,False,0)
+ self.brbutton = gtk.Button()
+ self.brbutton.connect('clicked',self.nextback,None)
+ self.brbutton.show()
+ bra = gtk.Image()
+ bra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
+ bra.show()
+ self.brbutton.add(bra)
+ prepare_btn(self.brbutton)
+ self.brbvbox = gtk.VBox()
+ self.brbvbox.show()
+ self.brbvbox.pack_start(self.brbutton,True,False,0)
+ self.bghbox.pack_start(self.brbvbox,True,True,5)
+ self.bgbox.pack_start(self.bghbox,True,True,0)
+ if not self.insugar:
+ self.bgbutton = gtk.Button('My Background')
+ self.bgbutton.connect('clicked',self.getbackgroundfile,None)
+ prepare_btn(self.bgbutton)
+ self.bgbutton.show()
+ self.bgbuttonhbox = gtk.HBox()
+ self.bgbuttonhbox.show()
+ self.bgbuttonhbox.pack_start(self.bgbutton,True,False,0)
+ self.bgbox.pack_start(self.bgbuttonhbox,False,False,5)
+ self.controlbox.pack_start(self.bgbox,False,False,5)
- # SOUND CONTROLS
- self.soundbox = gtk.VBox()
- self.soundbox.show()
- self.soundhbox = gtk.HBox()
- self.soundhbox.show()
- self.slbutton = gtk.Button()
- self.slbutton.connect('clicked',self.lastsound,None)
- self.slbutton.show()
- sla = gtk.Image()
- sla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
- sla.show()
- self.slbutton.add(sla)
- prepare_btn(self.slbutton)
- self.slbvbox = gtk.VBox()
- self.slbvbox.show()
- self.slbvbox.pack_start(self.slbutton,True,False,0)
- self.soundhbox.pack_start(self.slbvbox,True,True,5)
- self.soundimg = gtk.Image()
- #self.soundimg.set_from_file(os.path.join(self.iconsdir,'sound_icon.png'))
- soundimgpath = os.path.join(self.iconsdir,'sound_icon.png')
- sipixbuf = gtk.gdk.pixbuf_new_from_file(soundimgpath)
- si_scaled_buf = sipixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
- self.soundimg.set_from_pixbuf(si_scaled_buf)
- self.soundimg.show()
- self.soundhbox.pack_start(self.soundimg,False,False,0)
- self.srbutton = gtk.Button()
- self.srbutton.connect('clicked',self.nextsound,None)
- self.srbutton.show()
- sra = gtk.Image()
- sra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
- sra.show()
- self.srbutton.add(sra)
- prepare_btn(self.srbutton)
- self.srbvbox = gtk.VBox()
- self.srbvbox.show()
- self.srbvbox.pack_start(self.srbutton,True,False,0)
- self.soundhbox.pack_start(self.srbvbox,True,True,5)
- self.soundbox.pack_start(self.soundhbox,True,True,0)
+ # SOUND CONTROLS
+ self.soundbox = gtk.VBox()
+ self.soundbox.show()
+ self.soundhbox = gtk.HBox()
+ self.soundhbox.show()
+ self.slbutton = gtk.Button()
+ self.slbutton.connect('clicked',self.lastsound,None)
+ self.slbutton.show()
+ sla = gtk.Image()
+ sla.set_from_file(os.path.join(self.iconsdir,'big_left_arrow.png'))
+ sla.show()
+ self.slbutton.add(sla)
+ prepare_btn(self.slbutton)
+ self.slbvbox = gtk.VBox()
+ self.slbvbox.show()
+ self.slbvbox.pack_start(self.slbutton,True,False,0)
+ self.soundhbox.pack_start(self.slbvbox,True,True,5)
+ self.soundimg = gtk.Image()
+ #self.soundimg.set_from_file(os.path.join(self.iconsdir,'sound_icon.png'))
+ soundimgpath = os.path.join(self.iconsdir,'sound_icon.png')
+ sipixbuf = gtk.gdk.pixbuf_new_from_file(soundimgpath)
+ si_scaled_buf = sipixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.soundimg.set_from_pixbuf(si_scaled_buf)
+ self.soundimg.show()
+ self.soundhbox.pack_start(self.soundimg,False,False,0)
+ self.srbutton = gtk.Button()
+ self.srbutton.connect('clicked',self.nextsound,None)
+ self.srbutton.show()
+ sra = gtk.Image()
+ sra.set_from_file(os.path.join(self.iconsdir,'big_right_arrow.png'))
+ sra.show()
+ self.srbutton.add(sra)
+ prepare_btn(self.srbutton)
+ self.srbvbox = gtk.VBox()
+ self.srbvbox.show()
+ self.srbvbox.pack_start(self.srbutton,True,False,0)
+ self.soundhbox.pack_start(self.srbvbox,True,True,5)
+ self.soundbox.pack_start(self.soundhbox,True,True,0)
self.soundlabel = gtk.Label('No Sound')
- self.soundlabel.show()
- self.soundlabelhbox = gtk.HBox()
- self.soundlabelhbox.show()
- self.soundlabelhbox.pack_start(self.soundlabel,True,False,0)
- self.soundbox.pack_start(self.soundlabelhbox,False,False,0)
- if not self.insugar:
- self.soundbutton = gtk.Button('My Sound')
- self.soundbutton.connect('clicked',self.getsoundfile,None)
- prepare_btn(self.soundbutton)
- self.soundbutton.show()
- self.soundbuttonhbox = gtk.HBox()
- self.soundbuttonhbox.show()
- self.soundbuttonhbox.pack_start(self.soundbutton,True,False,0)
- self.soundbox.pack_start(self.soundbuttonhbox,False,False,5)
- self.controlbox.pack_start(self.soundbox,False,False,5)
+ self.soundlabel.show()
+ self.soundlabelhbox = gtk.HBox()
+ self.soundlabelhbox.show()
+ self.soundlabelhbox.pack_start(self.soundlabel,True,False,0)
+ self.soundbox.pack_start(self.soundlabelhbox,False,False,0)
+ if not self.insugar:
+ self.soundbutton = gtk.Button('My Sound')
+ self.soundbutton.connect('clicked',self.getsoundfile,None)
+ prepare_btn(self.soundbutton)
+ self.soundbutton.show()
+ self.soundbuttonhbox = gtk.HBox()
+ self.soundbuttonhbox.show()
+ self.soundbuttonhbox.pack_start(self.soundbutton,True,False,0)
+ self.soundbox.pack_start(self.soundbuttonhbox,False,False,5)
+ self.controlbox.pack_start(self.soundbox,False,False,5)
- # FINISHING DETAILS
- self.bottomhbox.pack_start(self.controlbox,False,False,10)
- self.rightbox.pack_start(self.bottomhbox,True,True,10)
- self.hbox.pack_start(self.rightbox,True,True,0)
+ # FINISHING DETAILS
+ self.bottomhbox.pack_start(self.controlbox,False,False,10)
+ self.rightbox.pack_start(self.bottomhbox,True,True,10)
+ self.hbox.pack_start(self.rightbox,True,True,0)
def main(self):
gtk.main()
@@ -1478,56 +1478,56 @@ try:
class BGToolbar(gtk.Toolbar):
def __init__(self,sactivity,app):
- gtk.Toolbar.__init__(self)
- self.sactivity = sactivity
- self.app = app
- self.image = ToolButton('insert-image')
- self.image.set_tooltip('Insert Image')
- self.imageid = self.image.connect('clicked',self.image_cb)
- self.insert(self.image,-1)
- self.image.show()
+ gtk.Toolbar.__init__(self)
+ self.sactivity = sactivity
+ self.app = app
+ self.image = ToolButton('insert-image')
+ self.image.set_tooltip('Insert Image')
+ self.imageid = self.image.connect('clicked',self.image_cb)
+ self.insert(self.image,-1)
+ self.image.show()
def image_cb(self, button):
- chooser = ObjectChooser('Choose Image',self.sactivity,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
- try:
- result = chooser.run()
- if result == gtk.RESPONSE_ACCEPT:
- jobject = chooser.get_selected_object()
- if jobject and jobject.file_path:
- self.app.setback(jobject.file_path)
- finally:
- chooser.destroy()
- del chooser
+ chooser = ObjectChooser('Choose Image',self.sactivity,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
+ try:
+ result = chooser.run()
+ if result == gtk.RESPONSE_ACCEPT:
+ jobject = chooser.get_selected_object()
+ if jobject and jobject.file_path:
+ self.app.setback(jobject.file_path)
+ finally:
+ chooser.destroy()
+ del chooser
class cartoonbuilderActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self,handle)
self.connect("destroy",self.destroy_cb)
#app = cartoonbuilder(self,'/home/olpc/Activities/CartoonBuilder.activity')
- bundle_path = activity.get_bundle_path()
- os.chdir(bundle_path)
- self.app = cartoonbuilder(True,self, bundle_path)
- self.set_title('CartoonBuilder')
- toolbox = activity.ActivityToolbox(self)
- bgtoolbar = BGToolbar(self,self.app)
- toolbox.add_toolbar(_('Background'),bgtoolbar)
- bgtoolbar.show()
- self.set_toolbox(toolbox)
- toolbox.show()
+ bundle_path = activity.get_bundle_path()
+ os.chdir(bundle_path)
+ self.app = cartoonbuilder(True,self, bundle_path)
+ self.set_title('CartoonBuilder')
+ toolbox = activity.ActivityToolbox(self)
+ bgtoolbar = BGToolbar(self,self.app)
+ toolbox.add_toolbar(_('Background'),bgtoolbar)
+ bgtoolbar.show()
+ self.set_toolbox(toolbox)
+ toolbox.show()
if hasattr(self, '_jobject'):
self._jobject.metadata['title'] = 'CartoonBuilder'
title_widget = toolbox._activity_toolbar.title
title_widget.set_size_request(title_widget.get_layout().get_pixel_size()[0] + 20, -1)
outerframe = gtk.EventBox()
- outerframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BUTTON_BACKGROUND))
+ outerframe.modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse(BUTTON_BACKGROUND))
outerframe.show()
innerframe = gtk.EventBox()
innerframe.show()
ifalign = gtk.Alignment(1.0,1.0,1.0,1.0)
- ifalign.add(innerframe)
- ifalign.set_padding(10,10,30,30) # top,bottom,left,right
- ifalign.show()
+ ifalign.add(innerframe)
+ ifalign.set_padding(10,10,30,30) # top,bottom,left,right
+ ifalign.show()
#innerframe.set_border_width(150)
outerframe.add(ifalign)
innerframe.add(self.app.main)
@@ -1543,12 +1543,12 @@ try:
self.tp_conn_path = path
self.conn = telepathy.client.Connection(name, path)
except TypeError:
- pass
+ pass
self.initiating = None
- #sharing stuff
- self.game = None
- self.connect('shared', self._shared_cb)
+ #sharing stuff
+ self.game = None
+ self.connect('shared', self._shared_cb)
if self._shared_activity:
# we are joining the activity
self.connect('joined', self._joined_cb)
@@ -1557,28 +1557,28 @@ try:
self._joined_cb()
else:
# we are creating the activity
- pass
+ pass
def destroy_cb(self, data=None):
return True
- def read_file(self, filepath):
- zf = file(filepath,'r')
- self.app.loadfromzip(zf)
+ def read_file(self, filepath):
+ zf = file(filepath,'r')
+ self.app.loadfromzip(zf)
- def write_file(self, filepath):
- zf = file(filepath,'w')
- self.app.savetozip(zf)
+ def write_file(self, filepath):
+ zf = file(filepath,'w')
+ self.app.savetozip(zf)
- def _shared_cb(self,activity):
- self.initiating = True
- self._setup()
+ def _shared_cb(self,activity):
+ self.initiating = True
+ self._setup()
id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube(
SERVICE, {})
- #self.app.export.set_label('Shared Me')
+ #self.app.export.set_label('Shared Me')
- def _joined_cb(self,activity):
+ def _joined_cb(self,activity):
if self.game is not None:
return
@@ -1589,7 +1589,7 @@ try:
# self.buddies_panel.add_watcher(buddy)
#logger.debug('Joined an existing Connect game')
- #self.app.export.set_label('Joined You')
+ #self.app.export.set_label('Joined You')
self.initiating = False
self._setup()
@@ -1598,7 +1598,7 @@ try:
reply_handler=self._list_tubes_reply_cb,
error_handler=self._list_tubes_error_cb)
- def _setup(self):
+ def _setup(self):
if self._shared_activity is None:
return
@@ -1648,7 +1648,7 @@ try:
def _list_tubes_error_cb(self, e):
#logger.error('ListTubes() failed: %s', e)
- pass
+ pass
def _new_tube_cb(self, id, initiator, type, service, params, state):
#logger.debug('New tube: ID=%d initator=%d type=%d service=%s '
@@ -1667,41 +1667,41 @@ try:
class ConnectGame(ExportedGObject):
def __init__(self,tube, is_initiator, activity):
- super(ConnectGame,self).__init__(tube,PATH)
- self.tube = tube
- self.is_initiator = is_initiator
- self.entered = False
- self.activity = activity
-
- self.ordered_bus_names=[]
- self.tube.watch_participants(self.participant_change_cb)
-
- def participant_change_cb(self, added, removed):
- if not self.entered:
- if self.is_initiator:
- self.add_hello_handler()
- else:
- self.Hello()
- self.entered = True
-
- @signal(dbus_interface=IFACE,signature='')
+ super(ConnectGame,self).__init__(tube,PATH)
+ self.tube = tube
+ self.is_initiator = is_initiator
+ self.entered = False
+ self.activity = activity
+
+ self.ordered_bus_names=[]
+ self.tube.watch_participants(self.participant_change_cb)
+
+ def participant_change_cb(self, added, removed):
+ if not self.entered:
+ if self.is_initiator:
+ self.add_hello_handler()
+ else:
+ self.Hello()
+ self.entered = True
+
+ @signal(dbus_interface=IFACE,signature='')
def Hello(self):
- """Request that this player's Welcome method is called to bring it
- up to date with the game state.
- """
+ """Request that this player's Welcome method is called to bring it
+ up to date with the game state.
+ """
- @method(dbus_interface=IFACE, in_signature='s', out_signature='')
- def Welcome(self, sdata):
- #sdata is the zip file contents
- #self.activity.app.lessonplans.set_label('got data to restore')
- self.activity.app.restore(str(sdata))
+ @method(dbus_interface=IFACE, in_signature='s', out_signature='')
+ def Welcome(self, sdata):
+ #sdata is the zip file contents
+ #self.activity.app.lessonplans.set_label('got data to restore')
+ self.activity.app.restore(str(sdata))
- def add_hello_handler(self):
- self.tube.add_signal_receiver(self.hello_cb, 'Hello', IFACE,
- path=PATH, sender_keyword='sender')
+ def add_hello_handler(self):
+ self.tube.add_signal_receiver(self.hello_cb, 'Hello', IFACE,
+ path=PATH, sender_keyword='sender')
def hello_cb(self, sender=None):
- self.tube.get_object(sender, PATH).Welcome(self.activity.app.getsdata(),dbus_interface=IFACE)
+ self.tube.get_object(sender, PATH).Welcome(self.activity.app.getsdata(),dbus_interface=IFACE)
except ImportError:
pass