
Mastering Perl/Tk
by Walsh, Nancy; Lidie, SteveBuy New
Rent Textbook
Rent Digital
Used Textbook
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Steve Lidie has spent decades consulting, programming and administering systems from Apple, CDC, DEC, HP, IBM, Microsoft and SGI. Author of the Perl/Tk Pocket Reference and graduate of Lehigh University, he currently manages the University's large-scale scientific computing complex, and occasionally writes Tk articles for The Perl Journal and PerlMonth.
Nancy Walsh has been involved with Perl (and Perl/Tk) since 1996. She received a Computer Science degree from the University of Arizona in 1993, and currently works as a Principal Consultant for XOR, Inc. doing J2EE and Java work on various projects. Nancy has taught several Perl/Tk Tutorials at the O'Reilly Open Source Conference and is also the author of Learning Perl/Tk.
Table of Contents
Preface | p. xiii |
Hello, Perl/Tk | p. 1 |
Perl/Tk Concepts | p. 2 |
Some Perl/Tk History | p. 2 |
Getting Started with Perl/Tk | p. 6 |
Hello World Example | p. 12 |
Unsolicited Advice | p. 13 |
Debugging and Prototyping Perl/Tk Programs | p. 16 |
Geometry Management | p. 19 |
The pack Geometry Manager | p. 20 |
The grid Geometry Manager | p. 41 |
The place Geometry Manager | p. 54 |
The form Geometry Manager | p. 61 |
Geometry Management Summary | p. 70 |
Fonts | p. 71 |
Experimenting with Fonts | p. 71 |
Dissecting a Font | p. 73 |
Using Fonts | p. 74 |
Using Fonts Dynamically | p. 76 |
Font Manipulation Methods | p. 77 |
Button, Checkbutton, and Radiobutton Widgets | p. 81 |
Creating Button Widgets | p. 83 |
Standard Options for Each Button Type | p. 83 |
Table of Options for Button-Type Widgets | p. 84 |
Displaying Text on Buttons | p. 87 |
Displaying an Image or Bitmap | p. 88 |
Checkbutton and Radiobutton Indicator Status | p. 90 |
On and Off Values for a Checkbutton | p. 92 |
Radiobutton Values | p. 92 |
The -command Option | p. 93 |
Disabling a Button | p. 95 |
Text Manipulation | p. 97 |
Altering the Button's Style | p. 99 |
Changing the Size of a Button | p. 101 |
Adding a Keyboard Mapping | p. 103 |
Color Options | p. 104 |
Indicator Colors | p. 106 |
Hiding the Indicator | p. 106 |
Focus Options | p. 107 |
Altering the Highlight Rectangle | p. 107 |
Configuring a Button | p. 108 |
Flashing the Button | p. 109 |
Invoking the Button | p. 110 |
Turning a Checkbutton/Radiobutton On and Off | p. 110 |
Label and Entry Widgets | p. 111 |
The Label Widget | p. 111 |
The Entry Widget | p. 117 |
The Perl/Tk LabEntry Mega-Widget | p. 132 |
The Scrollbar Widget | p. 133 |
Defining Scrollbar Parts | p. 133 |
The Scrolled Method | p. 135 |
The Scrollbar Widget | p. 137 |
Examples | p. 145 |
The Listbox Widget | p. 149 |
Creating and Filling a Listbox | p. 150 |
Listbox Options | p. 150 |
Selection Modes | p. 152 |
Colors | p. 153 |
Listbox Style | p. 153 |
Configuring a Listbox | p. 154 |
Inserting Items | p. 155 |
Deleting Items | p. 155 |
Retrieving Elements | p. 156 |
Selection Methods | p. 156 |
Moving to a Specific Index | p. 157 |
Translating Indexes | p. 158 |
Counting Items | p. 158 |
Active Versus Selected | p. 158 |
Bounding Box | p. 158 |
Finding an Index by y Coordinate | p. 159 |
Scrolling Methods | p. 159 |
Listbox Virtual Events | p. 159 |
Listbox Example | p. 160 |
The Text, TextUndo, and ROText Widgets | p. 162 |
Creating and Using a Text Widget | p. 162 |
Text Widget Options | p. 163 |
A Short Break for a Simple Example | p. 168 |
Text Indexes | p. 169 |
Text Tags | p. 171 |
Inserting Text | p. 179 |
Deleting Text | p. 180 |
Retrieving Text | p. 181 |
Translating Index Values | p. 181 |
Comparing Index Values | p. 181 |
Showing an Index | p. 182 |
Getting the Size of a Character | p. 182 |
Getting Line Information | p. 182 |
Searching the Contents of a Text Widget | p. 182 |
Scrolling | p. 183 |
Marks | p. 183 |
Embedding Widgets | p. 185 |
Internal Debug Flag | p. 187 |
The Perl/Tk Text Widget Extended Methods | p. 188 |
The TextUndo Widget | p. 191 |
The ROText Widget | p. 193 |
The Canvas Widget | p. 194 |
Creating a Canvas | p. 194 |
The Canvas Coordinate System | p. 195 |
The Scrollable Region | p. 196 |
Using bind with a Canvas | p. 196 |
Canvas Options | p. 197 |
Creating Items in a Canvas | p. 201 |
Configuring the Canvas Widget | p. 213 |
Configuring Items in the Canvas Widget | p. 213 |
Tags | p. 214 |
Retrieving Bounding Box Coordinates | p. 216 |
Translating Coordinates | p. 217 |
Moving Items Around | p. 217 |
Changing the Display List | p. 218 |
Deleting Items | p. 218 |
Deleting Tags | p. 218 |
Determining Item Type | p. 219 |
Setting Keyboard Focus | p. 219 |
Rendering the Canvas as PostScript | p. 219 |
Scaling the Canvas | p. 220 |
Scanning | p. 221 |
A Drawing Program Example | p. 221 |
The Scale Widget | p. 224 |
Creating a Scale | p. 224 |
Assigning a Callback | p. 227 |
Orientation | p. 227 |
Minimum and Maximum Values | p. 227 |
Displayed Versus Stored Value | p. 227 |
Adding a Label | p. 228 |
Displaying Value Increments | p. 228 |
Changing the Size of the Scale | p. 229 |
Options You'll Probably Never Need | p. 229 |
Configuring a Scale | p. 229 |
Getting the Value of a Scale | p. 230 |
Setting the Value of a Scale | p. 230 |
Determining Coordinates | p. 230 |
Identifying Parts of a Scale | p. 230 |
Frame, MainWindow, and Toplevel Widgets | p. 231 |
Creating a Frame | p. 232 |
Creating a Toplevel Widget | p. 233 |
Options | p. 233 |
Frame Methods | p. 238 |
Toplevel Methods | p. 238 |
Creating Multiple Main Windows | p. 247 |
Putting Two Main Windows to Work | p. 249 |
The Menu System | p. 253 |
Menu System Components | p. 253 |
Menubars and Pulldown Menus | p. 259 |
The Win32 System Menu Item | p. 266 |
Classical Menubars | p. 266 |
Popup Menus | p. 270 |
Option Menus | p. 275 |
Menu Virtual Events | p. 279 |
Pie Menus | p. 279 |
Miscellaneous Perl/Tk Methods | p. 284 |
Managing Widgets with configure and cget | p. 284 |
Building a Family Tree | p. 287 |
Widget's ID | p. 288 |
Color-Related Methods | p. 289 |
The Application's Name | p. 290 |
Widget Existence | p. 290 |
Is the Widget Mapped? | p. 291 |
Converting Screen Distances | p. 291 |
Size of Widget | p. 291 |
Widget Position | p. 292 |
Screen Information | p. 294 |
Atom Methods | p. 296 |
Ringing a Bell | p. 296 |
Clipboard and Selection Methods | p. 296 |
Destroying a Widget | p. 299 |
Focus Methods | p. 299 |
Grab Methods | p. 302 |
Marking a Widget Busy and Unbusy | p. 302 |
Widget Mapping and Layering | p. 303 |
Interapplication Communication | p. 304 |
Waiting for Events to Happen | p. 304 |
Time Delays | p. 305 |
Parsing Command-Line Options | p. 306 |
Really Miscellaneous Methods | p. 306 |
Creating Custom Widgets in Pure Perl/Tk | p. 308 |
A Mega-Widget Quick-Start | p. 308 |
The Perl/Tk Class Hierarchy | p. 316 |
Mega-Widget Implementation Details | p. 319 |
Composite Mega-Widgets | p. 330 |
Derived Mega-Widgets | p. 335 |
Packaging a Mega-Widget for Public Distribution | p. 351 |
Anatomy of the MainLoop | p. 356 |
Creating a Callback | p. 358 |
Binding to Events | p. 361 |
The bindtags Command | p. 372 |
Executing Nonblocking System Commands | p. 378 |
Tracing Perl/Tk Variables | p. 388 |
Nonblocking Wait Activities | p. 391 |
Splash Screens | p. 394 |
Synthesizing Virtual Events | p. 399 |
Coexisting with Other GUI Main Loops | p. 401 |
User Customization | p. 406 |
Using the Command Line | p. 407 |
Using the Option Database | p. 410 |
Images and Animations | p. 417 |
An Overview of Perl/Tk Image Types | p. 417 |
Methods Common to All Image Types | p. 419 |
Bitmap Primitives | p. 420 |
DefineBitmap | p. 422 |
The Bitmap Image Type | p. 422 |
The Pixmap Image Type | p. 426 |
The Photo Image Type | p. 427 |
The Compound Image Type | p. 439 |
Tk::Animation | p. 440 |
tkneko--Animating the Neko on a Canvas | p. 441 |
Tile and Transparent Images | p. 444 |
Miscellaneous Image Methods | p. 447 |
Simple Photo Rotations | p. 447 |
A Tk Interface Extension Tour | p. 451 |
Display Items | p. 452 |
Item Styles | p. 454 |
The TList Widget | p. 457 |
The HList Family of Widgets | p. 459 |
Tix Images | p. 471 |
Interprocess Communication with Pipes and Sockets | p. 472 |
Handling Unsolicited Media Changes | p. 473 |
IPADM Design Considerations | p. 476 |
The Perl/Tk IPADM Client, ipadm | p. 478 |
The IPADM Helper, ipadmh | p. 486 |
The IPADM Daemon, ipadmd | p. 487 |
Polling Win32 Sockets | p. 492 |
IPC with send | p. 494 |
Security and Inter-Language Considerations | p. 494 |
Computing [pi] with Parallel Message Passing | p. 497 |
TclRobots | p. 503 |
C Widget Internals | p. 510 |
The Tk::Square Widget | p. 510 |
Interfacing tkSquare.c with Perl/Tk | p. 523 |
Building and Testing Tk::Square | p. 528 |
How Not to Port Tk::Square | p. 529 |
Perl/Tk and the Web | p. 531 |
Library for WWW Access in Perl | p. 531 |
The PerlPlus Browser Plug-in | p. 554 |
Plethora of pTk Potpourri | p. 558 |
pTk Special Variables and Exporter Symbols | p. 558 |
Manipulating the Cursor | p. 560 |
Dialog Boxes | p. 563 |
The Adjuster Widget | p. 569 |
The Balloon Widget | p. 571 |
The BrowseEntry Widget | p. 572 |
The LabFrame Widget | p. 575 |
The NoteBook Widget | p. 576 |
The Pane Widget | p. 580 |
The ProgressBar Widget | p. 581 |
Widgets Not in the Perl/Tk Distribution | p. 583 |
Installing Perl/Tk | p. 585 |
Options and Default Values for Each Widget | p. 587 |
Complete Program Listings | p. 646 |
Index | p. 717 |
Table of Contents provided by Syndetics. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.