diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-01-09 16:29:34 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-01-09 16:29:34 +0000 |
| commit | ba02fb4aced5868d047a5bffbd2ed87583daee4d (patch) | |
| tree | bcfea66b1f7fd2212539a99abc074de1424ac9a0 /mytest.py | |
| parent | 2494509cd031727d92c6556089c99711d16d8af9 (diff) | |
| download | enigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.tar.gz enigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.zip | |
- add more python stuff
- fix some gui/gdi
- add eslider
- improve windowstyle
Diffstat (limited to 'mytest.py')
| -rw-r--r-- | mytest.py | 141 |
1 files changed, 123 insertions, 18 deletions
@@ -1,26 +1,131 @@ from enigma import * +import sys +import time + +from screens import * +from skin import applyGUIskin + +# A screen is a function which instanciates all components of a screen into a temporary component. +# Thus, the global stuff is a screen, too. +# In a screen, components can either be instanciated from the class-tree, cloned (copied) or +# "linked" from the instance tree. +# A screen itself lives as the container of the components, so a screen is a component, too. + +# we thus have one (static) hierarchy of screens (classes, not instances) +# and one with the instanciated components itself (both global and dynamic) + +def dump(dir, p = ""): + if isinstance(dir, dict): + for (entry, val) in dir.items(): + dump(val, p + "/" + entry) + print p + ":" + str(dir.__class__) + +# defined components +components = {} + +# do global +screens["global"](components) + +# test our screens +components["$001"] = screens["testDialog"]() +components["$002"] = screens["clockDisplay"](components["clock"]) + +print "*** classes:" +dump(screens) + +print "*** instances:" +dump(components) + +# display + +class OutputDevice: + def create(self, screen): pass + +# display: HTML + +class HTMLOutputDevice(OutputDevice): + def create(self, comp): + print comp.produceHTML() + +html = HTMLOutputDevice() + +class GUIOutputDevice(OutputDevice): + parent = None + def create(self, comp): + comp.createGUIScreen(self.parent) + + + def test(): - ref = eServiceReference("4097:47:0:0:0:0:0:0:0:0:/sine_60s_100.mp3"); + desktop = getDesktop() + print "desktop: " + str(desktop) + + wnd = eWindow(desktop) + print "window " + str(wnd) + wnd.setTitle("python") + wnd.move(ePoint(300, 100)) + wnd.resize(eSize(300, 300)) + wnd.show() + + gui = GUIOutputDevice() + gui.parent = wnd + gui.create(components["$002"]) +# for (x,y) in components["$001"].data.items(): +# print str(x) + " -> " + str(y) + " (" + y["instance"].getText() + ")" + +# print components["$001"].data["okbutton"]["instance"].doClick() + +# diese sachen gehoeren in den skin! :) + applyGUIskin(components["$002"], None, "clockDialog") + +# das ist dann schon die echte funktionalitaet ;) + components["clock"].doClock() + components["clock"].doClock() + + +# output as html + print "--------------------------------------" + html.create(components["$001"]) + print "--------------------------------------" + html.create(components["$002"]) + print "--------------------------------------" - sc = eServiceCenterPtr() - print sc - if eServiceCenter.getInstance(sc): - print "no eServiceCenter instance!" - else: - print "now trying to play!" - i = iPlayableServicePtr(); - if sc.play(ref, i): - print "play failed! :(" +# direkter test der GUI aus python: +# label1 = eLabel(wnd) +# label1.setText("hello world!\nfrom python!") +# label1.move(ePoint(10, 10)) +# label1.resize(eSize(80, 50)) +# +# label2 = eLabel(wnd) +# label2.setText("the second\nlabel works\nas well!") +# label2.move(ePoint(90, 10)) +# label2.resize(eSize(80, 50)) +# +# button = eButton(wnd) +# button.setText("OK") +# button.move(ePoint(200, 10)) +# button.resize(eSize(80, 50)) + + for x in range(200): + time.sleep(0.1) + components["clock"].doClock() + if x > 100: + r = 200 - x else: - print "play ruled!" - - p = iPauseableServicePtr() - if (i.getIPausableService(p)): - print "no pause available" - else: - p.pause() - p.unpause() + r = x +# components["$002"]["okbutton"].setValue(r) + desktop.paint() + +# +# print "delete label1" +# del button +# del label2 +# del label1 +# print "delete wnd" +# del wnd +# print "bye" + return 0 |
