1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
#!/usr/bin/env python
import pygtk
pygtk.require( '2.0' )
import gtk
import os, signal,math
import Config
from Util.ThemeWidgets import *
from sugar.graphics.toggletoolbutton import ToggleToolButton
from Util.CSoundClient import new_csound_client
from Util import ControlStream
from Util import NoteDB
from Util.NoteDB import Note
from SubActivity import SubActivity
from gettext import gettext as _
class Welcome(SubActivity):
def __init__(self, activity, set_mode):
SubActivity.__init__(self, set_mode)
self.csnd = new_csound_client()
self.noteDB = NoteDB.NoteDB()
first = self.noteDB.addPage( -1, NoteDB.Page(4) )
self.tooltips = gtk.Tooltips()
self.activity = activity
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("toggled", self.handleHelp)
actVBox = RoundVBox(fillcolor = Config.WS_BCK_COLOR, bordercolor = Config.WS_BCK_COLOR, radius = Config.PANEL_RADIUS)
actHBox = gtk.HBox()
for activity in ['mini','edit','synth']:
actBtnBox = RoundVBox(fillcolor = Config.WS_PANEL_COLOR, bordercolor = Config.WS_BCK_COLOR, radius = Config.PANEL_RADIUS)
actBtnBox.set_size_request(200,200)
actBtnBox.set_border_width(Config.PANEL_SPACING)
actBtn = ImageButton(Config.IMAGE_ROOT + activity +'Tam.png' , Config.IMAGE_ROOT + activity +'TamDown.png', Config.IMAGE_ROOT + activity +'TamOver.png' )
actBtn.connect('clicked', self.onActivityBtnClicked, activity)
actBtnBox.pack_start(actBtn,True,False,0)
actHBox.pack_start(actBtnBox,True,False,0)
if activity == 'mini':
self.tooltips.set_tip(actBtn,'TamTam Jam')
elif activity == 'edit':
self.tooltips.set_tip(actBtn,'TamTam Edit')
elif activity == 'synth':
self.tooltips.set_tip(actBtn,'TamTam SynthLab')
title = gtk.Image()
title.set_from_file(Config.IMAGE_ROOT + 'TamTam.png')
actVBox.pack_start(actHBox,False,False, 200)
actVBox.pack_start(title,False,False)
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 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
self.set_mode(data)
def onActivate(self, arg):
self.show_all()
self.helpButton.show()
def onDeactivate(self):
self.helpButton.hide()
|