some python import cleanups
[vuplus_dvbapp] / lib / python / Plugins / DemoPlugins / TestPlugin / plugin.py
1 from Screens.Screen import Screen
2 from Screens.MessageBox import MessageBox
3 from Components.ActionMap import NumberActionMap
4 from Components.Label import Label
5 from Components.Input import Input
6 from Components.Pixmap import Pixmap
7 from Components.FileList import FileEntryComponent, FileList
8 from Screens.ChoiceBox import ChoiceBox
9 from Plugins.Plugin import PluginDescriptor
10
11 class Test(Screen):
12         skin = """
13                 <screen position="100,100" size="550,400" title="Test" >
14                         <!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
15                         <widget name="list" position="10,0" size="190,250" scrollbarMode="showOnDemand" />
16                         <widget name="pixmap" position="200,0" size="190,250" />
17                 </screen>"""
18         def __init__(self, session, args = None):
19                 self.skin = Test.skin
20                 Screen.__init__(self, session)
21
22                 self["list"] = FileList("/", matchingPattern = "^.*\.(png|avi|mp3|mpeg|ts)")
23                 self["pixmap"] = Pixmap()
24                 
25                 #self["text"] = Input("1234", maxSize=True, type=Input.NUMBER)
26                                 
27                 self["actions"] = NumberActionMap(["WizardActions", "InputActions"],
28                 {
29                         "ok": self.ok,
30                         "back": self.close,
31 #                       "left": self.keyLeft,
32 #                       "right": self.keyRight,
33                         "1": self.keyNumberGlobal,
34                         "2": self.keyNumberGlobal,
35                         "3": self.keyNumberGlobal,
36                         "4": self.keyNumberGlobal,
37                         "5": self.keyNumberGlobal,
38                         "6": self.keyNumberGlobal,
39                         "7": self.keyNumberGlobal,
40                         "8": self.keyNumberGlobal,
41                         "9": self.keyNumberGlobal,
42                         "0": self.keyNumberGlobal
43                 }, -1)
44                 
45                 self.onShown.append(self.openTest)
46
47         def openTest(self):
48                 self.session.openWithCallback(self.callback, MessageBox, _("Test-Messagebox?"))
49
50 #               self.session.open(InputBox)
51         
52         def callback(self, answer):
53                 print "answer:", answer
54                 self.close()
55         
56         def keyLeft(self):
57                 self["text"].left()
58         
59         def keyRight(self):
60                 self["text"].right()
61         
62         def ok(self):
63                 selection = self["list"].getSelection()
64                 if selection[1] == True: # isDir
65                         self["list"].changeDir(selection[0])
66                 else:
67                         self["pixmap"].instance.setPixmapFromFile(selection[0])
68         
69         def keyNumberGlobal(self, number):
70                 print "pressed", number
71                 self["text"].number(number)
72
73 def main(session, **kwargs):
74         session.openWithCallback(test, MessageBox, _("Test-Messagebox?"), timeout = 10)
75         #session.openWithCallback(test, ChoiceBox, title="Delete everything on this Dreambox?", list=[(_("yes"), "yes"), (_("no"), "no"), (_("perhaps"), "perhaps"), (_("ask me tomorrow"), "ask me tomorrow"), (_("leave me alone with this!"), "yes")])
76         
77 def test(returnValue):
78         print "You entered", returnValue
79
80 def Plugins(**kwargs):
81         return PluginDescriptor(name="Test", description="plugin to test some capabilities", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)