| |
| |
| |
Introduction | |
| |
| |
Introduction | |
| |
| |
Organization of the Book | |
| |
| |
Notation | |
| |
| |
Pronunciation | |
| |
| |
Versions | |
| |
| |
| |
An Overview of Tcl and Tk | |
| |
| |
Getting Started | |
| |
| |
Hello World with Tk | |
| |
| |
Script Files | |
| |
| |
Variables and Substitutions | |
| |
| |
Control Structures | |
| |
| |
On the Tcl Language | |
| |
| |
Event Bindings | |
| |
| |
Subprocesses | |
| |
| |
Additional Features of Tcl and Tk | |
| |
| |
Extensions and Applications | |
| |
| |
| |
The TCL Language | |
| |
| |
| |
Tcl Language Syntax | |
| |
| |
Scripts, Commands, and Words | |
| |
| |
Evaluating a Command | |
| |
| |
Variable Substitution | |
| |
| |
Command Substitution | |
| |
| |
Backslash Substitution | |
| |
| |
Quoting with Double Quotes | |
| |
| |
Quoting With Braces | |
| |
| |
Comments | |
| |
| |
Normal and Exceptional Returns | |
| |
| |
More on Substitutions | |
| |
| |
| |
Variables | |
| |
| |
Simple Variables and the Set Command | |
| |
| |
Arrays | |
| |
| |
Variable Substitution | |
| |
| |
Removing Variables: Unset | |
| |
| |
Multidimensional Arrays | |
| |
| |
The Incr and Append Commands | |
| |
| |
Predefined Variables | |
| |
| |
Preview of Other Variable Facilities | |
| |
| |
| |
Expressions | |
| |
| |
Numeric Operands | |
| |
| |
Operators and Precedence | |
| |
| |
Math Functions | |
| |
| |
Substitutions | |
| |
| |
String Manipulation | |
| |
| |
Types and Conversions | |
| |
| |
Precision | |
| |
| |
| |
Lists | |
| |
| |
Basic List Structure and the Lindex Command | |
| |
| |
Creating Lists: Concat, List, and Llength | |
| |
| |
Modifying Lists: Linsert, Lreplace, Lrange, and Lappend | |
| |
| |
Searching Lists: Lsearch | |
| |
| |
Sorting Lists: Lsort | |
| |
| |
Converting Between Strings and Lists: Split and Join | |
| |
| |
Lists and Commands | |
| |
| |
| |
Control Flow | |
| |
| |
The If Command | |
| |
| |
Looping Commands: While, For, and Foreach | |
| |
| |
Loop Control: Break and Continue | |
| |
| |
The Switch Command | |
| |
| |
The Eval Command | |
| |
| |
Executing From Files: Source | |
| |
| |
| |
Procedures | |
| |
| |
Procedure Basics: Proc and Return | |
| |
| |
Local and Global Variables | |
| |
| |
Defaults and Variable Numbers of Arguments | |
| |
| |
Call By Reference: Upvar | |
| |
| |
Creating New Control Structures: Uplevel | |
| |
| |
| |
String Manipulation | |
| |
| |
Character Set Issues | |
| |
| |
Glob-Style Pattern Matching | |
| |
| |
Pattern Matching with Regular Expressions | |
| |
| |
Using Regular Expressions for Substitutions | |
| |
| |
Generating Strings with Format | |
| |
| |
Parsing Strings With Scan | |
| |
| |
Extracting Characters: String Index and String Range | |
| |
| |
Searching and Comparison | |
| |
| |
Length, Case Conversion, and Trimming | |
| |
| |
| |
Accessing Files | |
| |
| |
File Names | |
| |
| |
Basic File I/O | |
| |
| |
Output Buffering | |
| |
| |
Random Access to Files | |
| |
| |
The Current Working Directory | |
| |
| |
Manipulating File Names: Glob and File | |
| |
| |
File Information Commands | |
| |
| |
Errors in System Calls | |
| |
| |
| |
Processes | |
| |
| |
Invoking Subprocesses with Exec | |
| |
| |
I/O To and From a Command Pipeline | |
| |
| |
Process Ids | |
| |
| |
Environment Variables | |
| |
| |
Terminating the Tcl Process with Exit | |
| |
| |
| |
Errors and Exceptions | |
| |
| |
What Happens after an Error? | |
| |
| |
Generating Errors from Tcl Scripts | |
| |
| |
Trapping Errors with Catch | |
| |
| |
Exceptions in General | |
| |
| |
| |
Managing Tcl Internals | |
| |
| |
Querying the Elements of an Array | |
| |
| |
The Info Command | |
| |
| |
Timing Command Execution | |
| |
| |
Tracing Operations on Variables | |
| |
| |
Renaming and Deleting Commands | |
| |
| |
Unknown Commands | |
| |
| |
Autoloading | |
| |
| |
| |
History | |
| |
| |
The History List | |
| |
| |
Specifying Events1 | |
| |
| |
Reexecuting Commands from the History List | |
| |
| |
Shortcuts Implemented by Unknown | |
| |
| |
Current Event Number: History Nextid | |
| |
| |
| |
Writing Scripts for TK | |
| |
| |
| |
An Introduction to Tk | |
| |
| |
A Brief Introduction to X | |
| |
| |
Widgets | |
| |
| |
Applications, Top-Level Widgets, and Screens | |
| |
| |
Scripts and Events | |
| |
| |
Creating and Destroying Widgets | |
| |
| |
Geometry Managers | |
| |
| |
Widget Commands | |
| |
| |
Commands for Interconnection | |
| |
| |
| |
A Tour of the Tk Widgets | |
| |
| |
Frames | |
| |
| |
Toplevels | |
| |
| |
Labels | |
| |
| |
Buttons, Checkbuttons, and Radiobuttons | |
| |
| |
Messages | |
| |
| |
Listboxes | |
| |
| |
Scrollbars | |
| |
| |
Scales | |
| |
| |
Entries | |
| |
| |
Menus and Menubuttons | |
| |
| |
Other Common Options | |
| |
| |
| |
Geometry Managers: the Packer | |
| |
| |
An Overview of Geometry Management | |
| |
| |
Packer Basics | |
| |
| |
The Pack Command and -Side Options | |
| |
| |
Padding | |
| |
| |
Filling | |
| |
| |
Expansion | |
| |
| |
Anchors | |
| |
| |
Packing Order | |
| |
| |
Hierarchical Packing | |
| |
| |
Other Options to the Pack Command | |
| |
| |
Other Geometry Managers in Tk | |
| |
| |
| |
Bindings | |
| |
| |
X Events | |
| |
| |
An Overview of the Bind Command | |
| |
| |
Event Patterns | |
| |
| |
Sequences of Events | |
| |
| |
Substitutions in Scripts | |
| |
| |
Conflict Resolution | |
| |
| |
When are Events Processed?Background Errors: Tkerror | |
| |
| |
Other Uses of Bindings | |
| |
| |
| |
Canvas and Text Widgets | |
| |
| |
Canvas Basics: Items and Types | |
| |
| |
Manipulating Items with Identifiers and Tags | |
| |
| |
Bindings | |
| |
| |
Other Canvas Features | |
| |
| |
Text Widgets | |
| |
| |
Text Indices and Marks | |
| |
| |
Text Tags | |
| |
| |
| |
The Selection | |
| |
| |
Selection | |