diff clients/editor/input.py @ 0:4a0efb7baf70

* Datasets becomes the new trunk and retires after that :-)
author mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
date Sun, 29 Jun 2008 18:44:17 +0000
parents
children 28532ae6f9f6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clients/editor/input.py	Sun Jun 29 18:44:17 2008 +0000
@@ -0,0 +1,27 @@
+import pychan
+import pychan.widgets as widgets
+
+class Input():
+	"""
+	Input supplies a text box for entering data. The result is passed to onEntry.
+	onEntry - the function to call when a input is complete. Accepts one argument: a string of text.
+	"""
+	def __init__(self, prompt, onEntry):
+		self._callback = onEntry
+
+		self._widget = pychan.loadXML('content/gui/input.xml')
+
+		self._widget.mapEvents({
+			'okButton'     : self._complete,
+			'cancelButton' : self._widget.hide
+		})
+
+		self._widget.distributeInitialData({
+			'prompt' : prompt
+		})
+		self._widget.show()
+
+	def _complete(self):
+		self._callback(self._widget.collectData('inputBox'))
+		self._widget.hide()
+