Completely rewritten. Now contains a multiline text editor. Some of the API has changed, and memory management is now no longer a problem. All widgets now write directly onto their parent screen, not onto subpads.
Small efficiency changes made to the scrolling widgets. More needed. Typo fixed.
0.9.7
Dummy function while_editing(self) added to the Screen widget. This is called on every iteration of the edit loop, and is intended to be overridden.
0.9.6.5
Have removed the checks for binary characters from textfield. It is now once again up to the programmer to sanitise data - ie. removing tabs and binary characters before attempting to display.
To check every time data might have changed is just too expensive.
0.9.6.1
Also altered textfield so that \t \r \n are not accepted (ever) as characters for input into the field. They shouldn't have been anyway, since those keys are intercepted for other things, but good to be sure.
Do not put a \t into a field you want to edit. Still haven't decided how to sanitise this problem.
0.9.6
Altered textfield class. If binary data is detected, a warning is displayed. If this check causes performance problems, let me know.