Tcl/Tk Tools

Mark Harrison

Publisher: O'Reilly, 1997, 653 pages

ISBN: 1-56592-218-2

Keywords: TCLTk

Last modified: March 14, 2022, 12:51 p.m.

The Tcl language and Tk toolkit, even alone, offer many benefits: they're easy to learn, capable of producing good interfaces quickly, great for prototyping applications, and they are infinitely customizable. But one of the greatest strengths of Tcl/Tk is the range of extensions written for it. Now you can read about the most popular and robust extensions, freshly documented in the classic O'Reilly quality by the extension authors themselves, with encouragement in a foreword by Tcl/Tk creator John Ousterhout.

With Tcl/Tk extensions, you can:

  • Write robust object-oriented programs ([incr Tcl] and [incr Tk])
  • Produce complex interfaces with one-line commands ([incr Widgets] and Tix)
  • Layout graphs and tables (BLT)
  • Display 3D graphics with rich textures (TSIPP)
  • Interact with Oracle and Sybase databases (Sybtcl and Oratcl)
  • Network over sockets and remote procedure calls (Tcl-DP)
  • Create collaborative multi-user environments (GroupKit)
  • Automate programs that call for human users (expect)
  • Use complex data structures and UNIX system calls (TclX)
  • Embed Tk calls in C programs (ET)
  • Display tree structures (Tree)
  • Replay and prototype user interactions (TKReplay)

This book documents all these extensions — in an eminently readable and usable form by the people who created them — and contains information on configuration, debugging, and other important tasks.

This book comes with a CD-ROM that includes Tcl/Tk, the extensions, and other tools documented in the text both in source form and as binaries for Solaris and Linux.

  1. Introduction
    • The Origin of Tcl
    • The Birth of Extensions
    • How This Book Is Arranged
    • Extensions Covered
    • How the CD Is Arranged
  2. Object-Oriented Programming with [incr Tcl]
    • Objects and Classes
    • Inheritance
    • Namespaces
    • Interactive Development
    • Autoloading
    • Adding C Code to [incr Tcl] Classes
    • Summary
    • Quick Reference
  3. Building Mega-Widgets with [incr Tk]
    • Overview
    • Simple Example
    • Inheritance and Composition
    • Building Applications with Mega-Widgets
    • Summary
    • Quick Reference
  4. [incr Widgets]
    • A Mega-Widget Set
    • [incr Widgets] Basics
    • [incr Widgets] Tour
    • Sample Application
    • Contributing to [incr Widgets]
    • [incr Widgets] Distribution
    • Acknowledgements
  5. Tix Mega-Widgets
    • Getting Started: The TixcControl Widget
    • Accessing the Components Inside Mega-Widgets
    • Another Tix Widget: TixComboBox
    • The TixSelect Widget
    • Container Widgets
    • The Family of Scrolled Widgets
    • tixTList — The Tix Tabular Listbox Widget
    • Display Items
    • Using Display Items in the TixTList Widget
    • Hierarchical Widgets
    • Creating Collapsible Tree Structures with TixTree
    • Selecting Files and Directories
    • Selecting Directories with the TixDirTree and TixDirList Widgets
    • Tix Object-Oriented Programming
    • Widget Class Declaration
    • Writing methods
    • Standard Initialization Methods
    • Declaring and Using Variables
    • Summary of Widget Instance Initalization
    • Loading the New Classes
    • Putting It Together
  6. TclX
    • Overview of the TclX Extension
    • TclX Math Functions
    • TclX String Functions
    • TclX List Commands
    • TclX Unix Access Commands
    • File I/O Commands
    • File Scanning Commands
    • TCP/IP Communications Commands
    • Programming in TclX
  7. The BLT Toolkit
    • Plotting
    • Designing Graphical Interfaces
    • Application Wrappers
    • Drag-and-Drop
    • Examples: Building Applications with BLT
  8. Tcl-DP
    • Getting Started
    • Client/Server Architectures in Tcl-DP
    • Tcl-DP Communication Services
    • Learning More
  9. TSIPP: A 3D Grahics Toolkit
    • Generating a Simple Image
    • Building Compound Objects
    • Defining Surface Shaders
    • Primitive Object Creation Commands
    • Object Transformations
    • Lights, Shadows, and Cameras
    • Creating, Storing, and Manipulating Images
    • Building an Application with TSIPP and Tk
    • Summary
  10. The Tree Widget
    • A Simple Tree
    • Manipulating Trees
    • An [incr Tk] Interface to the Tree Widget
    • Summary of Tree Widget Subcommands
    • General Information About the Tree Widget
  11. Oratcl: An Oracle Interface for Tcl
    • Introduction
    • Basic Oratcl Commands
    • Advanced Oratcl Commands
    • Server Information and Feedback
    • Handling Erros
    • Applications
    • Building Oratcl
    • Command Summary
  12. Sybtcl: A Sybase Interface for Tcl
    • Introduction
    • Basic Sybtcl Commands
    • Advanced Sybtcl Commands
    • Server Information and Feedback
    • Handling Errors
    • Applications
    • Building Sybtcl
    • Command Summary
  13. Expect
    • The Basic Expect Commands
    • Changing Accounts On Multiple Machines
    • Digression — Expect Philosophy
    • Waiting for Different Patterns Simultaneously
    • Timeout
    • Testing Modems and Other Things
    • Partial Automation
    • Dangerous, Unfriendly, or Otherwise Unlikable User Interfaces
    • Graphical Applications
    • Job Control
    • Background Processes — cron, at, and CGI
    • Signal Handling and Debugging
    • Using Expect with Other Programs
    • Using Expect On Non-Unix Systems
    • Obtaining Expect and the Examples
  14. Embedded Tk
    • An Example: "Hello, World!"
    • How To Avoid Reading the Rest of This Chapter
    • A Quick Review of Event-Driven Programs
    • The Main Body of An ET Application
    • Writing Tcl/Tk Routines in C
    • The ET() Function and Its Siblings
    • Including External Tcl/Tk Scripts in a C Program
    • Global Variables In ET
    • Reading from Standard Input
    • Compiling ET Applications
    • Other ET Sample Programs
    • Using ET To Build MS Windows and Macintosh Applications
    • Summary and Acknowledgements
  15. Building Groupware with GroupKit
    • What Is Groupware?
    • Using GroupKit Applications — En End Users View
    • An Example GroupKit Program
    • Coordinating Multiple Users
    • Using Environments To Find Out Information About Users
    • Conference Events
    • Groupware Widgets and Awareness
    • Shared Environments
    • Other GroupKit Features
    • Complete Program Listing
  16. TkReplay: Record and Playback Tools
    • Using TkReplay for Demonstrations and Regression Tests
    • The TkReplay Main Screen
    • First Example; Replaying a Script
    • Second Example: Recording a Script
    • Third Example: A Demonstration
    • Fourth Example: A Regression Test
    • Events and Pseudoevents
    • Loading and Saving Scripts
    • Editing Demonstration Scripts
    • Creating Regression Tests
    • Editing Scripts
    • Calling Scripts from Scripts
    • Connecting To Two Target Applications
    • How TkReplay Works
    • Extending TkReplay To Work with Other Widgets
    • Limitations of TkReplay
    • Tips for Making Recordings
    • The TkReplay Distribution
  17. Configuration Management
    • Getting the Software
    • Building and Installing
    • Directory structures — A Quick Review
    • Combining Extensions
    • Revision Control
    • A Hint for Serious Shops
    • Specifying Interpreters
  18. Development Tools
    • The Tk Demo Directory
    • Widget Tour
    • tkshowkeys
    • Emacs Tcl Mode
    • Tcl and vi
    • zapinterps
  19. Debugging
    • Print Statements
    • BLT Tracing
    • tdebug
    • tkinspect
  20. Security Considerations
    • X Security Overview
    • Testing Your Security
    • Setting Up Security
    • Application Security
  1. Getting Help
    • Tcl Newsgroups
    • FAQ (Frequently Asked Questions) Lists
    • Tcl Archive Sites
    • Web Pages

Reviews

Tcl/Tk Tools

Reviewed by Roland Buresund

Good ******* (7 out of 10)

Last modified: Nov. 18, 2008, 2:20 p.m.

A book about the most common extensions to Tcl/Tk. This is all there is, about this book.

A good introduction to the subject.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required