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
|
from Screen import Screen
from Components.Pixmap import *
from Components.Pixmap import Pixmap
from Components.Pixmap import MovingPixmap
from Components.Label import Label
from Components.Slider import Slider
from Components.ActionMap import ActionMap
from Components.HelpMenuList import HelpMenuList
import string
from xml.sax import make_parser
from xml.sax.handler import ContentHandler
from Components.MenuList import MenuList
class HelpMenu(Screen):
def __init__(self, session, list):
Screen.__init__(self, session)
self.onSelChanged = [ ]
self["list"] = HelpMenuList(list, self.close)
self["list"].onSelChanged.append(self.SelectionChanged)
self["rc"] = Pixmap()
self["arrowup"] = MovingPixmap()
self["actions"] = ActionMap(["WizardActions"],
{
"ok": self["list"].ok,
"back": self.close,
}, -1)
def SelectionChanged(self):
selection = self["list"].getCurrent()[3]
if selection is None:
self["arrowup"].instance.hide()
else:
self["arrowup"].moveTo(selection[1], selection[2], 1)
self["arrowup"].startMoving()
self["arrowup"].instance.show()
class HelpableScreen:
def __init__(self):
self["helpActions"] = ActionMap( [ "HelpActions" ],
{
"displayHelp": self.showHelp,
})
def showHelp(self):
self.session.openWithCallback(self.callHelpAction, HelpMenu, self.helpList)
def callHelpAction(self, *args):
if len(args):
(actionmap, context, action) = args
actionmap.action(context, action)
|