/* *----------------------------------------------------------------------------- * Copyright (c) 1993-1995 European Synchrotron Radiation Facility * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the "Terms and Conditions of Distribution", given in the documentation * to this software, are applicable and the above copyright message appears * in each copy. * *----------------------------------------------------------------------------- * * * CTAXT: Combine Tcl/Tk with arbitrary X Toolkits * (into a single application) * * Module: 1README.ctaxt * * Purpose: First information for potential users * * 17.12.1993 hp first version * 07.01.1994 hp changed the name to be downloaded from anonymous ftp * harbor.ecn.purdue.edu to "ctaxt1.0.tar.gz" * 14.01.1994 hp adapted for version 1.1 * */ CTAXT - Combine Tcl/Tk with arbitrary X Toolkits into a single application ========================================================================== The CTAXT interface enables application designers, to combine the powerful Tcl/Tk tools with other X Window toolkits into a single graphical user interface. It is designed in a way, that even existing applications can make use of the CTAXT interface with minimal changes necessary. The philosophy behind the interface is to put Tk main windows into existing application windows, hence, from the user's point of view as well as from the application's point of view there is just one application main window, containing several application windows, some are controlled by Tk and some are controlled by other X toolkits. In order to get this working, the event loop has to be controlled by Tk. To retrieve X events for other than Tk parts of the application, application designers have to provide a special function, an explicit event handler, which will be called within the Tk event loop. Its purpose is to filter and dispatch events. Each of the Tk main windows within the application has its own Tcl interpreter attached. This interpreter is needed for evaluating Tcl scripts (e.g. to create Tk widgets within the window). It is registered with a unique name, so that it can retrieve Tcl commands, sent by other Tcl interpreters on the same display. To control a Tk window (e.g. the appearance of certain widgets within the window), the application can evaluate Tcl scripts within the interpreter attached to that window. This can even be done within callbacks of widgets (e.g. push-buttons) created by another X toolkit. To control the application from a Tk window, the application designer has to write new Tcl command procedures in C, create the responding commands within the Tcl interpreter attached to that Tk window and call such a newly created command from a Tcl script evaluated within that interpreter (e.g. within a callback to a Tk widget). Please read the file 1INSTALL.ctaxt carefully before building and installing CTAXT. FILES ===== Refer to the file "2FILES.ctaxt" within this directory. DOCUMENTATION ============= A documentation in postscript format is in the doc directory. It contains all the information for building applications using the CTAXT interface, a reference for the functions provided by CTAXT, description of error messages and warnings, a sample application and lots of other stuff. MANUAL PAGES ============ Man pages in nroff/troff format are provided for the CTAXT C library functions exported to applications. EXAMPLE ======= The directory example contains a sample application using Xt/Motif and the CTAXT interface to access Tcl/Tk. LINKING APPLICATIONS USING CTAXT ================================ Refer to the file "2BUILD.ctaxt" in this directory. SOFTWARE VERSIONS ================= The CTAXT interface was developed for o Tcl 7.3 o Tk 3.6 o TclX 7.3a Have a look in the documentation for using different versions of Tcl/Tk than the ones mentioned above. LIST OF CHANGES =============== Refer to the file "2CHANGES.ctaxt" for a history of changes made since the very first distribution. WHERE TO GET IT =============== Tcl & Tk is available via anonymous ftp from: ftp.cs.berkeley.edu: /ucb/tcl/[tcl7.3.tar.Z tk3.6.tar.Z] or ftp.neosoft.com: /pub/tcl/distrib/[tcl7.3.tar.gz tk3.6.tar.gz] or ftp.uu.net: languages/tcl/[tcl7.3.tar.Z tk3.6.tar.Z] Extended Tcl 7.3a can be downloaded by anonymous FTP from: ftp.neosoft.com: /pub/tcl/distrib/tclX7.3a.tar.gz or harbor.ecn.purdue.edu: /pub/tcl/extensions/tclX7.3a.tar.Z CTAXT 1.1 is available via anonymous ftp from: expga.esrf.fr [160.103.2.141]: /pub/ctaxt1.1.tar.Z or harbor.ecn.purdue.edu [128.46.128.76]: /pub/tcl/extensions/ctaxt1.1.tar.gz CONTRIBUTIONS ============= Special thanks to John Ousterhout for Tcl, Tk and to Karl Lehenbauer and Mark Diekhans (TclX) for the support they have given us. BUG REPORTS =========== Please mail suggestions, comments and bug reports to bugs@expgb.esrf.fr Specify CTAXT (as the software you are reporting the bug for) in the subject field.