PACKAGE: Tk++ (for Tcl 8.0) AUTHOR: Matt Newman Sensus Consulting Ltd (c) 1997-1998 DESCRIPTION: Tk++ is an almost 100% [incr Tk] compatible, tcl-only implementation. See Tcl++ ([incr Tcl] compatible) for details on how this differs from [incr Tk]. RESTRICTIONS ON USAGE: None - subject to copyright being acknowledged on all derivative work. But please note that this is a derivative work, based upon the original ideas and software from the people listed at the end of this README. PLATFORMS: Any - though it has only been tested on Win95 & WinNT. INSTALLATION: The tk++, widgets++ & tcl++ directories need to live as subdirectories of your main tcl directory, e.g. C:\Program Files\Tcl\lib on Windows 95/NT 4.0 machines. DEMOS: See tk++/demos/* USAGE: package require tk++ Whilst you can "inherit" from itk::Widget, itk::Archetype & itk::Toplevel, the underlying Tcl++ will convert these into tk++::Widget etc. All the standard [incr Tk] functions are available, but please check the README for tcl++ for areas where tk++ is very sightly different syntaxically from standard itcl. In addition to the base classes, a package called widgets++ has been added, which is a direct convertion of [incr Widgets] 2.2.0, plus some bug fixes for Tcl 8.0. In the tk++ package the following additional classes are available: tk++::Entry tk++::Radiobutton tk++::Checkbutton tk++::Listbox tk++::Text tk++::Canvas tk++::Message tk++::Label tk++::Button tk++::Menubutton tk++::Scale Which are all automagically generated wrapper classes around the standard Tk widgets. These are special, however, in that all the bindings and the focus model have been modified in such a way as to fool Tk into thinking that the tk++ object is really the window, which means that your class methods get called from the standard Tk bindings, which allows your to subclass to enhance or modify behavior. See AutoTk.tcl for an example of the class generator in action. It should work for any widget which follows the same error message formats the Tk uses. Other extras include a Windows 95-style TreeView widget (tk++::TreeView), and a base class for Application windows, that includes a simple, but hopefully elegant menubar builder. I have also included a Progess bar (very simple) and scrollbar management for any underlying widget that honours the standard Tk -[xy]scrollcommand option & [xy]view command protocols, which will map scrollbars only when needed. On the experimental front, there are "URL drivers" for file, registry etc that work in conjuction with a very early attempt to build a general-purpose explorer framework (tk++::Explorer). The ListView class was developed for this application, and is usuable right now, but does require some more work before it can be truely called a ListView control, akin to the Win32 one. Please enjoy, and give me feedback on bugs, improvements etc. My intent is to try and stimulate a more bazaar-style development, and as such I will release as often as there is progress, and your are all invited to join in! Matt Newman Sensus Consulting Ltd 4th Feb 1998 tcl++ & tk++ are derived from the ideas embodied in [incr Tcl] & [incr Tk] # # AUTHOR: Michael J. McLennan # Bell Labs Innovations for Lucent Technologies # mmclennan@lucent.com # http://www.tcltk.com/itcl # # RCS: $Id: README.txt,v 1.1.1.1 1998/06/07 23:01:24 matt Exp $ # ---------------------------------------------------------------------- # Copyright (c) 1993-1996 Lucent Technologies # ====================================================================== # [see tk++/Archetype.tcl for the full Lucent disclaimer] widgets++ is derived from: [incr Widgets] (version 2.2.0) # # AUTHOR: Mark L. Ulferts EMAIL: mulferts@spd.dsccc.com # # @(#) $Id: README.txt,v 1.1.1.1 1998/06/07 23:01:24 matt Exp $ # ---------------------------------------------------------------------- # Copyright (c) 1995 DSC Technologies Corporation # ====================================================================== # [see widgets++/dialog.tcl for the full DSC disclaimer]