Tcl and the Tk toolkit:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ
Addison-Wesley Professional
2010
|
Ausgabe: | 2. ed., 1. print. |
Schriftenreihe: | Addison-Wesley professional computing series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXXIV, 773 S. Ill., graph. Darst. |
ISBN: | 9780321336330 032133633X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035088456 | ||
003 | DE-604 | ||
005 | 20101005 | ||
007 | t | ||
008 | 081008s2010 ad|| |||| 00||| eng d | ||
020 | |a 9780321336330 |9 978-0-321-33633-0 | ||
020 | |a 032133633X |9 0-321-33633-X | ||
035 | |a (OCoLC)359890588 | ||
035 | |a (DE-599)BVBBV035088456 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-91G |a DE-83 |a DE-Aug4 |a DE-573 | ||
050 | 0 | |a QA76.73.T44 | |
082 | 0 | |a 005.13/3 |2 22 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 281 |0 (DE-625)143646: |2 rvk | ||
084 | |a DAT 430f |2 stub | ||
084 | |a DAT 332f |2 stub | ||
100 | 1 | |a Ousterhout, John K. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Tcl and the Tk toolkit |c John K. Ousterhout ; Ken Jones |
250 | |a 2. ed., 1. print. | ||
264 | 1 | |a Upper Saddle River, NJ |b Addison-Wesley Professional |c 2010 | |
300 | |a XXXIV, 773 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Addison-Wesley professional computing series | |
630 | 0 | 4 | |a Tk toolkit |
650 | 4 | |a Tcl (Computer program language) | |
650 | 0 | 7 | |a Tk |0 (DE-588)4361526-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Tcl |0 (DE-588)4361529-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a X Window System |0 (DE-588)4248284-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierumgebung |0 (DE-588)4134837-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Programmierumgebung |0 (DE-588)4134837-0 |D s |
689 | 0 | 1 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |D s |
689 | 0 | 2 | |a X Window System |0 (DE-588)4248284-7 |D s |
689 | 0 | 3 | |a Tcl |0 (DE-588)4361529-6 |D s |
689 | 0 | 4 | |a Tk |0 (DE-588)4361526-0 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Jones, Ken |e Verfasser |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016756617&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016756617 |
Datensatz im Suchindex
_version_ | 1813154979135881216 |
---|---|
adam_text |
Titel: Tcl and the Tk toolkit
Autor: Ousterhout, John K.
Jahr: 2010
Contents
Preface
Preface to the First Edition
Introduction
xxv
xxvii
xxxi
PART i The Tcf Language
Chapter 1 An Overview of Tcf and Tk
1.1 Getting Started
1.2 "Hello, World!" with Tk
1.3 Script Piles
1.3.1 Executable Scripts on Unix and Mac OS X
1.3.2 Executable Scripts oe Windows
1.3.3 Executing Scripts in an Interactive Interpreter
1.4 Variables and Substitutions
1.5 Control Structures
1.6 On the Tel Language
1.7 Event Bindings
1.8 Additional Features of Tel and Tk
1
3
3
6
8
9
9
10
11
14
15
19
Chapter 2 Tel Language Syntax 21
2.1 Scripts, Commands, and Words 21
2.2 Evaluating a Command 22
2.3 Variable Substitution 24
2.4 Command Substitution 26
2.5 Backslash Substitution 26
2.6 Quoting with Double Quotes 28
2.7 Quoting with Braces 29
2.8 Argument Expansion 30
2.9 Comments 32
2.10 Normal and Exceptional Returns 35
2.11 More on Substitutions 36
Chapter 3 Variables 39
3.1 Commands Presented in This Chapter 39
3.2 Simple Variables and the set Command 41
3.3 Tcl's Internal Storage of Data 41
3.4 Arrays 42
3.5 Variable Substitution 43
3.6 Multidimensional Arrays 45
3.7 Querying the Elements of an Array 46
3.8 The incr and append Commands 47
3.9 Removing Variables: unset and array unset 49
3.10 Predefined Variables 49
3.11 Preview of Other Variable Facilities 50
Chapter 4 Expressions 53
4.1 Commands Presented in This Chapter 53
4.2 Numeric Operands 54
4.3 Operators and Precedence 55
4.3.1 Arithmetic Operators 56
4.3.2 Relational Operators 56
4.3.3 Logical Operators 57
4.3.4 Bit-wise Operators 57
4.3.5 Choice Operator 58
4.4 Math Functions 58
4.5 Substitutions 60
4.6 String Manipulation 62
4.7 List Manipulation 63
4.8 Types and Conversions 63
4.9 Precision 64
Chapter 5 String Manipulation 65
5.1 Commands Presented in This Chapter 65
5.2 Extracting Characters: string index and
string range 69
5.3 Length, Case Conversion, Trimming, and Repeating 70
5.4 Simple Searching 70
5.5 String Comparisons 71
5.6 String Replacements 72
5.7 Determining String Types 73
5.8 Generating Strings with format 74
5.9 Parsing Strings with scan 76
5.10 Glob-Style Pattern Matching 78
5.11 Pattern Matching with Regular Expressions 79
5.11.1 Regular Expression Atoms 80
5.11.2 Regular Expression Branches and Quantifiers 84
5.11.3 Back References 85
5.11.4 Non-capturing Subexpressions 85
5.11.5 The regexp Command 86
5.12 Using Regular Expressions for Substitutions 87
5.13 Character Set Issues 89
5.13.1 Character Encodings and the Operating System 89
5.13.2 Encodings and Channel Input/output 90
5.13.3 Converting Strings to Different Encodings 91
5.14 Message Catalogs 91
5.14.1 Using Message Catalogs 91
5.14.2 Creating Localized Message Files 93
5.14.3 Using Conversion Specifiers in Source and
Translation Strings 94
5.14.4 Using Message Catalogs with Namespaces 95
5.15 Binary Strings 95
Chapter 6
Chapter 7
Lists
6.1 Commands Presented in This Chapter
6.2 Basic List Structure and the 1 index and 1 length
Commands
6.3 Creating Lists: list, concat, and Irepeat
6.4 Modifying Lists: Irange, linsert, lreplace, lset,
and lappend
6.5 Extracting List Elements: lassign
6.6 Searching Lists: 1 search
6.7 Sorting Lists: 1 sort
6.8 Converting between Strings and Lists: split and join
6.9 Creating Commands as Lists
Dictionaries
7.1 Commands Presented in This Chapter
7.2 Basic Dictionary Structure and the diet get
Command
7.3 Creating and Updating Dictionaries
7.4 Examining Dictionaries: The size, exists, keys,
and for Subcommands
7.5 Updating Dictionary Values
7.6 Working with Nested Dictionaries
Control Flow
8.1 Commands Presented in This Chapter
8.2 The if Command
8.3 The switch Command
8.4 Looping Commands: while, for, and foreach
8.5 Loop Control: break and continue
8.6 The eval Command
8.7 Executing from Files: source
Chapter 9 Procedures
9.1 Commands Presented in This Chapter
9.2 Procedure Basics: proc and return
9.3 Local and Global Variables
9.4 Defaults and Variable Numbers of Arguments
Chapter 8
101
101
103
105
106
109
110
111
111
113
115
116
118
120
122
123
126
131
131
132
133
136
138
139
140
143
143
144
146
146
9.5 Call by Reference: upvar 148
9.6 Creating New Control Structures: uplevel 150
9.7 Applying Anonymous Procedures 151
Chapter 10 Namespaces 155
10.1 Commands Presented in This Chapter 155
10.2 Evaluating Tel Code in a Namespace 158
10.3 Manipulating Qualified Names 161
10.4 Exporting and Importing Namespace Commands 162
10.5 Inspecting Namespaces 163
10.6 Working with Ensemble Commands 164
10.6.1 Basic Ensembles 164
10.6.2 Placing Ensembles Inside Ensembles 165
10.6.3 Controlling the Ensemble Configuration 166
10.6.4 Handling Unknown Ensemble Subcommands 167
10.7 Accessing Variables from Other Namespaces 169
10.8 Controlling the Name Resolution Path 170
Chapter 11 Accessing Files 173
11.1 Commands Presented in This Chapter 173
11.2 Manipulating File and Directory Names 176
11.3 The Current Working Directory 179
11.4 Listing Directory Contents 179
11.5 Working with Files on Disk 181
11.5.1 Creating Directories 181
11.5.2 Deleting Files 181
11.5.3 Copying Files 182
11.5.4 Renaming and Moving Files 183
11.5.5 File Information Commands 183
11.5.6 Dealing with Oddly Named Files 185
11.6 Reading and Writing Files 185
11.6.1 Basic File I/O 186
11.6.2 Output Buffering 188
11.6.3 Handling Platform End-of-Line Conventions 188
11.6.4 Handling Character Set Encoding 190
11.6.5 Working with Binary Files 190
11.6.6 Random Access to Files 191
11.6.7 Copying File Content 192
11.7 Virtual File Systems 194
11.8 Errors in System Calls 196
Chapter 12 Processes and Interprocess Communication 197
12.1 Commands Presented in This Chapter 197
12.2 Terminating the Tel Process with exit 199
12.3 Invoking Subprocesses with exec 199
12.4 I/O to and from a Command Pipeline 203
12.5 Configuring Channel Options 204
12.5.1 Channel Blocking Mode 204
12.5.2 Channel Buffering Mode 205
12.6 Event-Driven Channel Interaction 206
12.6.1 Entering the Tel Event Loop with vwait 206
12.6.2 Registering File Event Handlers 207
12.7 Process IDs 209
12.8 Environment Variables 210
12.9 TCP/IP Socket Communication 210
12.9.1 Creating Client Communication Sockets 210
12.9.2 Creating Server Sockets 212
12.10 Sending Commands to Tel Programs 214
12.10.1 Basics of send 215
12.10.2 Application Names 216
12.10.3 Security Issues with send 217
Chapter 13 Errors and Exceptions 219
13.1 Commands Presented in This Chapter 219
13.2 What Happens after an Error? 220
13.3 Generating Errors from Tel Scripts 222
13.4 Trapping Errors with catch 222
13.5 Exceptions in General 223
13.6 Background Errors and bgerror 227
Chapter 14 Creating and Using Tcf Script Libraries 229
14.1 Commands Presented in This Chapter 230
14.2 Tlie load Command 232
14.3 Using Libraries 232
14.4 Autoloading 233
14.5 Packages 234
14.5.1 Using Packages 235
14.5.2 Creating Packages 235
14.5.3 Using :: pkg:: create 237
14.5.4 Installing Packages 238
14.5.5 Utility Package Commands 238
14.6 Tel Modules 239
14.6.1 Using Tel Modules 239
14.6.2 Installing Tel Modules 240
14.7 Packaging Your Scripts as Starkits 242
14.7.1 Installing a Tclkit 243
14.7.2 Creating Starkits 243
14.7.3 Creating a Platform-Specific Executable 245
Chapter 15 Managing Tel Internals 247
15.1 Commands Presented in This Chapter 247
15.2 Time Delays 253
15.3 Time and Date Manipulation 254
15.3.1 Generating Human-Readable Time and
Date Strings 254
15.3.2 Scanning Human-Readable Time and Date Strings 257
15.3.3 Performing Clock Arithmetic 258
15.4 Timing Command Execution 259
15.5 The info Command 259
15.5.1 Information about Variables 260
15.5.2 Information about Procedures 261
15.5.3 Information about Commands 262
15.5.4 The Tel Interpreter Version and Other Runtime
Environment Information 264
15.6 Tracing Operations on Simple Variables 264
15.7 Tracing Array Variables 268
15.8 Renaming and Deleting Commands 269
15.9 Tracing Commands 270
15.10 Unknown Commands 272
15.11 Slave Interpreters 274
15.11.1 Command Aliases 276
15.11.2 Safe Slave Interpreters and Hidden Commands 277
15.11.3 Transferring Channels between Interpreters 279
15.11.4 Placing Limits on an Interpreter 280
Chapter 16 History 283
16.1 Commands Presented in This Chapter 283
16.2 The History List 284
16.3 Specifying Events 285
16.4 Re-executing Commands from the History List 285
16.5 Shortcuts Implemented by unknown 286
16.6 Current Event Number: history nextid 287
PART II Writing Scripts for Tk 289
Chapter 17 An Introduction to Tk 291
17.1 A Brief Introduction to Windowing Systems 292
17.2 Widgets 294
17.3 Applications, Toplevel Widgets, and Screens 296
17.4 Scripts and Events 297
17.5 Creating and Destroying Widgets 297
17.6 Geometry Managers 298
17.7 Widget Commands 299
17.8 Commands for Interconnection 300
Chapter 18 A Tour of the Tk Widgets 303
18.1 Widget Basics 304
18.2 Frames 306
18.2.1 Relief Options 306
18.2.2 Screen Distance Options 307
18.3 Color Options 307
18.3.1 Synonyms 308
18.4 Toplevels 308
18.5 Labels 309
18.5.1 Text Options 309
18.5.2 Font Options 310
18.5.3 Image Options 311
18.5.4 Compound Options 312
18.6 Labelframes 312
18.7 Buttons 312
18.7.1 Checkbuttons 313
18.7.2 Radiobuttons 315
18.7.3 Menubuttons 316
18.8 Listboxes 317
18.9 Scrollbars 318
18.9.1 Scrolling a Single Widget 319
18.9.2 Synchronized Scrolling of Multiple Widgets 320
18.10 Scales 321
18.11 Entries 323
18.11.1 Entry Widget 323
18.11.2 Spinbox 324
18.11.3 The show Option 325
18.11.4 Validation 325
18.12 Menus 327
18.12.1 Pull-Down Menus 329
18.12.2 Cascaded Menus 331
18.12.3 Keyboard Traversal and Shortcuts 332
18.12.4 Platform-Specific Menus 333
18.12.5 Pop-up Menus 334
18.13 Panedwindow 334
18.14 Standard Dialogs 337
18.15 Other Common Options 339
18.15.1 Widget State 339
18.15.2 Widget Size Options 339
18.15.3 Anchor Options 340
18.15.4 Internal Padding 341
18.15.5 Cursor Options 341
Themed Widgets 343
19.1 Comparing Classic and Themed Widgets 343
19.2 Combobox 345
19.3 Notebook 346
19.4 Progressbar 349
19.5 Separator 350
19.6 Sizegrip 350
19.7 Treeview 350
19.7.1 Manipulating Treeview Items 350
19.7.2 Managing Treeview Columns and Headings 353
19.7.3 Treeview Item Selection Management 355
19.7.4 Treeview Item Tags 356
19.8 Themed Widget States 358
19.9 Themed Widget Styles 360
19.9.1 Using Themes 360
19.9.2 The Elements of Style 361
19.9.3 Creating and Configuring Styles 362
19.10 Other Standard Themed Widget Options 364
Chapter 20 Fonts, Bitmaps, and Images 367
20.1 Commands Presented in This Chapter 367
20.2 The font Command 369
20.2.1 Manipulating and Using Named Fonts 370
20.2.2 Other Font Utilities 373
20.2.3 Font Descriptions 374
20.3 The image Command 375
20.3.1 Bitmap Images 376
20.3.2 Photo Images 377
20.3.3 Images and Namespaces 383
Chapter 21 Geometry Managers 385
21.1 Commands Presented in This Chapter 386
21.2 An Overview of Geometry Management 387
21.3 The Gridder 389
21.3.1 The grid Command and the-sticky Options 392
21.3.2 Spanning Rows and Columns 393
21.3.3 Stretch Behavior and the -weight and
-uniform Options 394
21.3.4 Relative Placement Characters 395
21.4 The Packer 396
21.4.1 The pack Command and -side Options 399
21.4.2 Filling 400
21.4.3 Expansion 401
21.4.4 Anchors 403
21.4.5 Packing Order 404
21.5 Padding 404
21.6 The Placer 405
21.7 Hierarchical Geometry Management 405
21.8 Widget Stacking Order 407
21.9 Other Geometry Manager Options 408
21.10 Other Geometry Managers in Tk 409
Chapter 22 Events and Bindings 413
22.1 Commands Presented in This Chapter 413
22.2 Events 414
22.3 An Overview of the bind Command 416
22.4 Event Patterns 417
22.5 Sequences of Events 419
22.6 Substitutions in Scripts 419
22.7 Conflict Resolution 421
22.8 Event-Binding Hierarchy 422
22.9 When Are Events Processed? 423
22.10 Named Virtual Events 425
22.11 Generating Events 427
22.12 Logical Actions 428
22.13 Other Uses of Bindings 431
Chapter 23 The Canvas Widget 433
23.1 Canvas Basics: Items and Types 433
23.2 Manipulating Items with Identifiers and Tags 436
23.3 Bindings 439
23.4 Canvas Scrolling 444
23.5 PostScript Generation 445
Chapter 24 The Text Widget 447
24.1 Text Widget Basics 447
24.2 Text Indices and Marks 450
24.3 Search and Replace 451
24.4 Text Tags 453
24.4.1 Tag Options 454
24.4.2 Tag Priorities 457
24.4.3 Tag Bindings 457
24.5 Virtual Events 458
24.6 Embedded Windows 459
24.7 Embedded Images 460
24.8 Undo 462
24.9 Peer Text Widgets 464
Chapter 25 Selection and the Clipboard 467
25.1 Commands Presented in This Chapter 468
25.2 Selections, Retrievals, and Types 469
25.3 Locating and Clearing the Selection 470
25.4 Supplying the Selection with Tel Scripts 471
25.5 The clipboard Command 473
25.6 Drag and Drop 474
Chapter 26 Window Managers 477
26.1 Commands Presented in This Chapter 478
26.2 Window Sizes 481
26.3 Window Positions 482
26.4 Gridded Windows 483
26.5 Window States 484
26.6 Decorations 485
26.7 Special Handling: Transients, Groups, and
Override-Redirect 486
26.8 System-Specific Window Attributes 487
26.9 Dockable Windows 488
26.10 Window Close 489
26.11 Session Management 490
Chapter 27 Focus, Modal Interaction, and Custom Dialogs 491
27.1 Commands Presented in This Chapter 491
27.2 Input Focus 493
27.2.1 Focus Model: Explicit versus Implicit 493
27.2.2 Setting the Input Focus 494
27.2.3 Querying the Input Focus 494
27.3 Modal Interactions 495
27.3.1 Grabs 495
27.3.2 Local versus Global Grabs 496
27.3.3 Keyboard Handling during Grabs 497
27.3.4 Waiting: The tkwait Command 497
27.4 Custom Dialogs 499
Chapter 28 More on Configuration Options 505
28.1 Commands Presented in This Chapter 505
28.2 The Option Database 506
28.3 Option Database Entries 507
28.4 The RESOURCE_MANAGER Property and
.XdefaultsFile 508
28.5 Priorities in the Option Database 509
28.6 The option Command 510
28.7 The configure Widget Command 511
28.8 The cget Widget Command 512
Chapter 29 Odds and Ends 513
29.1 Commands Presented in This Chapter 513
29.2 Destroying Widgets 514
29.3 The update Command 514
29.4 Information about Widgets 516
29.5 The tk Command 516
29.6 Variables Managed by Tk 517
29.7 Ringing the Bell 518
PART Hi Writing Tel Applications in C 519
Chapter 30 Tel and C Integration Philosophy 521
30.1 Tel versus C: Where to Draw the Line 523
30.2 Resource Names?Connecting C Constructs to Tel 524
30.3 "Action-Oriented" versus "Object-Oriented" 525
30.4 Representing Information 526
Chapter 31 Interpreters 527
31.1 Functions Presented in This Chapter 527
31.2 Interpreters 529
31.3 A Simple Tel Application 530
31.4 Deleting Interpreters 531
31.5 Multiple Interpreters 531
Chapter 32 Td Objects 533
32.1 Functions Presented in This Chapter 534
32.2 String Objects 537
32.3 Numerical Objects 537
32.4 Fetching C Values from Objects 538
32.5 The Dynamie Nature of a Tel Object 539
32.6 Byte Arrays 540
32.7 Composite Objects 540
32.8 Reference Counting 540
32.9 Shared Objects 541
32.10 New Object Types 542
32.11 Parsing Strings 543
32.12 Memory Allocation 544
Chapter 33 Evaluating Tel Code 545
33.1 Functions Presented in This Chapter 545
33.2 Evaluating Tel Code 546
33.3 Dynamically Building Scripts 548
33.4 Tel Expressions 549
Chapter 34 Accessing Tel Variables 551
34.1 Functions Presented in This Chapter 551
34
34,
34
34
34,
34
34
2 Setting Variable Values 553
3 Reading Variables 555
4 Unsetting Variables 556
5 Linking Tel and C Variables 556
6 Setting and Unsetting Variable Traces 558
7 Trace Callbacks 559
8 Whole-Array Traces 561
34.9 Multiple Traces 561
34.10 Unset Callbacks 562
Chapter 35 Creating New Tel Commands 563
35.1 Functions Presented in This Chapter 563
35.2 Command Functions 566
35.3 Registering Commands 567
35.4 The Result Protocol 569
35.5 Tcl_AppendResult 569
35.6 Tcl_SetResult and interp- result 570
35.7 clientData and Deletion Callbacks 572
35.8 Deleting Commands 575
35.9 Fetching and Setting Command Parameters 576
35.10 How Tel Procedures Work 578
35.11 Command Traces 579
Chapter 36 Extensions 581
36.1 Functions Presented in This Chapter 581
36.2 The Init Function 582
36.3 Packages 583
36.4 Namespaces 584
36.5 Tel Stubs 584
36.6 The if conf ig Extension 585
Chapter 37 Embedding Tel 593
37.1 Functions Presented in This Chapter 593
37.2 Adding Tel to an Application 594
37.3 Initialize Tel 595
37.4 Creating New Tel Shells 596
Chapter 38 Exceptions 599
38.1 Functions Presented in This Chapter 599
38.2 Completion Codes 600
38.3 Setting errorCode 603
38.4 Managing the Return Options Dictionary 604
38.5 Adding to the Stack Trace in errorlnf o 605
38.6 Tel Panic 608
Chapter 39 String Utilities 611
39.1 Functions Presented in This Chapter 611
39.2 Dynamic Strings 617
39.3 String Matching 621
39.4 Regular Expression Matching 622
39.5 Working with Character Encodings 624
39.6 Handling Unicode and UTF-8 Strings 625
39.7 Command Completeness 627
Chapter 40 Hash Tables 629
40.1 Functions Presented in This Chapter 630
40.2 Keys and Values 631
40.3 Creating and Deleting Hash Tables 632
40.4 Creating Entries 633
40.5 Finding Existing Entries 635
40.6 Searching 636
40.7 Deleting Entries 637
40.8 Statistics 638
Chapter 41 List and Dictionary Objects 639
41.1 Functions Presented in This Chapter 639
41.2 Lists 642
41.3 Dictionaries 644
Chapter 42 Channels 649
42.1 Functions Presented in This Chapter 649
42.1.1 Basic Channel Operations 650
42.1.2 Channel Registration Functions 653
42.1.3 Channel Attribute Functions 654
42.1.4 Channel Query Functions 655
42.1.5 Channel Type Definition Functions 655
42.2 Channel Operations 656
42.3 Registering Channels 658
42.4 Standard Channels 660
42.5 Creating a New Channel Type 661
42.5.1 Creating a Custom Channel Instance 662
42.5.2 Stacked Channels 662
42.5.3 R0T13 Channel 663
Chapter 43 Handling Events 671
43.1 Functions Presented in This Chapter 671
43.2 Channel Events 672
43.3 Timer Events 676
43.4 Idle Callbacks 677
43.5 Invoking the Event Dispatcher 678
Chapter 44 File System Interaction 681
44.1 Tel File System Functions 681
44.2 Virtual File Systems 683
Chapter 45 Operating System Utilities 685
45.1 Functions Presented in This Chapter 685
45.2 Processes 687
45.3 Reaping Child Processes 689
45.4 Asynchronous Events 690
45.5 Signal Names 693
45.6 Exiting and Cleanup 693
45.7 Miscellaneous 694
Chapter 46 Threads 695
46.1 Functions Presented in This Chapter 695
46.2 Thread Safety 697
46.3 Building Threaded Tel 697
46.4 Creating Threads 697
46.5 Terminating Threads 698
46.6 Mutexes 698
46.7 Condition Variables 699
46.8 Miscellaneous 701
Chapter 47 Building TcJ and Extensions 703
47.1 Building Tel and Tk 703
47.1.1 Building Tel and Tk on Unix 704
47.1.2 Building Tel and Tk on Mac OS 705
47.1.3 Building Tel and Tk on Windows
47.2 The Tel Extension Architecture (TEA)
47.2.1 TEA Standard Configure Options
47.2.2 Directory Layout for TEA Extensions
47.2.3 Customizing the aclocal. m4 File
47.2.4 Customizing the configure. in File
47.2.5 Customizing the Makefile. in File
47.2.6 Building an Extension on Windows
47.3 Building Embedded Tel
707
707
708
709
710
711
714
714
714
Appendixes
Appendix A Installing Tel and Tk
A.1 Versions
A.2
A.3
A.4
A.5
Bundled Tel Distributions
ActiveTcI
Tclkits
Compiling Tcl/Tk from Source Distributions
Appendix B Extensions and Applications
B. 1 Obtaining and Installing Extensions
B. 1.1 Installing Extensions Manually
B.1.2 Installing Extensions from ActiveState TEApot
Repositories
B.2 TkCon Extended Console
B.3 The Standard Tel Library, Tcllib
B.4 Additional Image Formats with Img
B.5 Sound Support with Snack
B.6 Object-Oriented Tel
B.7 Multithreaded Tel Scripting
B.8 XML Programming
B.9 Database Programming
B.10 Integrating Tel and Java
B.11 SWIG
B.12 Expect
B.13 Extended Tel
715
717
717
718
718
719
719
721
721
722
722
724
725
725
725
726
727
727
728
728
729
729
730
Appendix C Tel Resources 731
C.l Online Resources 731
C.2 Books 732
Appendix D Tel Source Distribution License 735
Index 737 |
adam_txt |
Titel: Tcl and the Tk toolkit
Autor: Ousterhout, John K.
Jahr: 2010
Contents
Preface
Preface to the First Edition
Introduction
xxv
xxvii
xxxi
PART i The Tcf Language
Chapter 1 An Overview of Tcf and Tk
1.1 Getting Started
1.2 "Hello, World!" with Tk
1.3 Script Piles
1.3.1 Executable Scripts on Unix and Mac OS X
1.3.2 Executable Scripts oe Windows
1.3.3 Executing Scripts in an Interactive Interpreter
1.4 Variables and Substitutions
1.5 Control Structures
1.6 On the Tel Language
1.7 Event Bindings
1.8 Additional Features of Tel and Tk
1
3
3
6
8
9
9
10
11
14
15
19
Chapter 2 Tel Language Syntax 21
2.1 Scripts, Commands, and Words 21
2.2 Evaluating a Command 22
2.3 Variable Substitution 24
2.4 Command Substitution 26
2.5 Backslash Substitution 26
2.6 Quoting with Double Quotes 28
2.7 Quoting with Braces 29
2.8 Argument Expansion 30
2.9 Comments 32
2.10 Normal and Exceptional Returns 35
2.11 More on Substitutions 36
Chapter 3 Variables 39
3.1 Commands Presented in This Chapter 39
3.2 Simple Variables and the set Command 41
3.3 Tcl's Internal Storage of Data 41
3.4 Arrays 42
3.5 Variable Substitution 43
3.6 Multidimensional Arrays 45
3.7 Querying the Elements of an Array 46
3.8 The incr and append Commands 47
3.9 Removing Variables: unset and array unset 49
3.10 Predefined Variables 49
3.11 Preview of Other Variable Facilities 50
Chapter 4 Expressions 53
4.1 Commands Presented in This Chapter 53
4.2 Numeric Operands 54
4.3 Operators and Precedence 55
4.3.1 Arithmetic Operators 56
4.3.2 Relational Operators 56
4.3.3 Logical Operators 57
4.3.4 Bit-wise Operators 57
4.3.5 Choice Operator 58
4.4 Math Functions 58
4.5 Substitutions 60
4.6 String Manipulation 62
4.7 List Manipulation 63
4.8 Types and Conversions 63
4.9 Precision 64
Chapter 5 String Manipulation 65
5.1 Commands Presented in This Chapter 65
5.2 Extracting Characters: string index and
string range 69
5.3 Length, Case Conversion, Trimming, and Repeating 70
5.4 Simple Searching 70
5.5 String Comparisons 71
5.6 String Replacements 72
5.7 Determining String Types 73
5.8 Generating Strings with format 74
5.9 Parsing Strings with scan 76
5.10 Glob-Style Pattern Matching 78
5.11 Pattern Matching with Regular Expressions 79
5.11.1 Regular Expression Atoms 80
5.11.2 Regular Expression Branches and Quantifiers 84
5.11.3 Back References 85
5.11.4 Non-capturing Subexpressions 85
5.11.5 The regexp Command 86
5.12 Using Regular Expressions for Substitutions 87
5.13 Character Set Issues 89
5.13.1 Character Encodings and the Operating System 89
5.13.2 Encodings and Channel Input/output 90
5.13.3 Converting Strings to Different Encodings 91
5.14 Message Catalogs 91
5.14.1 Using Message Catalogs 91
5.14.2 Creating Localized Message Files 93
5.14.3 Using Conversion Specifiers in Source and
Translation Strings 94
5.14.4 Using Message Catalogs with Namespaces 95
5.15 Binary Strings 95
Chapter 6
Chapter 7
Lists
6.1 Commands Presented in This Chapter
6.2 Basic List Structure and the 1 index and 1 length
Commands
6.3 Creating Lists: list, concat, and Irepeat
6.4 Modifying Lists: Irange, linsert, lreplace, lset,
and lappend
6.5 Extracting List Elements: lassign
6.6 Searching Lists: 1 search
6.7 Sorting Lists: 1 sort
6.8 Converting between Strings and Lists: split and join
6.9 Creating Commands as Lists
Dictionaries
7.1 Commands Presented in This Chapter
7.2 Basic Dictionary Structure and the diet get
Command
7.3 Creating and Updating Dictionaries
7.4 Examining Dictionaries: The size, exists, keys,
and for Subcommands
7.5 Updating Dictionary Values
7.6 Working with Nested Dictionaries
Control Flow
8.1 Commands Presented in This Chapter
8.2 The if Command
8.3 The switch Command
8.4 Looping Commands: while, for, and foreach
8.5 Loop Control: break and continue
8.6 The eval Command
8.7 Executing from Files: source
Chapter 9 Procedures
9.1 Commands Presented in This Chapter
9.2 Procedure Basics: proc and return
9.3 Local and Global Variables
9.4 Defaults and Variable Numbers of Arguments
Chapter 8
101
101
103
105
106
109
110
111
111
113
115
116
118
120
122
123
126
131
131
132
133
136
138
139
140
143
143
144
146
146
9.5 Call by Reference: upvar 148
9.6 Creating New Control Structures: uplevel 150
9.7 Applying Anonymous Procedures 151
Chapter 10 Namespaces 155
10.1 Commands Presented in This Chapter 155
10.2 Evaluating Tel Code in a Namespace 158
10.3 Manipulating Qualified Names 161
10.4 Exporting and Importing Namespace Commands 162
10.5 Inspecting Namespaces 163
10.6 Working with Ensemble Commands 164
10.6.1 Basic Ensembles 164
10.6.2 Placing Ensembles Inside Ensembles 165
10.6.3 Controlling the Ensemble Configuration 166
10.6.4 Handling Unknown Ensemble Subcommands 167
10.7 Accessing Variables from Other Namespaces 169
10.8 Controlling the Name Resolution Path 170
Chapter 11 Accessing Files 173
11.1 Commands Presented in This Chapter 173
11.2 Manipulating File and Directory Names 176
11.3 The Current Working Directory 179
11.4 Listing Directory Contents 179
11.5 Working with Files on Disk 181
11.5.1 Creating Directories 181
11.5.2 Deleting Files 181
11.5.3 Copying Files 182
11.5.4 Renaming and Moving Files 183
11.5.5 File Information Commands 183
11.5.6 Dealing with Oddly Named Files 185
11.6 Reading and Writing Files 185
11.6.1 Basic File I/O 186
11.6.2 Output Buffering 188
11.6.3 Handling Platform End-of-Line Conventions 188
11.6.4 Handling Character Set Encoding 190
11.6.5 Working with Binary Files 190
11.6.6 Random Access to Files 191
11.6.7 Copying File Content 192
11.7 Virtual File Systems 194
11.8 Errors in System Calls 196
Chapter 12 Processes and Interprocess Communication 197
12.1 Commands Presented in This Chapter 197
12.2 Terminating the Tel Process with exit 199
12.3 Invoking Subprocesses with exec 199
12.4 I/O to and from a Command Pipeline 203
12.5 Configuring Channel Options 204
12.5.1 Channel Blocking Mode 204
12.5.2 Channel Buffering Mode 205
12.6 Event-Driven Channel Interaction 206
12.6.1 Entering the Tel Event Loop with vwait 206
12.6.2 Registering File Event Handlers 207
12.7 Process IDs 209
12.8 Environment Variables 210
12.9 TCP/IP Socket Communication 210
12.9.1 Creating Client Communication Sockets 210
12.9.2 Creating Server Sockets 212
12.10 Sending Commands to Tel Programs 214
12.10.1 Basics of send 215
12.10.2 Application Names 216
12.10.3 Security Issues with send 217
Chapter 13 Errors and Exceptions 219
13.1 Commands Presented in This Chapter 219
13.2 What Happens after an Error? 220
13.3 Generating Errors from Tel Scripts 222
13.4 Trapping Errors with catch 222
13.5 Exceptions in General 223
13.6 Background Errors and bgerror 227
Chapter 14 Creating and Using Tcf Script Libraries 229
14.1 Commands Presented in This Chapter 230
14.2 Tlie load Command 232
14.3 Using Libraries 232
14.4 Autoloading 233
14.5 Packages 234
14.5.1 Using Packages 235
14.5.2 Creating Packages 235
14.5.3 Using :: pkg:: create 237
14.5.4 Installing Packages 238
14.5.5 Utility Package Commands 238
14.6 Tel Modules 239
14.6.1 Using Tel Modules 239
14.6.2 Installing Tel Modules 240
14.7 Packaging Your Scripts as Starkits 242
14.7.1 Installing a Tclkit 243
14.7.2 Creating Starkits 243
14.7.3 Creating a Platform-Specific Executable 245
Chapter 15 Managing Tel Internals 247
15.1 Commands Presented in This Chapter 247
15.2 Time Delays 253
15.3 Time and Date Manipulation 254
15.3.1 Generating Human-Readable Time and
Date Strings 254
15.3.2 Scanning Human-Readable Time and Date Strings 257
15.3.3 Performing Clock Arithmetic 258
15.4 Timing Command Execution 259
15.5 The info Command 259
15.5.1 Information about Variables 260
15.5.2 Information about Procedures 261
15.5.3 Information about Commands 262
15.5.4 The Tel Interpreter Version and Other Runtime
Environment Information 264
15.6 Tracing Operations on Simple Variables 264
15.7 Tracing Array Variables 268
15.8 Renaming and Deleting Commands 269
15.9 Tracing Commands 270
15.10 Unknown Commands 272
15.11 Slave Interpreters 274
15.11.1 Command Aliases 276
15.11.2 Safe Slave Interpreters and Hidden Commands 277
15.11.3 Transferring Channels between Interpreters 279
15.11.4 Placing Limits on an Interpreter 280
Chapter 16 History 283
16.1 Commands Presented in This Chapter 283
16.2 The History List 284
16.3 Specifying Events 285
16.4 Re-executing Commands from the History List 285
16.5 Shortcuts Implemented by unknown 286
16.6 Current Event Number: history nextid 287
PART II Writing Scripts for Tk 289
Chapter 17 An Introduction to Tk 291
17.1 A Brief Introduction to Windowing Systems 292
17.2 Widgets 294
17.3 Applications, Toplevel Widgets, and Screens 296
17.4 Scripts and Events 297
17.5 Creating and Destroying Widgets 297
17.6 Geometry Managers 298
17.7 Widget Commands 299
17.8 Commands for Interconnection 300
Chapter 18 A Tour of the Tk Widgets 303
18.1 Widget Basics 304
18.2 Frames 306
18.2.1 Relief Options 306
18.2.2 Screen Distance Options 307
18.3 Color Options 307
18.3.1 Synonyms 308
18.4 Toplevels 308
18.5 Labels 309
18.5.1 Text Options 309
18.5.2 Font Options 310
18.5.3 Image Options 311
18.5.4 Compound Options 312
18.6 Labelframes 312
18.7 Buttons 312
18.7.1 Checkbuttons 313
18.7.2 Radiobuttons 315
18.7.3 Menubuttons 316
18.8 Listboxes 317
18.9 Scrollbars 318
18.9.1 Scrolling a Single Widget 319
18.9.2 Synchronized Scrolling of Multiple Widgets 320
18.10 Scales 321
18.11 Entries 323
18.11.1 Entry Widget 323
18.11.2 Spinbox 324
18.11.3 The show Option 325
18.11.4 Validation 325
18.12 Menus 327
18.12.1 Pull-Down Menus 329
18.12.2 Cascaded Menus 331
18.12.3 Keyboard Traversal and Shortcuts 332
18.12.4 Platform-Specific Menus 333
18.12.5 Pop-up Menus 334
18.13 Panedwindow 334
18.14 Standard Dialogs 337
18.15 Other Common Options 339
18.15.1 Widget State 339
18.15.2 Widget Size Options 339
18.15.3 Anchor Options 340
18.15.4 Internal Padding 341
18.15.5 Cursor Options 341
Themed Widgets 343
19.1 Comparing Classic and Themed Widgets 343
19.2 Combobox 345
19.3 Notebook 346
19.4 Progressbar 349
19.5 Separator 350
19.6 Sizegrip 350
19.7 Treeview 350
19.7.1 Manipulating Treeview Items 350
19.7.2 Managing Treeview Columns and Headings 353
19.7.3 Treeview Item Selection Management 355
19.7.4 Treeview Item Tags 356
19.8 Themed Widget States 358
19.9 Themed Widget Styles 360
19.9.1 Using Themes 360
19.9.2 The Elements of Style 361
19.9.3 Creating and Configuring Styles 362
19.10 Other Standard Themed Widget Options 364
Chapter 20 Fonts, Bitmaps, and Images 367
20.1 Commands Presented in This Chapter 367
20.2 The font Command 369
20.2.1 Manipulating and Using Named Fonts 370
20.2.2 Other Font Utilities 373
20.2.3 Font Descriptions 374
20.3 The image Command 375
20.3.1 Bitmap Images 376
20.3.2 Photo Images 377
20.3.3 Images and Namespaces 383
Chapter 21 Geometry Managers 385
21.1 Commands Presented in This Chapter 386
21.2 An Overview of Geometry Management 387
21.3 The Gridder 389
21.3.1 The grid Command and the-sticky Options 392
21.3.2 Spanning Rows and Columns 393
21.3.3 Stretch Behavior and the -weight and
-uniform Options 394
21.3.4 Relative Placement Characters 395
21.4 The Packer 396
21.4.1 The pack Command and -side Options 399
21.4.2 Filling 400
21.4.3 Expansion 401
21.4.4 Anchors 403
21.4.5 Packing Order 404
21.5 Padding 404
21.6 The Placer 405
21.7 Hierarchical Geometry Management 405
21.8 Widget Stacking Order 407
21.9 Other Geometry Manager Options 408
21.10 Other Geometry Managers in Tk 409
Chapter 22 Events and Bindings 413
22.1 Commands Presented in This Chapter 413
22.2 Events 414
22.3 An Overview of the bind Command 416
22.4 Event Patterns 417
22.5 Sequences of Events 419
22.6 Substitutions in Scripts 419
22.7 Conflict Resolution 421
22.8 Event-Binding Hierarchy 422
22.9 When Are Events Processed? 423
22.10 Named Virtual Events 425
22.11 Generating Events 427
22.12 Logical Actions 428
22.13 Other Uses of Bindings 431
Chapter 23 The Canvas Widget 433
23.1 Canvas Basics: Items and Types 433
23.2 Manipulating Items with Identifiers and Tags 436
23.3 Bindings 439
23.4 Canvas Scrolling 444
23.5 PostScript Generation 445
Chapter 24 The Text Widget 447
24.1 Text Widget Basics 447
24.2 Text Indices and Marks 450
24.3 Search and Replace 451
24.4 Text Tags 453
24.4.1 Tag Options 454
24.4.2 Tag Priorities 457
24.4.3 Tag Bindings 457
24.5 Virtual Events 458
24.6 Embedded Windows 459
24.7 Embedded Images 460
24.8 Undo 462
24.9 Peer Text Widgets 464
Chapter 25 Selection and the Clipboard 467
25.1 Commands Presented in This Chapter 468
25.2 Selections, Retrievals, and Types 469
25.3 Locating and Clearing the Selection 470
25.4 Supplying the Selection with Tel Scripts 471
25.5 The clipboard Command 473
25.6 Drag and Drop 474
Chapter 26 Window Managers 477
26.1 Commands Presented in This Chapter 478
26.2 Window Sizes 481
26.3 Window Positions 482
26.4 Gridded Windows 483
26.5 Window States 484
26.6 Decorations 485
26.7 Special Handling: Transients, Groups, and
Override-Redirect 486
26.8 System-Specific Window Attributes 487
26.9 Dockable Windows 488
26.10 Window Close 489
26.11 Session Management 490
Chapter 27 Focus, Modal Interaction, and Custom Dialogs 491
27.1 Commands Presented in This Chapter 491
27.2 Input Focus 493
27.2.1 Focus Model: Explicit versus Implicit 493
27.2.2 Setting the Input Focus 494
27.2.3 Querying the Input Focus 494
27.3 Modal Interactions 495
27.3.1 Grabs 495
27.3.2 Local versus Global Grabs 496
27.3.3 Keyboard Handling during Grabs 497
27.3.4 Waiting: The tkwait Command 497
27.4 Custom Dialogs 499
Chapter 28 More on Configuration Options 505
28.1 Commands Presented in This Chapter 505
28.2 The Option Database 506
28.3 Option Database Entries 507
28.4 The RESOURCE_MANAGER Property and
.XdefaultsFile 508
28.5 Priorities in the Option Database 509
28.6 The option Command 510
28.7 The configure Widget Command 511
28.8 The cget Widget Command 512
Chapter 29 Odds and Ends 513
29.1 Commands Presented in This Chapter 513
29.2 Destroying Widgets 514
29.3 The update Command 514
29.4 Information about Widgets 516
29.5 The tk Command 516
29.6 Variables Managed by Tk 517
29.7 Ringing the Bell 518
PART Hi Writing Tel Applications in C 519
Chapter 30 Tel and C Integration Philosophy 521
30.1 Tel versus C: Where to Draw the Line 523
30.2 Resource Names?Connecting C Constructs to Tel 524
30.3 "Action-Oriented" versus "Object-Oriented" 525
30.4 Representing Information 526
Chapter 31 Interpreters 527
31.1 Functions Presented in This Chapter 527
31.2 Interpreters 529
31.3 A Simple Tel Application 530
31.4 Deleting Interpreters 531
31.5 Multiple Interpreters 531
Chapter 32 Td Objects 533
32.1 Functions Presented in This Chapter 534
32.2 String Objects 537
32.3 Numerical Objects 537
32.4 Fetching C Values from Objects 538
32.5 The Dynamie Nature of a Tel Object 539
32.6 Byte Arrays 540
32.7 Composite Objects 540
32.8 Reference Counting 540
32.9 Shared Objects 541
32.10 New Object Types 542
32.11 Parsing Strings 543
32.12 Memory Allocation 544
Chapter 33 Evaluating Tel Code 545
33.1 Functions Presented in This Chapter 545
33.2 Evaluating Tel Code 546
33.3 Dynamically Building Scripts 548
33.4 Tel Expressions 549
Chapter 34 Accessing Tel Variables 551
34.1 Functions Presented in This Chapter 551
34
34,
34
34
34,
34
34
2 Setting Variable Values 553
3 Reading Variables 555
4 Unsetting Variables 556
5 Linking Tel and C Variables 556
6 Setting and Unsetting Variable Traces 558
7 Trace Callbacks 559
8 Whole-Array Traces 561
34.9 Multiple Traces 561
34.10 Unset Callbacks 562
Chapter 35 Creating New Tel Commands 563
35.1 Functions Presented in This Chapter 563
35.2 Command Functions 566
35.3 Registering Commands 567
35.4 The Result Protocol 569
35.5 Tcl_AppendResult 569
35.6 Tcl_SetResult and interp- result 570
35.7 clientData and Deletion Callbacks 572
35.8 Deleting Commands 575
35.9 Fetching and Setting Command Parameters 576
35.10 How Tel Procedures Work 578
35.11 Command Traces 579
Chapter 36 Extensions 581
36.1 Functions Presented in This Chapter 581
36.2 The Init Function 582
36.3 Packages 583
36.4 Namespaces 584
36.5 Tel Stubs 584
36.6 The if conf ig Extension 585
Chapter 37 Embedding Tel 593
37.1 Functions Presented in This Chapter 593
37.2 Adding Tel to an Application 594
37.3 Initialize Tel 595
37.4 Creating New Tel Shells 596
Chapter 38 Exceptions 599
38.1 Functions Presented in This Chapter 599
38.2 Completion Codes 600
38.3 Setting errorCode 603
38.4 Managing the Return Options Dictionary 604
38.5 Adding to the Stack Trace in errorlnf o 605
38.6 Tel Panic 608
Chapter 39 String Utilities 611
39.1 Functions Presented in This Chapter 611
39.2 Dynamic Strings 617
39.3 String Matching 621
39.4 Regular Expression Matching 622
39.5 Working with Character Encodings 624
39.6 Handling Unicode and UTF-8 Strings 625
39.7 Command Completeness 627
Chapter 40 Hash Tables 629
40.1 Functions Presented in This Chapter 630
40.2 Keys and Values 631
40.3 Creating and Deleting Hash Tables 632
40.4 Creating Entries 633
40.5 Finding Existing Entries 635
40.6 Searching 636
40.7 Deleting Entries 637
40.8 Statistics 638
Chapter 41 List and Dictionary Objects 639
41.1 Functions Presented in This Chapter 639
41.2 Lists 642
41.3 Dictionaries 644
Chapter 42 Channels 649
42.1 Functions Presented in This Chapter 649
42.1.1 Basic Channel Operations 650
42.1.2 Channel Registration Functions 653
42.1.3 Channel Attribute Functions 654
42.1.4 Channel Query Functions 655
42.1.5 Channel Type Definition Functions 655
42.2 Channel Operations 656
42.3 Registering Channels 658
42.4 Standard Channels 660
42.5 Creating a New Channel Type 661
42.5.1 Creating a Custom Channel Instance 662
42.5.2 Stacked Channels 662
42.5.3 R0T13 Channel 663
Chapter 43 Handling Events 671
43.1 Functions Presented in This Chapter 671
43.2 Channel Events 672
43.3 Timer Events 676
43.4 Idle Callbacks 677
43.5 Invoking the Event Dispatcher 678
Chapter 44 File System Interaction 681
44.1 Tel File System Functions 681
44.2 Virtual File Systems 683
Chapter 45 Operating System Utilities 685
45.1 Functions Presented in This Chapter 685
45.2 Processes 687
45.3 Reaping Child Processes 689
45.4 Asynchronous Events 690
45.5 Signal Names 693
45.6 Exiting and Cleanup 693
45.7 Miscellaneous 694
Chapter 46 Threads 695
46.1 Functions Presented in This Chapter 695
46.2 Thread Safety 697
46.3 Building Threaded Tel 697
46.4 Creating Threads 697
46.5 Terminating Threads 698
46.6 Mutexes 698
46.7 Condition Variables 699
46.8 Miscellaneous 701
Chapter 47 Building TcJ and Extensions 703
47.1 Building Tel and Tk 703
47.1.1 Building Tel and Tk on Unix 704
47.1.2 Building Tel and Tk on Mac OS 705
47.1.3 Building Tel and Tk on Windows
47.2 The Tel Extension Architecture (TEA)
47.2.1 TEA Standard Configure Options
47.2.2 Directory Layout for TEA Extensions
47.2.3 Customizing the aclocal. m4 File
47.2.4 Customizing the configure. in File
47.2.5 Customizing the Makefile. in File
47.2.6 Building an Extension on Windows
47.3 Building Embedded Tel
707
707
708
709
710
711
714
714
714
Appendixes
Appendix A Installing Tel and Tk
A.1 Versions
A.2
A.3
A.4
A.5
Bundled Tel Distributions
ActiveTcI
Tclkits
Compiling Tcl/Tk from Source Distributions
Appendix B Extensions and Applications
B. 1 Obtaining and Installing Extensions
B. 1.1 Installing Extensions Manually
B.1.2 Installing Extensions from ActiveState TEApot
Repositories
B.2 TkCon Extended Console
B.3 The Standard Tel Library, Tcllib
B.4 Additional Image Formats with Img
B.5 Sound Support with Snack
B.6 Object-Oriented Tel
B.7 Multithreaded Tel Scripting
B.8 XML Programming
B.9 Database Programming
B.10 Integrating Tel and Java
B.11 SWIG
B.12 Expect
B.13 Extended Tel
715
717
717
718
718
719
719
721
721
722
722
724
725
725
725
726
727
727
728
728
729
729
730
Appendix C Tel Resources 731
C.l Online Resources 731
C.2 Books 732
Appendix D Tel Source Distribution License 735
Index 737 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Ousterhout, John K. Jones, Ken |
author_facet | Ousterhout, John K. Jones, Ken |
author_role | aut aut |
author_sort | Ousterhout, John K. |
author_variant | j k o jk jko k j kj |
building | Verbundindex |
bvnumber | BV035088456 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.T44 |
callnumber-search | QA76.73.T44 |
callnumber-sort | QA 276.73 T44 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 ST 281 |
classification_tum | DAT 430f DAT 332f |
ctrlnum | (OCoLC)359890588 (DE-599)BVBBV035088456 |
dewey-full | 005.13/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13/3 |
dewey-search | 005.13/3 |
dewey-sort | 15.13 13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. ed., 1. print. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV035088456</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20101005</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">081008s2010 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321336330</subfield><subfield code="9">978-0-321-33633-0</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">032133633X</subfield><subfield code="9">0-321-33633-X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)359890588</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035088456</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.T44</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13/3</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 281</subfield><subfield code="0">(DE-625)143646:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 430f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 332f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ousterhout, John K.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Tcl and the Tk toolkit</subfield><subfield code="c">John K. Ousterhout ; Ken Jones</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed., 1. print.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ</subfield><subfield code="b">Addison-Wesley Professional</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXXIV, 773 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Addison-Wesley professional computing series</subfield></datafield><datafield tag="630" ind1="0" ind2="4"><subfield code="a">Tk toolkit</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Tcl (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Tk</subfield><subfield code="0">(DE-588)4361526-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Tcl</subfield><subfield code="0">(DE-588)4361529-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">X Window System</subfield><subfield code="0">(DE-588)4248284-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierumgebung</subfield><subfield code="0">(DE-588)4134837-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Programmierumgebung</subfield><subfield code="0">(DE-588)4134837-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">X Window System</subfield><subfield code="0">(DE-588)4248284-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Tcl</subfield><subfield code="0">(DE-588)4361529-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="4"><subfield code="a">Tk</subfield><subfield code="0">(DE-588)4361526-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Jones, Ken</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016756617&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016756617</subfield></datafield></record></collection> |
id | DE-604.BV035088456 |
illustrated | Illustrated |
index_date | 2024-07-02T22:09:45Z |
indexdate | 2024-10-17T10:02:15Z |
institution | BVB |
isbn | 9780321336330 032133633X |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016756617 |
oclc_num | 359890588 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-83 DE-Aug4 DE-573 |
owner_facet | DE-91G DE-BY-TUM DE-83 DE-Aug4 DE-573 |
physical | XXXIV, 773 S. Ill., graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | Addison-Wesley Professional |
record_format | marc |
series2 | Addison-Wesley professional computing series |
spelling | Ousterhout, John K. Verfasser aut Tcl and the Tk toolkit John K. Ousterhout ; Ken Jones 2. ed., 1. print. Upper Saddle River, NJ Addison-Wesley Professional 2010 XXXIV, 773 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Addison-Wesley professional computing series Tk toolkit Tcl (Computer program language) Tk (DE-588)4361526-0 gnd rswk-swf Graphische Benutzeroberfläche (DE-588)4275084-2 gnd rswk-swf Tcl (DE-588)4361529-6 gnd rswk-swf X Window System (DE-588)4248284-7 gnd rswk-swf Programmierumgebung (DE-588)4134837-0 gnd rswk-swf Programmierumgebung (DE-588)4134837-0 s Graphische Benutzeroberfläche (DE-588)4275084-2 s X Window System (DE-588)4248284-7 s Tcl (DE-588)4361529-6 s Tk (DE-588)4361526-0 s DE-604 Jones, Ken Verfasser aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016756617&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Ousterhout, John K. Jones, Ken Tcl and the Tk toolkit Tk toolkit Tcl (Computer program language) Tk (DE-588)4361526-0 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd Tcl (DE-588)4361529-6 gnd X Window System (DE-588)4248284-7 gnd Programmierumgebung (DE-588)4134837-0 gnd |
subject_GND | (DE-588)4361526-0 (DE-588)4275084-2 (DE-588)4361529-6 (DE-588)4248284-7 (DE-588)4134837-0 |
title | Tcl and the Tk toolkit |
title_auth | Tcl and the Tk toolkit |
title_exact_search | Tcl and the Tk toolkit |
title_exact_search_txtP | Tcl and the Tk toolkit |
title_full | Tcl and the Tk toolkit John K. Ousterhout ; Ken Jones |
title_fullStr | Tcl and the Tk toolkit John K. Ousterhout ; Ken Jones |
title_full_unstemmed | Tcl and the Tk toolkit John K. Ousterhout ; Ken Jones |
title_short | Tcl and the Tk toolkit |
title_sort | tcl and the tk toolkit |
topic | Tk toolkit Tcl (Computer program language) Tk (DE-588)4361526-0 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd Tcl (DE-588)4361529-6 gnd X Window System (DE-588)4248284-7 gnd Programmierumgebung (DE-588)4134837-0 gnd |
topic_facet | Tk toolkit Tcl (Computer program language) Tk Graphische Benutzeroberfläche Tcl X Window System Programmierumgebung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016756617&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT ousterhoutjohnk tclandthetktoolkit AT jonesken tclandthetktoolkit |