diff options
author | amartin <olpc@xo-05-28-21.localdomain> | 2007-07-21 06:06:44 (GMT) |
---|---|---|
committer | amartin <olpc@xo-05-28-21.localdomain> | 2007-07-21 06:06:44 (GMT) |
commit | dab25db611bb999942c5717f93f1e8f644b476af (patch) | |
tree | 8a2c6249880d2d6d5e7ae47f7524120c6050e059 /Welcome.py | |
parent | 8cbd8839d755e77efc61835a504bcdb1c63bdaee (diff) |
help
Diffstat (limited to 'Welcome.py')
-rw-r--r-- | Welcome.py | 81 |
1 files changed, 41 insertions, 40 deletions
@@ -7,7 +7,7 @@ import os, signal,math import Config from Util.ThemeWidgets import * -from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toggletoolbutton import ToggleToolButton from Util.CSoundClient import new_csound_client from Util import ControlStream @@ -26,11 +26,11 @@ class Welcome(SubActivity): self.tooltips = gtk.Tooltips() self.activity = activity - self.activity.activity_toolbar.helpButton = ToolButton('tam-help') + self.helpButton = self.activity.activity_toolbar.helpButton = ToggleToolButton('tam-help') self.activity.activity_toolbar.insert(self.activity.activity_toolbar.helpButton,2) self.activity.activity_toolbar.helpButton.show() self.activity.activity_toolbar.helpButton.set_tooltip(_('Help')) - self.activity.activity_toolbar.helpButton.connect("clicked", self.handleHelp, None) + self.activity.activity_toolbar.helpButton.connect("toggled", self.handleHelp) actVBox = RoundVBox(fillcolor = Config.WS_BCK_COLOR, bordercolor = Config.WS_BCK_COLOR, radius = Config.PANEL_RADIUS) @@ -73,6 +73,15 @@ class Welcome(SubActivity): actVBox.pack_start(title,False,False) #actVBox.pack_start(buttonBox, False, False, 100) self.add(actVBox) + + self.helpWindow = gtk.Window(gtk.WINDOW_POPUP) + self.helpWindow.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#FFF")) + self.helpWindow.move( 0, 75 ) + self.helpWindow.resize( 1200, 825 ) + self.helpWindow.set_modal(True) + self.helpWindow.add_events( gtk.gdk.BUTTON_PRESS_MASK ) + self.helpWindow.connect("button-release-event", lambda w,e: self.helpButton.set_active(False)) + self.show_all() def handleLoad(self, widget, data=None): @@ -146,43 +155,35 @@ class Welcome(SubActivity): self.csnd.loopSetTick( 0 ) self.csnd.loopStart() - def handleHelp(self, widget, data ): - self.helpWindow = gtk.Window(gtk.WINDOW_POPUP) - self.helpWindow.move( 100, 75 ) - self.helpWindow.resize( 1000, 800 ) - self.helpWindow.set_modal(True) - self.helpWindow.add_events( gtk.gdk.BUTTON_PRESS_MASK ) - self.helpWindow.connect("button-release-event", lambda - w,e:self.helpWindow.hide() ) - - helpImg = gtk.Image() - - self.imglist = [ i for i in os.listdir(Config.IMAGE_ROOT) - if i[0:8] == 'helpShow'] - self.imglist.sort() - self.imgpos = 0 - def next(e,w,self): - imglist = self.imglist - imgpos = self.imgpos - self.imgpos = ( imgpos + 1 ) % len(imglist) - print 'loading file %s' % Config.IMAGE_ROOT + imglist[self.imgpos] - helpImg.set_from_file( Config.IMAGE_ROOT + imglist[self.imgpos]) - return True - def prev(e,w,self): - imglist = self.imglist - imgpos = self.imgpos - self.imgpos = ( imgpos - 1 + len(imglist)) % len(imglist) - helpImg.set_from_file( Config.IMAGE_ROOT + imglist[self.imgpos]) - return True - helpImg.set_from_file(Config.IMAGE_ROOT + self.imglist[self.imgpos]) - - hbox = gtk.HBox() - jj = gtk.EventBox() - jj.add(helpImg) - jj.connect("button-release-event", next, self) - hbox.pack_start( jj ) - self.helpWindow.add( hbox ) - self.helpWindow.show_all() + def handleHelp(self, widget): + if widget.get_active(): + helpImg = gtk.Image() + + self.imglist = [ i for i in os.listdir(Config.IMAGE_ROOT) + if i[0:8] == 'helpShow'] + self.imglist.sort() + self.imgpos = 0 + def release(w,e,self): + imglist = self.imglist + imgpos = self.imgpos + if e.button == 1: + self.imgpos = ( imgpos + 1 ) % len(imglist) + else: + self.imgpos = ( imgpos - 1 + len(imglist)) % len(imglist) + helpImg.set_from_file( Config.IMAGE_ROOT + imglist[self.imgpos]) + return True + helpImg.set_from_file(Config.IMAGE_ROOT + self.imglist[self.imgpos]) + + hbox = gtk.HBox() + jj = gtk.EventBox() + jj.add(helpImg) + jj.connect("button-release-event", release, self) + hbox.pack_start( jj, True, False ) + self.helpWindow.add( hbox ) + self.helpWindow.show_all() + else: + self.helpWindow.hide() + self.helpWindow.remove( self.helpWindow.get_children()[0] ) def onActivityBtnClicked(self, widget, data): widget.event( gtk.gdk.Event( gtk.gdk.LEAVE_NOTIFY ) ) # fake the leave event |