Aaron Gallagher wrote: > How are rendered objects cached, and how does urwid know when to call > the render function? I've tried making my own widgets, but they only > seem to work if I call render functions from preexisting widgets; > returning my own canvases renders once, but never calls render again. I > would also like to know how can I force rerendering given an object?
Since release 0.9.8 all widgets cache the result of the render function: http://excess.org/urwid/wiki/ChangeLog#Urwid0.9.8 If the result is in the cache then it will be returned instead of calling the actual render function. If your widget has changed and will render differently then it should call self._invalidate() to clear its canvas from the cache. You can also disable the cache for your widget by including "no_cache=['render']" in your class definition, but that will have a negative impact on performance. > And is there any way to make text markup easier? Using lists of markup > lists is bothering me a bit. I'm open to suggestions. Would you prefer some type of escape codes in the text? Ian _______________________________________________ Urwid mailing list [email protected] http://lists.excess.org/mailman/listinfo/urwid
