Mercurial > fife-parpg
diff engine/extensions/pychan/widgets/common.py @ 248:a2d5e2721489
widgets.py split up.
author | phoku@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Thu, 26 Mar 2009 16:20:16 +0000 |
parents | |
children | 1cc51d145af9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/extensions/pychan/widgets/common.py Thu Mar 26 16:20:16 2009 +0000 @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- + +import fife +import pychan.tools as tools +import pychan.events as events +from pychan.exceptions import * +from pychan.attrs import Attr,UnicodeAttr, PointAttr,ColorAttr,BoolAttr,IntAttr,FloatAttr +from pychan.properties import ColorProperty + + +def get_manager(): + import pychan + return pychan.manager + +def text2gui(text): + """ + This function is applied to all text set on widgets. + It replaces tabs by four spaces. + It assumes the text to be a unicode object. + """ + if not isinstance(text,unicode): + print "Widget text needs to be set from an unicode object. Got: '%s'" % repr(text) + text = unicode(text,"utf8") + return text.encode("utf8",*get_manager().unicodePolicy).replace("\t"," "*4).replace("[br]","\n") + +def gui2text(text): + """ + This function is applied to all text get from widgets. + Translates the encoded string into a unicode object. + """ + return unicode(text,"utf8",*get_manager().unicodePolicy) + +def isLayouted(widget): + from containers import LayoutBase + return isinstance(widget,LayoutBase) + +class DummyImage(object): + def getWidth(self): return 0 + def getHeight(self): return 0