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 this class is for displaying all active keys.
28
29 '?' --> on/off.
30 """
31
32 from libavg import avg
33
34 g_player = avg.Player.get()
35
37
39 self.__appstarter = appStarter
40 self.__stackOfBackups = []
41 self.__stackKeyDown = []
42 self.__stackKeyUp = []
43 self.__stackUnicodeDown = []
44 self.__stackUnicodeUp = []
45
46 self.__rectNode = g_player.createNode("""
47 <div id="RectNode" opacity="0" sensitive="False" x="5" y="10" size="(450,450)">
48 <rect id="rectWhite" strokewidth="0" fillopacity="0.1"
49 fillcolor="FFFFFF" pos="(5,5)" size="(450,450)"/>
50 <rect id="rectBlack" strokewidth="0" fillopacity="0.6"
51 fillcolor="000000" pos="(6,6)" size="(451,451)"/>
52 </div>
53 """)
54 self.__keysNode = g_player.createNode("""
55 <words x="10" y="10" fontsize="18" opacity="1"
56 color="DDDDDD" text=""/>
57 """)
58 rootNode = g_player.getRootNode()
59 rootNode.appendChild(self.__rectNode)
60 self.__rectNode.appendChild(self.__keysNode)
61
63 show = self.__appstarter.showingHelp
64
65 self.__keyBindDown = self.__appstarter.getKeys('key', 'down')
66 self.__keyBindUp = self.__appstarter.getKeys('key', 'up')
67 self.__keycodeBindDown = self.__appstarter.getKeys('unicode', 'down')
68 self.__keycodeBindUp = self.__appstarter.getKeys('unicode', 'up')
69
70
71 TextHelp = ''
72 if show == True:
73 TextHelp = TextHelp + "<span><b> ACTIVE KEYS </b><br/></span>"
74 for key in sorted(self.__keyBindDown.iterkeys()):
75 funcName = self.__keyBindDown[key][1]
76 TextHelp = TextHelp + \
77 "<span><b>%s</b> <small>%s</small><br/></span>"% (key, funcName)
78
79 for key in sorted(self.__keycodeBindDown.iterkeys()):
80 funcName = self.__keycodeBindDown[key][1]
81 TextHelp = TextHelp + \
82 "<span><b>%s</b> <small>%s</small><br/></span>"% (key, funcName)
83
84 self.__keysNode.text = TextHelp
85 self.__rectNode.opacity = 1
86 g_player.getElementByID('rectWhite').size = self.__keysNode.getMediaSize()
87 g_player.getElementByID('rectBlack').size = self.__keysNode.getMediaSize()
88
89 self.__rectNode.getParent().reorderChild(
90 self.__rectNode.getParent().indexOf(self.__rectNode),
91 self.__rectNode.getParent().getNumChildren()-1)
92
93 elif show == False:
94 self.__keysNode.text = ''
95 self.__rectNode.opacity = 0
96
98
99
100
101
102 self.__appstarter.showingHelp = False
103 self.showHelp()
104
105 self.__stackKeyDown.append(self.__appstarter.getKeys('key', 'down'))
106 self.__stackKeyUp.append(self.__appstarter.getKeys('key', 'up'))
107 self.__stackUnicodeDown.append(self.__appstarter.getKeys('unicode','down'))
108 self.__stackUnicodeUp.append(self.__appstarter.getKeys('unicode','up'))
109
110 self.__appstarter.setKeys({}, 'key', 'down')
111 self.__appstarter.setKeys({}, 'key', 'up')
112 self.__appstarter.setKeys({}, 'unicode', 'down')
113 self.__appstarter.setKeys({}, 'unicode', 'up')
114 self.__appstarter.bindUnicode('?', self.__appstarter.activateHelp, 'HELP')
115
117
118
119
120 self.__appstarter.showingHelp = False
121 self.showHelp()
122
123 self.__appstarter.setKeys(self.__stackKeyDown.pop(), 'key', 'down')
124 self.__appstarter.setKeys(self.__stackKeyUp.pop(), 'key', 'up')
125 self.__appstarter.setKeys(self.__stackUnicodeDown.pop(), 'unicode', 'down')
126 self.__appstarter.setKeys(self.__stackUnicodeUp.pop(), 'unicode', 'up')
127