======================== The Tkinter 3000 Project ======================== The Tkinter 3000 Widget Construction Kit (WCK) allows you to write new Tkinter widgets in Python. This is release 1.0 final of the WCK implementation for Tkinter. For more information, documentation, articles and sample code, see: http://tkinter.effbot.org http://www.effbot.org/wck http://www.pythonware.com/products/tkinter Enjoy /F fredrik@pythonware.com http://www.pythonware.com -------------------------------------------------------------------- Contents README this file WCK/*.py WCK package, including Tkinter driver tk3/*.py compatibility interface. new code should import "WCK" instead of "tk3". _tk3draw.c source code for the Tk graphics driver _tk3demo.c a demo extension that contains a WCK widget implemented in C (!) setup.py distutils build script for Tkinter 3000 WCK setuplib.py helpers for setup.py demo*.py, bench*.py assorted demo scripts and benchmarks WCK.html api documentation WCK.css stylesheet for WCK.html -------------------------------------------------------------------- Release History (1.0 final release) + added 'ui_path' dummy method, for compatibility with the WCK implementation used in effbot.exe 2.0. (1.0c1 released) + added DrawInterface section to WCK.html (1.0b5 released) + Added 'crop' method to pixmap objects. This creates a reference to a subrectangle in a given pixmap; you can use this to copy a portion of a pixmap to the screen: dxy = (x, y) # destination offset sxy = (x0, y0, x1, y1) # source rectangle draw.paste(pixmap.crop(sxy), dxy) + Added 'settransform' method to draw and pixmap objects. This release only supports translation, with the transform given as a (dx, dy) tuple. draw.settransform((dx, dy)) draw.line(...) Note that settransform *replaces* the current transform; if you need to combine transformations, you have to merge them yourself. (1.0b4 released) 2003-05-10: It's in beta, but I still cannot make up my mind about naming: all the code is now moved to a "WCK" package. The package initialization code imports the right widget classes and all utility classes, so instead of importing "wck" or "tk3", new code should simply import "WCK", and use stuff from the "WCK" namespace. The "tk3" module (now a package) is still available as an alias. 2003-05-09: Added "wck" module (removed in the next release; see above); moved Tkinter implementation to an internal "wckTkinter" module. The "tk3" module is simply an alias for "wck". Changed 'ui_image' interface to accept PIL Image objects as well as Tkinter PhotoImage objects. Changed 'paste' method to take an optional destination region instead of offset/size. added unicode support to the "text" and "textsize" methods. 2002-08-18: Added WCKSimple2DAPI hooks for implementing (parts of) a WCK widget in C. The demoC/tk3demo sample code shows how to use it. for more info, see: http://effbot.org/zone/tkinter3000-wck-draw.htm 2002-08-14: First public beta, after a considerable time as an internal beta. The biggest change is the addition of pythondoc markup. 2001-12-31: Third alpha; use smarter Tcl/Tk library search for Windows 2001-12-29: Second alpha; distutils build script; experimental pixmap support; etc. 2001-02-03: Alpha cleanup; improved uiToolkit compatibility; changed 'ui_init' behaviour; moved utility functions to tk3utils.py (this module shouldn't be used by user code; all public utilities are available from tk3's namespace). 2001-01-17: Fifth public preview release. 2001-01-11: Use style object to draw default background and border; fixed rollback on bogus relief setting; added support for horizontal scrolling; don't let 'ui_damage' generate multiple expose events if we can prevent it; fixed paste offset 2001-01-10: On the way to first alpha: draw highlight region and border relief 2001-01-09: Minor demo tweaks; experimental framework support for double buffered rendering (ui_doublebuffer) 2001-01-08: Fourth preview release; new license; added scroll mixin; changed mixin method names; simplified textmixin (no repair method); added standard button controller class. 2001-01-07: Third preview release; experimental support for double-buffered rendering (see rough version in demoLissajou.py) 2001-01-06: Second preview release; includes driver source code 2001-01-05: Support for controllers; more demo scripts 2001-01-04: Support for Python 2.0/Tk 8.3; cursor option 2001-01-03: Initial sneak preview -------------------------------------------------------------------- License The Tkinter 3000 Widget Construction Kit is Copyright (c) 1998-2003 by Secret Labs AB Copyright (c) 1998-2003 by Fredrik Lundh By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you have read, understood, and will comply with the following terms and conditions: Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Secret Labs AB or the author not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------------------