aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-01-19 02:18:21 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-01-19 02:18:21 +0000
commit85f5c84f1e3e4d22fb1939751d39de03877b93d8 (patch)
tree6c98fa2f78e0c89e46d2d2bc445698a715745986 /lib/python
parentd76847392ff5cd26bc154f6c135310644c5c1d08 (diff)
downloadenigma2-85f5c84f1e3e4d22fb1939751d39de03877b93d8.tar.gz
enigma2-85f5c84f1e3e4d22fb1939751d39de03877b93d8.zip
add a small text input component
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Input.py46
-rw-r--r--lib/python/Components/Makefile.am2
-rw-r--r--lib/python/Components/PluginComponent.py64
-rw-r--r--lib/python/Plugins/Makefile.am2
-rw-r--r--lib/python/Plugins/test/Makefile.am6
-rw-r--r--lib/python/Plugins/test/__init__.py0
-rw-r--r--lib/python/Plugins/test/plugin.py55
-rw-r--r--lib/python/Screens/TimerEdit.py1
8 files changed, 141 insertions, 35 deletions
diff --git a/lib/python/Components/Input.py b/lib/python/Components/Input.py
new file mode 100644
index 00000000..d3b06612
--- /dev/null
+++ b/lib/python/Components/Input.py
@@ -0,0 +1,46 @@
+from HTMLComponent import *
+from GUIComponent import *
+from VariableText import *
+
+from enigma import eLabel
+
+from Tools.NumericalTextInput import NumericalTextInput
+
+class Input(HTMLComponent, GUIComponent, VariableText):
+ def __init__(self, text=""):
+ GUIComponent.__init__(self)
+ VariableText.__init__(self)
+ self.numericalTextInput = NumericalTextInput(self.right)
+ self.currPos = 0
+ self.text = text
+ self.update()
+
+ def update(self):
+ self.setText(self.text[0:self.currPos] + "_" + self.text[self.currPos] + "_" + self.text[self.currPos + 1:])
+
+ def createWidget(self, parent):
+ return eLabel(parent)
+
+ def getSize(self):
+ s = self.instance.calculateSize()
+ return (s.width(), s.height())
+
+ def right(self):
+ self.currPos += 1
+ if self.currPos == len(self.text):
+ self.text = self.text + " "
+ self.update()
+
+ def left(self):
+ self.currPos -= 1
+ self.update()
+
+ def number(self, number):
+ self.text = self.text[0:self.currPos] + self.numericalTextInput.getKey(number) + self.text[self.currPos + 1:]
+ self.update()
+
+ def show(self):
+ self.instance.show()
+
+ def hide(self):
+ self.instance.hide() \ No newline at end of file
diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am
index 089d7cef..945946dc 100644
--- a/lib/python/Components/Makefile.am
+++ b/lib/python/Components/Makefile.am
@@ -12,5 +12,5 @@ install_PYTHON = \
EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \
BlinkingPixmap.py Pixmap.py ConditionalWidget.py Slider.py LanguageList.py \
PluginList.py PluginComponent.py RecordingConfig.py About.py UsageConfig.py \
- FIFOList.py ServiceEventTracker.py
+ FIFOList.py ServiceEventTracker.py Input.py
diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py
index adfc98a0..26eadd10 100644
--- a/lib/python/Components/PluginComponent.py
+++ b/lib/python/Components/PluginComponent.py
@@ -20,38 +20,38 @@ class PluginComponent:
for x in dir:
path = resolveFilename(SCOPE_PLUGINS, x) + "/"
- try:
- if os.path.exists(path):
- if fileExists(path + "plugin.py"):
- pluginmodule = self.prefix + x + ".plugin"
- print "trying to import " + pluginmodule
- exec "import " + pluginmodule
- plugin = eval(pluginmodule)
- plugins = plugin.getPlugins()
- try: picturepaths = plugin.getPicturePaths()
- except:
- picturepaths = []
- for p in plugins:
- picturepaths.append("")
- try:
- for menuEntry in plugin.getMenuRegistrationList():
- self.menuEntries.append([menuEntry, pluginmodule])
- except:
- pass
-
- for y in range(len(plugins)):
- if len(plugins[y]) < 5:
- list.append((path + picturepaths[y], plugins[y][0] , x, plugins[y][2], plugins[y][3], None, plugins[y][1]))
- else:
- list.append((path + picturepaths[y], plugins[y][0] , x, plugins[y][2], plugins[y][3], plugins[y][4], plugins[y][1]))
- if runAutostartPlugins:
- try: plugin.autostart()
- except: pass
- if runAutoendPlugins:
- try: plugin.autoend()
- except: pass
- except:
- print "Directory", path, "contains a faulty plugin"
+# try:
+ if os.path.exists(path):
+ if fileExists(path + "plugin.py"):
+ pluginmodule = self.prefix + x + ".plugin"
+ print "trying to import " + pluginmodule
+ exec "import " + pluginmodule
+ plugin = eval(pluginmodule)
+ plugins = plugin.getPlugins()
+ try: picturepaths = plugin.getPicturePaths()
+ except:
+ picturepaths = []
+ for p in plugins:
+ picturepaths.append("")
+ try:
+ for menuEntry in plugin.getMenuRegistrationList():
+ self.menuEntries.append([menuEntry, pluginmodule])
+ except:
+ pass
+
+ for y in range(len(plugins)):
+ if len(plugins[y]) < 5:
+ list.append((path + picturepaths[y], plugins[y][0] , x, plugins[y][2], plugins[y][3], None, plugins[y][1]))
+ else:
+ list.append((path + picturepaths[y], plugins[y][0] , x, plugins[y][2], plugins[y][3], plugins[y][4], plugins[y][1]))
+ if runAutostartPlugins:
+ try: plugin.autostart()
+ except: pass
+ if runAutoendPlugins:
+ try: plugin.autoend()
+ except: pass
+# except:
+# print "Directory", path, "contains a faulty plugin"
self.menuUpdate()
return list
diff --git a/lib/python/Plugins/Makefile.am b/lib/python/Plugins/Makefile.am
index 01f21d4e..93ee65ad 100644
--- a/lib/python/Plugins/Makefile.am
+++ b/lib/python/Plugins/Makefile.am
@@ -1,6 +1,6 @@
installdir = $(LIBDIR)/enigma2/python/Plugins
-SUBDIRS = update tuxboxplugins web
+SUBDIRS = update tuxboxplugins web test
install_PYTHON = \
__init__.py
diff --git a/lib/python/Plugins/test/Makefile.am b/lib/python/Plugins/test/Makefile.am
new file mode 100644
index 00000000..c841c49f
--- /dev/null
+++ b/lib/python/Plugins/test/Makefile.am
@@ -0,0 +1,6 @@
+installdir = $(LIBDIR)/enigma2/python/Plugins/test
+
+install_PYTHON = \
+ __init__.py \
+ plugin.py
+
diff --git a/lib/python/Plugins/test/__init__.py b/lib/python/Plugins/test/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/lib/python/Plugins/test/__init__.py
diff --git a/lib/python/Plugins/test/plugin.py b/lib/python/Plugins/test/plugin.py
new file mode 100644
index 00000000..c08a986f
--- /dev/null
+++ b/lib/python/Plugins/test/plugin.py
@@ -0,0 +1,55 @@
+from enigma import *
+from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+from Components.ActionMap import NumberActionMap
+from Components.Label import Label
+from Components.Input import Input
+from Components.GUIComponent import *
+
+import os
+
+class Test(Screen):
+ skin = """
+ <screen position="100,100" size="550,400" title="Test" >
+ <widget name="text" position="0,0" size="550,400" font="Regular;20" />
+ </screen>"""
+
+ def __init__(self, session, args = None):
+ self.skin = Test.skin
+ Screen.__init__(self, session)
+
+ self["text"] = Input("Please press OK!")
+
+ self["actions"] = NumberActionMap(["WizardActions", "InputActions"],
+ {
+ "ok": self.close,
+ "back": self.close,
+ "left": self.keyLeft,
+ "right": self.keyRight,
+ "1": self.keyNumberGlobal,
+ "2": self.keyNumberGlobal,
+ "3": self.keyNumberGlobal,
+ "4": self.keyNumberGlobal,
+ "5": self.keyNumberGlobal,
+ "6": self.keyNumberGlobal,
+ "7": self.keyNumberGlobal,
+ "8": self.keyNumberGlobal,
+ "9": self.keyNumberGlobal,
+ "0": self.keyNumberGlobal
+ }, -1)
+
+ def keyLeft(self):
+ self["text"].left()
+
+ def keyRight(self):
+ self["text"].right()
+
+ def keyNumberGlobal(self, number):
+ print "pressed", number
+ self["text"].number(number)
+
+def getPicturePaths():
+ return [ "" ]
+
+def getPlugins():
+ return [("Test", "plugin to test some capabilities", "screen", "Test")]
diff --git a/lib/python/Screens/TimerEdit.py b/lib/python/Screens/TimerEdit.py
index ff2a017f..560ec942 100644
--- a/lib/python/Screens/TimerEdit.py
+++ b/lib/python/Screens/TimerEdit.py
@@ -4,7 +4,6 @@ from Components.ActionMap import ActionMap
from Components.TimeInput import TimeInput
from Components.Label import Label
from Components.Button import Button
-from Components.TextInput import TextInput
from TimerEntry import TimerEntry
from RecordTimer import RecordTimerEntry, parseEvent
from time import *