-
Chapter 1 Hello, Perl/Tk
-
Perl/Tk Concepts
-
Some Perl/Tk History
-
Getting Started with Perl/Tk
-
Hello World Example
-
Unsolicited Advice
-
Debugging and PrototypingPerl/Tk Programs
-
-
Chapter 2 Geometry Management
-
The pack Geometry Manager
-
The grid Geometry Manager
-
The place Geometry Manager
-
The form Geometry Manager
-
Geometry Management Summary
-
-
Chapter 3 Fonts
-
Experimenting with Fonts
-
Dissecting a Font
-
Using Fonts
-
Using Fonts Dynamically
-
Font Manipulation Methods
-
-
Chapter 4 Button, Checkbutton, and Radiobutton Widgets
-
Creating Button Widgets
-
Standard Options for Each Button Type
-
Table of Options for Button-Type Widgets
-
Displaying Text on Buttons
-
Displaying an Image or Bitmap
-
Checkbutton and Radiobutton Indicator Status
-
On and Off Values for a Checkbutton
-
Radiobutton Values
-
The -command Option
-
Disabling a Button
-
Text Manipulation
-
Altering the Button's Style
-
Changing the Size of a Button
-
Adding a Keyboard Mapping
-
Color Options
-
Indicator Colors
-
Hiding the Indicator
-
Focus Options
-
Altering the Highlight Rectangle
-
Configuring a Button
-
Flashing the Button
-
Invoking the Button
-
Turning a Checkbutton/Radiobutton On and Off
-
-
Chapter 5 Label and Entry Widgets
-
The Label Widget
-
The Entry Widget
-
The Perl/Tk LabEntry Mega-Widget
-
-
Chapter 6 The Scrollbar Widget
-
Defining Scrollbar Parts
-
The Scrolled Method
-
The Scrollbar Widget
-
Examples
-
-
Chapter 7 The Listbox Widget
-
Creating and Filling a Listbox
-
Listbox Options
-
Selection Modes
-
Colors
-
Listbox Style
-
Configuring a Listbox
-
Inserting Items
-
Deleting Items
-
Retrieving Elements
-
Selection Methods
-
Moving to a Specific Index
-
Translating Indexes
-
Counting Items
-
Active Versus Selected
-
Bounding Box
-
Finding an Index by y Coordinate
-
Scrolling Methods
-
Listbox Virtual Events
-
Listbox Example
-
-
Chapter 8 The Text, TextUndo,and ROText Widgets
-
Creating and Using a Text Widget
-
Text Widget Options
-
A Short Break for a Simple Example
-
Text Indexes
-
Text Tags
-
Inserting Text
-
Deleting Text
-
Retrieving Text
-
Translating Index Values
-
Comparing Index Values
-
Showing an Index
-
Getting the Size of a Character
-
Getting Line Information
-
Searching the Contents of a Text Widget
-
Scrolling
-
Marks
-
Embedding Widgets
-
Internal Debug Flag
-
The Perl/Tk Text Widget Extended Methods
-
The TextUndo Widget
-
The ROText Widget
-
-
Chapter 9 The Canvas Widget
-
Creating a Canvas
-
The Canvas Coordinate System
-
The Scrollable Region
-
Using bind with a Canvas
-
Canvas Options
-
Creating Items in a Canvas
-
Configuring the Canvas Widget
-
Configuring Items in the Canvas Widget
-
Tags
-
Retrieving Bounding Box Coordinates
-
Translating Coordinates
-
Moving Items Around
-
Changing the Display List
-
Deleting Items
-
Deleting Tags
-
Determining Item Type
-
Setting Keyboard Focus
-
Rendering the Canvas as PostScript
-
Scaling the Canvas
-
Scanning
-
A Drawing Program Example
-
-
Chapter 10 The Scale Widget
-
Creating a Scale
-
Assigning a Callback
-
Orientation
-
Minimum and Maximum Values
-
Displayed Versus Stored Value
-
Adding a Label
-
Displaying Value Increments
-
Changing the Size of the Scale
-
Options You'll Probably Never Need
-
Configuring a Scale
-
Getting the Value of a Scale
-
Setting the Value of a Scale
-
Determining Coordinates
-
Identifying Parts of a Scale
-
-
Chapter 11 Frame, MainWindow,and Toplevel Widgets
-
Creating a Frame
-
Creating a Toplevel Widget
-
Options
-
Frame Methods
-
Toplevel Methods
-
Creating Multiple MainWindows
-
Putting Two MainWindows to Work
-
-
Chapter 12 The Menu System
-
Menu System Components
-
Menubars and Pulldown Menus
-
The Win32 System Menu Item
-
Classical Menubars
-
Popup Menus
-
Option Menus
-
Menu Virtual Events
-
Pie Menus
-
-
Chapter 13 Miscellaneous Perl/Tk Methods
-
Managing Widgets with configure and cget
-
Building a Family Tree
-
Widget's ID
-
Color-Related Methods
-
The Application's Name
-
Widget Existence
-
Is the Widget Mapped?
-
Converting Screen Distances
-
Size of Widget
-
Widget Position
-
Screen Information
-
Atom Methods
-
Ringing a Bell
-
Clipboard and Selection Methods
-
Destroying a Widget
-
Focus Methods
-
Grab Methods
-
Marking a Widget Busy and Unbusy
-
Widget Mapping and Layering
-
Interapplication Communication
-
Waiting for Events to Happen
-
Time Delays
-
Parsing Command-Line Options
-
Really Miscellaneous Methods
-
-
Chapter 14 Creating Custom Widgets in Pure Perl/Tk
-
A Mega-Widget Quick-Start
-
The Perl/Tk Class Hierarchy
-
Mega-Widget Implementation Details
-
Composite Mega-Widgets
-
Derived Mega-Widgets
-
Packaging a Mega-Widget for Public Distribution
-
-
Chapter 15 Anatomy of the MainLoop
-
Creating a Callback
-
Binding to Events
-
The bindtags Command
-
Executing Nonblocking System Commands
-
Tracing Perl/Tk Variables
-
Nonblocking Wait Activities
-
Splash Screens
-
Synthesizing Virtual Events
-
Coexisting with Other GUI Main Loops
-
-
Chapter 16 User Customization
-
Using the Command Line
-
Using the Option Database
-
-
Chapter 17 Images and Animations
-
An Overview of Perl/Tk Image Types
-
Methods Common to All Image Types
-
Bitmap Primitives
-
DefineBitmap
-
The Bitmap Image Type
-
The Pixmap Image Type
-
The Photo Image Type
-
The Compound Image Type
-
Tk::Animation
-
tkneko—Animating the Neko on a Canvas
-
Tile and Transparent Images
-
Miscellaneous Image Methods
-
Simple Photo Rotations
-
-
Chapter 18 A Tk Interface Extension Tour
-
Display Items
-
Item Styles
-
The TList Widget
-
The HList Family of Widgets
-
Tix Images
-
-
Chapter 19 Interprocess Communicationwith Pipes and Sockets
-
Handling Unsolicited Media Changes
-
IPADM Design Considerations
-
The Perl/Tk IPADM Client, ipadm
-
The IPADM Helper, ipadmh
-
The IPADM Daemon, ipadmd
-
Polling Win32 Sockets
-
-
Chapter 20 IPC with send
-
Security and Inter-Language Considerations
-
Computing π with Parallel Message Passing
-
TclRobots
-
-
Chapter 21 C Widget Internals
-
The Tk::Square Widget
-
Interfacing tkSquare.c with Perl/Tk
-
Building and Testing Tk::Square
-
How Not to Port Tk::Square
-
-
Chapter 22 Perl/Tk and the Web
-
Library for WWW Access in Perl
-
The PerlPlus Browser Plug-in
-
-
Chapter 23 Plethora of pTk Potpourri
-
pTk Special Variables and Exporter Symbols
-
Manipulating the Cursor
-
Dialog Boxes
-
The Adjuster Widget
-
The Balloon Widget
-
The BrowseEntry Widget
-
The LabFrame Widget
-
The NoteBook Widget
-
The Pane Widget
-
The ProgressBar Widget
-
Widgets Not in the Perl/Tk Distribution
-
-
Appendix A Installing Perl/Tk
-
Installing Perl/Tk for Unix
-
Installing Perl/Tk for Win32
-
-
Appendix B Options and Default Valuesfor Each Widget
-
Adjuster
-
Balloon
-
Bitmap
-
BrowseEntry
-
Button
-
Canvas
-
Checkbutton
-
ColorEditor
-
Dialog
-
DirTree
-
Entry
-
ErrorDialog
-
FileSelect
-
Frame
-
HList
-
Label
-
LabEntry
-
LabFrame
-
Listbox
-
MainWindow
-
Menu
-
Menubutton
-
Message
-
NoteBook
-
Optionmenu
-
Pane
-
Photo
-
ProgressBar
-
Radiobutton
-
ROText
-
Scale
-
Scrollbar
-
Table
-
Text
-
TextUndo
-
Tiler
-
TList
-
Toplevel
-
Tree
-
-
Appendix C Complete Program Listings
-
Tk::CollapsableFrame
-
Tk::MacCopy
-
Tk::ExecuteCommand
-
Proc::Killfam
-
tkmpg123
-
Tk::Trace
-
tkhp16c
-
Tk::MacProgressBar
-
TclRobots.pm
-
Robot Control Program complex.ptr
-
clock-bezier.ppl
-
tkhanoi.ppl
-
-
Colophon
- Title:
- Mastering Perl/Tk
- By:
- Stephen Lidie, Nancy Walsh
- Publisher:
- O'Reilly Media
- Formats:
-
- Ebook
- Safari Books Online
- Print Release:
- January 2002
- Ebook Release:
- February 2009
- Pages:
- 768
- Print ISBN:
- 978-1-56592-716-2
- | ISBN 10:
- 1-56592-716-8
- Ebook ISBN:
- 978-0-596-10344-6
- | ISBN 10:
- 0-596-10344-1
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The bird on the cover of Mastering Perl/Tk is an emu (Dromaius novaehollandiae). This large, flightless bird is found throughout the Australian bush steppes. The emu is one of the largest birds in existence, second only to its cousin, the ostrich. Adult emus stand about 5 feet high and weigh up to 120 pounds. The grayish-brown emu's small wings contain only six or seven feathers. They are hidden by the long, hairlike rump plumage. Emus have extremely long legs, which they use as defensive and offensive weapons when fighting. A human limb can be broken by a kick from an emu. Their powerful legs make emus strong swimmers and fast runners; they can reach speeds of up to 50 kilometers per hour.
Male emus, which are slightly smaller than females, tend to the incubation of eggs and the raising of the young. An emu nest contains as much as fifteen to twenty-five deep green eggs, laid by several hens. Incubation of the eggs takes from twenty-five to sixty days. The large discrepancy in incubation time occurs because the male needs to leave the nest periodically to find food and drink. The length of time he is away affects the time for incubation. Newly hatched emus weigh about 15 ounces. They are fully grown at two to three years.
The relationship between emus and Australian farmers has always been adversarial; three coastal subspecies of emu have been exterminated. Because emus can jump over high fences, it is difficult to keep them out of fields, where they eat and trample crops. In the arid Australian bush, emus also compete with cattle and sheep for grass and water. On the other hand, emus eat many insects that would otherwise eat crops. In 1932, Australian farmers declared war on the emus, making an all-out effort to eradicate them. Fortunately, the effort failed. The battle between emus and farmers continues to this day. Linley Dolby was the production editor and copyeditor for Mastering Perl/Tk. Sada Preisch was the proofreader. Jeffrey Holcomb and Claire Cloutier provided quality control. Lucie Haskins wrote the index. Phil Dangler, Derek Di Matteo, Edie Shapiro, and Sarah Sherman provided production support.
Pam Spremulli designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from Johnson's Natural History II. Emma Colby produced the cover layout with QuarkXPress 4.1, using Adobe's ITC Garamond font.
Melanie Wang designed the interior layout, based on a series design by David Futato. Neil Walls implemented the design in FrameMaker 5.5.6, using tools created by Mike Sierra. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read, using Macromedia FreeHand 9 and Adobe Photoshop 6. This colophon was written by Clairemarie Fisher O'Leary.
Whenever possible, our books use a durable and flexible lay-flat binding.
