from Screen import Screen
-
-from Components.Pixmap import *
-from Components.Pixmap import Pixmap
-from Components.Pixmap import MovingPixmap
+from Components.Pixmap import Pixmap, 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["arrowup"].hide()
+ self["sh_arrowup"] = Pixmap()
+ self["sh_arrowup"].hide()
+ self["long_key"] = Label("")
self["actions"] = ActionMap(["WizardActions"],
{
"ok": self["list"].ok,
"back": self.close,
- "up": self.up,
- "down": self.down
}, -1)
-
- def up(self):
- self["list"].instance.moveSelection(self["list"].instance.moveUp)
- self.SelectionChanged()
-
- def down(self):
- self["list"].instance.moveSelection(self["list"].instance.moveDown)
- self.SelectionChanged()
-
+
+ self.onLayoutFinish.append(self.SelectionChanged)
+
def SelectionChanged(self):
- selection = self["list"].getCurrent()[3]
+ selection = self["list"].getCurrent()
+ selection = selection and selection[3]
+ arrow = self["arrowup"]
+ sh_arrow = self["sh_arrowup"]
+
+ if selection and selection[0][:3] == "sh_":
+ sh_arrow.show()
+ else:
+ sh_arrow.hide()
+
+ if selection and selection[0][:2] == "l_":
+ self["long_key"].setText(_("Long Keypress"))
+ else:
+ self["long_key"].setText("")
+
if selection is None:
- self["arrowup"].instance.hide()
+ arrow.hide()
else:
- self["arrowup"].moveTo(selection[1], selection[2], 1)
- self["arrowup"].startMoving()
- self["arrowup"].instance.show()
+ arrow.moveTo(selection[1], selection[2], 1)
+ arrow.startMoving()
+ arrow.show()
class HelpableScreen:
def __init__(self):
{
"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)
-