|
ClassyTk
|
Home
Documentation
Screenshots
Binary distributions
Source distribution
Object system, widget set and GUI builder for Tcl
by
Peter De Rijk (Universiteit Antwerpen)
What is ClassyTk
ClassyTcl Object system
ClassyTk is based on the ClassyTcl Object system. This is a dynamically loadable
object system for
Tcl. A Tcl-only as well as a C implementation
is available. It also doesn't require patches to the Tcl core, so
keeping up with new releases should be easy. Performance is very
adequate. The C version is gives extra speed, and makes it possible
to implement some methods in C.
In contrast to other Tcl object systems for Tcl, it is not modeled after
the object system designed for a completely different language such a C.
IMHO, it better follows the Tcl philosophy. The system is simple, but
flexible. Classes and objects are dynamic, and can easily be queried,
changed and debugged at runtime.
Gui Builder
The ClassyTk Builder can be used to graphically
create interfaces. It is invoked via the cbuild command in the bin
directory.
Widget Set
ClassyTk adds a lot of improvements to Tk, ranging from drag
and drop support (between Tk apps) and a configuration
system to a large set of new
widgets and commands, written using the object system.
While the object system itself only requires Tcl (>8.0), the widgets that come with it
require Tk (of course), and another freely available extension called
ExtraL. ExtraL also does not require
compiled code, but can be speeded up by having it available.
Documentation for the widgets is often somewhat limited, but besides
the documentation, you can learn a lot from sources, the tests and the demos.
Sample applications
The ClassyTk distribution contains some example applications:
- cedit: This editor is actually very useable: I use it for all my developement
- ccalc: calculator; demo for the builder
- cdraw: vector drawing program
- ctester: app to test widgets
- cfiles: unfinished: very early stage file manager
- ccenter: unfinished: very early stage program manager
Use
You should be able to obtain the latest versions of
ClassyTcl and ClassyTk, and
ExtraL on our
server rrna.uia.ac.be
via WWW or anonymous ftp (directory /pub/tcl). Both Extral,
ClassyTcl and ClassyTk are implemented as loadable packages.
To use the widgets that come with the distribution, use the code:
tk appname name
package require ClassyTk
The application name given by the "tk appname" will be
used for managing defaults and configuration options.
To write a new application, you can try out the builder by starting the program
cbuild in the bin directory.
Contributions
If you have fixed bugs, made some nice additions to ClassyTk widgets, etc.,
you can send them to me, and I will consider incorporating them in new
releases. Thanks to the people that have already contributed:
How to contact me
My mailbox gets overwhelmed quite often, and the development of ClassyTk
is definately not my only task, so responses might be slower than you
would like. However, I will respond as fast as I can.
Peter De Rijk
University of Antwerp (UIA)
Department of Biochemistry
Universiteitsplein 1
B-2610 Antwerp
tel.: 32-03-820.23.16
fax: 32-03-820.22.48
E-mail: derijkp@uia.ua.ac.be
web: http://rrna.uia.ac.be/~peter/personal/peter.html
Legalities
ClassyTk is Copyright Peter De Rijk, University of Antwerp (UIA),
2000. The following terms apply to all files associated with the
software unless explicitly disclaimed in individual files.
The author hereby grant permission to use, copy, modify,
distribute, and license this software and its documentation for any
purpose, provided that existing copyright notices are retained in all
copies and that this notice is included verbatim in any
distributions. No written agreement, license, or royalty fee is
required for any of the authorized uses. Modifications to this
software may be copyrighted by their authors and need not follow the
licensing terms described here, provided that the new terms are
clearly indicated on the first page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY
PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION,
OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS"
BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.