Mercurial > fife-parpg
view clients/editor/scripts/gui/input.py @ 324:e249fa887259
* Split EventListener into several internal subclasses. This fixes issue with multiple inheritance where each BaseClass.__init__() call would overwrite the previous one. This meant that you could only add EventListener to one type of event managers.
* MapView now adds maps and layers to EventListener
* LayerEditor should now fetch only NameClash exceptions when creating or editing layers
author | cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Fri, 21 Aug 2009 14:39:54 +0000 |
parents | 51cc05d862f2 |
children | 8b125ec749d7 |
line wrap: on
line source
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()