| | Copyright |
| | List of Examples |
| | List of Tables |
| | Preface |
| | | Why Tcl? |
| | | Tcl and Tk Versions |
| | | Who Should Read This Book |
| | | How to Read This Book |
| | | Other Tcl Books |
| | | On-line Examples |
| | | Ftp Archives |
| | | World Wide Web |
| | | Newsgroups |
| | | Typographic Conventions |
| | | Hot Tips |
| | | Book Organization |
| | | What's New in the Third Edition |
| | | First Edition Thanks |
| | | Second Edition Thanks |
| | | Third Edition Thanks |
| | | Contact the Author |
|
| | Part I. Tcl Basics |
| | | Chapter 1. Tcl Fundamentals |
| | | Tcl Commands |
| | | Hello, World! |
| | | Variables |
| | | Command Substitution |
| | | Math Expressions |
| | | Backslash Substitution |
| | | Grouping with Braces and Double Quotes |
| | | Procedures |
| | | A Factorial Example |
| | | More about Variables |
| | | More about Math Expressions |
| | | Comments |
| | | Substitution and Grouping Summary |
| | | Fine Points |
| | | Reference |
|
| | | Chapter 2. Getting Started |
| | | The source Command |
| | | UNIX Tcl Scripts |
| | | Windows 95 Start Menu |
| | | The Macintosh and ResEdit |
| | | The console Command |
| | | Command-Line Arguments |
| | | Predefined Variables |
|
| | | Chapter 3. The Guestbook CGI Application |
| | | A Quick Introduction to HTML |
| | | CGI for Dynamic Pages |
| | | The guestbook.cgi Script |
| | | Defining Forms and Processing Form Data |
| | | The cgi.tcl Package |
| | | Next Steps |
|
| | | Chapter 4. String Processing in Tcl |
| | | The string Command |
| | | The append Command |
| | | The format Command |
| | | The scan Command |
| | | The binary Command |
| | | Related Chapters |
|
| | | Chapter 5. Tcl Lists |
| | | Tcl Lists |
| | | Constructing Lists |
| | | Getting List Elements: llength, lindex, and lrange |
| | | Modifying Lists: linsert and lreplace |
| | | Searching Lists: lsearch |
| | | Sorting Lists: lsort |
| | | The split Command |
| | | The join Command |
| | | Related Chapters |
|
| | | Chapter 6. Control Structure Commands |
| | | If Then Else |
| | | Switch |
| | | While |
| | | Foreach |
| | | For |
| | | Break and Continue |
| | | Catch |
| | | Error |
| | | Return |
|
| | | Chapter 7. Procedures and Scope |
| | | The proc Command |
| | | Changing Command Names with rename |
| | | Scope |
| | | The global Command |
| | | Call by Name Using upvar |
| | | Variable Aliases with upvar |
|
| | | Chapter 8. Tcl Arrays |
| | | Array Syntax |
| | | The array Command |
| | | Building Data Structures with Arrays |
|
| | | Chapter 9. Working with Files and Programs |
| | | Running Programs with exec |
| | | The file Command |
| | | Cross-Platform File Naming |
| | | Manipulating Files and Directories |
| | | File Attributes |
| | | Input/Output Command Summary |
| | | Opening Files for I/O |
| | | Reading and Writing |
| | | The Current Directory ?cd and pwd |
| | | Matching File Names with glob |
| | | The exit and pid Commands |
| | | Environment Variables |
| | | The registry Command |
|
|
| | Part II. Advanced Tcl |
| | | Chapter 10. Quoting Issues and Eval |
| | | Constructing Code with the list Command |
| | | Exploiting the concat inside eval |
| | | The uplevel Command |
| | | The subst Command |
|
| | | Chapter 11. Regular Expressions |
| | | When to Use Regular Expressions |
| | | Regular Expression Syntax |
| | | Advanced Regular Expressions |
| | | Syntax Summary |
| | | The regexp Command |
| | | The regsub Command |
| | | Transforming Data to Program with regsub |
| | | Other Commands That Use Regular Expressions |
|
| | | Chapter 12. Script Libraries and Packages |
| | | Locating Packages: The auto_path Variable |
| | | Using Packages |
| | | Summary of Package Loading |
| | | The package Command |
| | | Libraries Based on the tclIndex File |
| | | The unknown Command |
| | | Interactive Conveniences |
| | | Tcl Shell Library Environment |
| | | Coding Style |
|
| | | Chapter 13. Reflection and Debugging |
| | | The clock Command |
| | | The info Command |
| | | Cross-Platform Support |
| | | Tracing Variable Values |
| | | Interactive Command History |
| | | Debugging |
| | | Scriptics' TclPro |
| | | Other Tools |
| | | Performance Tuning |
|
| | | Chapter 14. Namespaces |
| | | Using Namespaces |
| | | Namespace Variables |
| | | Command Lookup |
| | | Nested Namespaces |
| | | Importing and Exporting Procedures |
| | | Callbacks and Namespaces |
| | | Introspection |
| | | The namespace Command |
| | | Converting Existing Packages to use Namespaces |
| | | [incr Tcl] Object System |
| | | Notes |
|
| | | Chapter 15. Internationalization |
| | | Character Sets and Encodings |
| | | Message Catalogs |
|
| | | Chapter 16. Event-Driven Programming |
| | | The Tcl Event Loop |
| | | The after Command |
| | | The fileevent Command |
| | | The vwait Command |
| | | The fconfigure Command |
|
| | | Chapter 17. Socket Programming |
| | | Client Sockets |
| | | Server Sockets |
| | | The Echo Service |
| | | Fetching a URL with HTTP |
| | | The http Package |
| | | Basic Authentication |
|
| | | Chapter 18. TclHttpd Web Server |
| | | Integrating TclHttpd with your Application |
| | | Domain Handlers |
| | | Application Direct URLs |
| | | Document Types |
| | | HTML + Tcl Templates |
| | | Form Handlers |
| | | Programming Reference |
| | | Standard Application-Direct URLs |
| | | The TclHttpd Distribution |
| | | Server Configuration |
|
| | | Chapter 19. Multiple Interpreters and Safe-Tcl |
| | | The interp Command |
| | | Creating Interpreters |
| | | Safe Interpreters |
| | | Command Aliases |
| | | Hidden Commands |
| | | Substitutions |
| | | I/O from Safe Interpreters |
| | | The Safe Base |
| | | Security Policies |
|
| | | Chapter 20. Safe-Tk and the Browser Plugin |
| | | Tk in Child Interpreters |
| | | The Browser Plugin |
| | | Security Policies and Browser Plugin |
| | | Configuring Security Policies |
|
|
| | Part III. Tk Basics |
| | | Chapter 21. Tk Fundamentals |
| | | Hello, World! in Tk |
| | | Naming Tk Widgets |
| | | Configuring Tk Widgets |
| | | Tk Widget Attributes and the Resource Database |
| | | Summary of the Tk Commands |
|
| | | Chapter 22. Tk by Example |
| | | ExecLog |
| | | The Example Browser |
| | | A Tcl Shell |
|
| | | Chapter 23. The Pack Geometry Manager |
| | | Packing toward a Side |
| | | Horizontal and Vertical Stacking |
| | | The Cavity Model |
| | | Packing Space and Display Space |
| | | Resizing and -expand |
| | | Anchoring |
| | | Packing Order |
| | | Choosing the Parent for Packing |
| | | Unpacking a Widget |
| | | Packer Summary |
| | | Window Stacking Order |
|
| | | Chapter 24. The Grid Geometry Manager |
| | | A Basic Grid |
| | | Spanning Rows and Columns |
| | | Row and Column Constraints |
| | | The grid Command |
|
| | | Chapter 25. The Place Geometry Managery |
| | | place Basics |
| | | The Pane Manager |
| | | The place Command |
|
| | | Chapter 26. Binding Commands to Events |
| | | The bind Command |
| | | The bindtags Command |
| | | Event Syntax |
| | | Modifiers |
| | | Event Sequences |
| | | Virtual Events |
| | | Event Keywords |
|
|
| | Part IV. Tk Widgets |
| | | Chapter 27. Buttons and Menus |
| | | Button Commands and Scope Issues |
| | | Buttons Associated with Tcl Variables |
| | | Button Attributes |
| | | Button Operations |
| | | Menus and Menubuttons |
| | | Keyboard Traversal |
| | | Manipulating Menus and Menu Entries |
| | | Menu Attributes |
| | | A Menu by Name Package |
|
| | | Chapter 28. The Resource Database |
| | | An Introduction to Resources |
| | | Loading Option Database Files |
| | | Adding Individual Database Entries |
| | | Accessing the Database |
| | | User-Defined Buttons |
| | | User-Defined Menus |
|
| | | Chapter 29. Simple Tk Widgets |
| | | Frames and Toplevel Windows |
| | | The Label Widget |
| | | The Message Widget |
| | | The Scale Widget |
| | | The bell Command |
|
| | | Chapter 30. Scrollbars |
| | | Using Scrollbars |
| | | The Scrollbar Protocol |
| | | The Scrollbar Widget |
|
| | | Chapter 31. The Entry Widget |
| | | Using Entry Widgets |
| | | The Entry Widget |
|
| | | Chapter 32. The Listbox Widget |
| | | Using Listboxes |
| | | Listbox Bindings |
| | | Listbox Attributes |
|
| | | Chapter 33. The Text Widget |
| | | Text Indices |
| | | Text Marks |
| | | Text Tags |
| | | The Selection |
| | | Tag Bindings |
| | | Searching Text |
| | | Embedded Widgets |
| | | Embedded Images |
| | | Looking inside the Text Widget |
| | | Text Bindings |
| | | Text Operations |
| | | Text Attributes |
|
| | | Chapter 34. The Canvas Widget |
| | | Canvas Coordinates |
| | | Hello, World! |
| | | The Min Max Scale Example |
| | | Canvas Objects |
| | | Canvas Operations |
| | | Generating Postscript |
| | | Canvas Attributes |
| | | Hints |
|
|
| | Part V. Tk Details |
| | | Chapter 35. Selections and the Clipboard |
| | | The Selection Model |
| | | The selection Command |
| | | The clipboard Command |
| | | Selection Handlers |
|
| | | Chapter 36. Focus, Grabs, and Dialogs |
| | | Standard Dialogs |
| | | Custom Dialogs |
| | | Animation with the update Command |
|
| | | Chapter 37. Tk Widget Attributes |
| | | Configuring Attributes |
| | | Size |
| | | Borders and Relief |
| | | The Focus Highlight |
| | | Padding and Anchors |
|
| | | Chapter 38. Color, Images, and Cursors |
| | | Colors |
| | | Colormaps and Visuals |
| | | Bitmaps and Images |
| | | The Text Insert Cursor |
| | | The Mouse Cursor |
|
| | | Chapter 39. Fonts and Text Attributes |
| | | Naming a Font |
| | | X Font Names |
| | | Font Metrics |
| | | The font Command |
| | | Text Attributes |
| | | Gridding, Resizing, and Geometry |
| | | A Font Selection Application |
|
| | | Chapter 40. Send |
| | | The send Command |
| | | The Sender Script |
| | | Communicating Processes |
| | | Remote eval through Sockets |
|
| | | Chapter 41. Window Managers and Window Information |
| | | The wm Command |
| | | The winfo Command |
| | | The tk Command |
|
| | | Chapter 42. Managing User Preferences |
| | | App-Defaults Files |
| | | Defining Preferences |
| | | The Preferences User Interface |
| | | Managing the Preferences File |
| | | Tracing Changes to Preference Variables |
| | | Improving the Package |
|
| | | Chapter 43. A User Interface to Bindings |
| | | A Pair of Listboxes Working Together |
| | | The Editing Interface |
| | | Saving and Loading Bindings |
|
|
| | Part VI. C Programming |
| | | Chapter 44. C Programming and Tcl |
| | | Basic Concepts |
| | | Creating a Loadable Package |
| | | A C Command Procedure |
| | | The blob Command Example |
| | | Strings and Internationalization |
| | | Tcl_Main and Tcl_AppInit |
| | | The Event Loop |
| | | Invoking Scripts from C |
|
| | | Chapter 45. Compiling Tcl and Extensions |
| | | Standard Directory Structure |
| | | Building Tcl from Source |
| | | Using Stub Libraries |
| | | Using autoconf |
| | | The Sample Extension |
|
| | | Chapter 46. Writing a Tk Widget in C |
| | | Initializing the Extension |
| | | The Widget Data Structure |
| | | The Widget Class Command |
| | | The Widget Instance Command |
| | | Configuring and Reconfiguring Attributes |
| | | Specifying Widget Attributes |
| | | Displaying the Clock |
| | | The Window Event Procedure |
| | | Final Cleanup |
|
| | | Chapter 47. C Library Overview |
| | | An Overview of the Tcl C Library |
| | | An Overview of the Tk C Library |
|
|
| | Part VII. Changes |
| | | Chapter 48. Tcl 7.4/Tk 4.0 |
| | | wish |
| | | Obsolete Features |
| | | The cget Operation |
| | | Input Focus Highlight |
| | | Bindings |
| | | Scrollbar Interface |
| | | pack info |
| | | Focus |
| | | The send Command |
| | | Internal Button Padding |
| | | Radiobutton Value |
| | | Entry Widget |
| | | Menus |
| | | Listboxes |
| | | No geometry Attribute |
| | | Text Widget |
| | | Color Attributes |
| | | Color Allocation and tk colormodel |
| | | Canvas scrollincrement |
| | | The Selection |
| | | The bell Command |
|
| | | Chapter 49. Tcl 7.5/Tk 4.1 |
| | | Cross-Platform Scripts |
| | | The clock Command |
| | | The load Command |
| | | The package Command |
| | | Multiple foreach loop variables |
| | | Event Loop Moves from Tk to Tcl |
| | | Network Sockets |
| | | Multiple Interpreters and Safe-Tcl |
| | | The grid Geometry Manager |
| | | The Text Widget |
| | | The Entry Widget |
|
| | | Chapter 50. Tcl 7.6/Tk 4.2 |
| | | More file Operations |
| | | Virtual Events |
| | | Standard Dialogs |
| | | New grid Geometry Manager |
| | | Macintosh unsupported1 Command |
|
| | | Chapter 51. Tcl/Tk 8.0 |
| | | The Tcl Compiler |
| | | Namespaces |
| | | Safe-Tcl |
| | | New lsort |
| | | tcl_precision Variable |
| | | Year 2000 Convention |
| | | Http Package |
| | | Serial Line I/O |
| | | Platform-Independent Fonts |
| | | The tk scaling Command |
| | | Application Embedding |
| | | Native Menus and Menubars |
| | | CDE Border Width |
| | | Native Buttons and Scrollbars |
| | | Images in Text Widgets |
| | | No Errors from destroy |
| | | grid rowconfigure |
| | | The Patch Releases |
|
| | | Chapter 52. Tcl/Tk 8.1 |
| | | Unicode and Internationalization |
| | | Thread Safety |
| | | Advanced Regular Expressions |
| | | New String Commands |
| | | The DDE Extension |
| | | Miscellaneous |
|
| | | Chapter 53. Tcl/Tk 8.2 |
| | | The Trf Patch |
| | | Faster String Operations |
| | | Empty Array Names |
| | | Brower Plugin Compatiblity |
|
| | | Chapter 54. Tcl/Tk 8.3 |
| | | Proposed Tcl Changes |
| | | Proposed Tk Changes |
|
| | | Chapter 55. About The CD-ROM |
| | | Technical Support |
|
|
| | Index |