Mercurial > fife-parpg
view clients/editor/scripts/gui/input.py @ 343:8e71629c4c43
Several changes to layer, camera and map dialogs:
* Renamed CameraEditor and LayerEditor to CameraDialog and LayerDialog
* Moved CameraDialog and LayerDialog into their own modules in scripts.gui so other components can use them.
* Prettier camera dialog
* Added LayerDialog to map wizard
author | cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Tue, 25 Aug 2009 01:21:00 +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()