view clients/editor/input.py @ 197:80b3c41c3427

* Updated win32 build scripts to work with the new compile SDK * Download the SDK here: http://downloads.sourceforge.net/fife/FIFE_2009.0_win32_SDK.7z * List of changes and further details can be found here: http://fifengine.de/2009/03/11/new-win32-compile-sdk-released-20090/ * The 2008.0-r4 SDK won't work anymore since this commit.
author mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 11 Mar 2009 21:09:39 +0000
parents 28532ae6f9f6
children
line wrap: on
line source

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('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()