+
+
+mdom = xml.dom.minidom.parseString(
+ """
+ <menu text="Mainmenu" title="the real Mainmenu">
+ <item text="Standby debug">quitMainloop()</item>
+ <item text="Automatic Scan">self.openDialog(serviceScan)</item>
+
+ <item text="TV-Mode">self.setModeTV()</item>
+ <item text="Radio-Mode">self.setModeRadio()</item>
+ <item text="File-Mode">self.setModeFile()</item>
+ <item text="Scart">self.openDialog(ScartLoopThrough)</item>
+ <item text="Timer"></item>
+ <menu text="Setup">
+ <menu text="Service Organising">
+ <item text="New Bouquets"></item>
+ <item text="Add to Bouquets"></item>
+ <item text="Edit Bouquets"></item>
+ </menu>
+ <menu text="Service Searching">
+ <item text="Satelliteconfig"></item>
+ <item text="Satfinder"></item>
+ <item text="Rotor Control"></item>
+ <item text="Edit Transponder"></item>
+ <item text="Automatic Scan">self.openDialog(serviceScan)</item>
+ <item text="Automatic 'Multisat' Scan"></item>
+ <item text="Manual Scan"></item>
+ </menu>
+ <menu text="System">
+ <item text="Time Date"></item>
+ <item text="Video Audio"></item>
+ <item text="UHF Modulator"></item>
+ <item text="Harddisk"></item>
+ <item text="Keyboard"></item>
+ <item text="OSD">self.openDialog(configOSD)</item>
+ <item text="Language"></item>
+ <item text="LCD"></item>
+ </menu>
+ <item text="Common Interface"></item>
+ <item text="Parental Control"></item>
+ <item text="Expert"></item>
+ </menu>
+ <item text="Games"></item>
+ <item text="Information"></item>
+ <menu text="Standby">
+ <item text="PowerOff"></item>
+ <item text="Restart"></item>
+ <item text="Standby"></item>
+ <item text="Sleep Timer">self.goSetup()</item>
+ </menu>
+ </menu>""")
+
+def getText(nodelist):
+ rc = ""
+ for node in nodelist:
+ if node.nodeType == node.TEXT_NODE:
+ rc = rc + node.data
+ return rc
+
+def getValbyAttr(x, attr):
+ for p in range(x.attributes.length):
+ a = x.attributes.item(p)
+ attrib = str(a.name)
+ value = str(a.value)
+ if attrib == attr:
+ return value
+
+ return ""
+
+class boundFunction:
+ def __init__(self, fnc, *args):
+ self.fnc = fnc
+ self.args = args
+ def __call__(self):
+ self.fnc(*self.args)
+
+class configOSD(Screen):
+ #this needs focus handling - so not useable
+
+ def okbuttonClick(self):
+ self.close
+
+ def __init__(self, session):
+ Screen.__init__(self, session)
+
+ self["actions"] = ActionMap(["OkCancelActions"],
+ {
+ "ok": self.okbuttonClick,
+ "cancel": self.close
+ })
+
+ self["okbutton"] = Button("Save")
+
+ self["txt_alpha"] = Label("Alpha:")
+ self["sld_alpha"] = ProgressBar()
+ self["sld_alpha"].setValue(50)
+
+ self["txt_brightness"] = Label("Brightness:")
+ self["sld_brightness"] = ProgressBar()
+ self["sld_brightness"].setValue(50)
+
+ self["txt_gamma"] = Label("Contrast:")
+ self["sld_gamma"] = ProgressBar()
+ self["sld_gamma"].setValue(50)
+
+
+class ScartLoopThrough(Screen):
+ def __init__(self, session):
+ Screen.__init__(self, session)
+
+ self["actions"] = ActionMap(["OkCancelActions"],
+ {
+ "cancel": self.close
+ })
+
+class ConfigMenu(Screen):
+ #create a generic class for view/edit settings
+ #all stuff come from xml file
+ #configtype / datasource / validate-call / ...
+
+ def __init__(self, session):
+ Screen.__init__(self, session)
+
+ self["actions"] = ActionMap(["OkCancelActions"],
+ {
+ #"ok": self.okbuttonClick,
+ "cancel": self.close
+ })
+
+class configTest(Screen):
+
+ def __init__(self, session):
+ Screen.__init__(self, session)
+
+
+ self["config"] = ConfigList(
+ [
+ configEntry("HKEY_LOCAL_ENIGMA/IMPORTANT/USER_ANNOYING_STUFF/SDTV/FLASHES/GREEN"),
+ configEntry("HKEY_LOCAL_ENIGMA/IMPORTANT/USER_ANNOYING_STUFF/HDTV/FLASHES/GREEN"),
+ ])
+
+ self["actions"] = ActionMap(["OkCancelActions"],
+ {
+ "ok": self["config"].toggle,
+ "cancel": self.close
+ })
+
+
+class Menu(Screen):
+ #add file load functions for the xml-file
+ #remove old code (i.e. goScan / goClock...)
+
+ def openDialog(self, dialog):
+ self.session.open(dialog)
+
+ def goSetup(self):
+ self.session.open(configTest)