diff clients/editor/scripts/gui/input.py @ 255:51cc05d862f2

Merged editor_rewrite branch to trunk. This contains changes that may break compatibility against existing clients. For a list of changes that may affect your client, see: http://wiki.fifengine.de/Changes_to_pychan_and_FIFE_in_editor_rewrite_branch
author cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222
date Mon, 08 Jun 2009 16:00:02 +0000
parents
children 8b125ec749d7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clients/editor/scripts/gui/input.py	Mon Jun 08 16:00:02 2009 +0000
@@ -0,0 +1,32 @@
+import pychan
+import pychan.widgets as widgets
+
+class InputDialog(object):
+	"""
+	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, onCancel):
+		self._callback = onEntry
+		self._cancelCallback = onCancel
+
+		self._widget = pychan.loadXML('gui/input.xml')
+
+		self._widget.mapEvents({
+			'okButton'     : self._complete,
+			'cancelButton' : self._cancel
+		})
+
+		self._widget.distributeInitialData({
+			'prompt' : prompt
+		})
+		self._widget.show()
+
+	def _complete(self):
+		self._callback(self._widget.collectData('inputBox'))
+		self._widget.hide()
+		
+	def _cancel(self):
+		self._cancelCallback()
+		self._widget.hide()
+