| |
| |
Preface | |
| |
| |
| |
Hello, Perl/Tk | |
| |
| |
Perl/Tk Concepts | |
| |
| |
Some Perl/Tk History | |
| |
| |
Getting Started with Perl/Tk | |
| |
| |
Hello World Example | |
| |
| |
Unsolicited Advice | |
| |
| |
Debugging and Prototyping Perl/Tk Programs | |
| |
| |
| |
Geometry Management | |
| |
| |
The pack Geometry Manager | |
| |
| |
The grid Geometry Manager | |
| |
| |
The place Geometry Manager | |
| |
| |
The form Geometry Manager | |
| |
| |
Geometry Management Summary | |
| |
| |
| |
Fonts | |
| |
| |
Experimenting with Fonts | |
| |
| |
Dissecting a Font | |
| |
| |
Using Fonts | |
| |
| |
Using Fonts Dynamically | |
| |
| |
Font Manipulation Methods | |
| |
| |
| |
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 | |
| |
| |
| |
Label and Entry Widgets | |
| |
| |
The Label Widget | |
| |
| |
The Entry Widget | |
| |
| |
The Perl/Tk LabEntry Mega-Widget | |
| |
| |
| |
The Scrollbar Widget | |
| |
| |
Defining Scrollbar Parts | |
| |
| |
The Scrolled Method | |
| |
| |
The Scrollbar Widget | |
| |
| |
Examples | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
Frame, MainWindow, and Toplevel Widgets | |
| |
| |
Creating a Frame | |
| |
| |
Creating a Toplevel Widget | |
| |
| |
Options | |
| |
| |
Frame Methods | |
| |
| |
Toplevel Methods | |
| |
| |
Creating Multiple Main Windows | |
| |
| |
Putting Two Main Windows to Work | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
User Customization | |
| |
| |
Using the Command Line | |
| |
| |
Using the Option Database | |
| |
| |
| |
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 | |
| |
| |
| |
A Tk Interface Extension Tour | |
| |
| |
Display Items | |
| |
| |
Item Styles | |
| |
| |
The TList Widget | |
| |
| |
The HList Family of Widgets | |
| |
| |
Tix Images | |
| |
| |
| |
Interprocess Communication with 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 | |
| |
| |
| |
IPC with send | |
| |
| |
Security and Inter-Language Considerations | |
| |
| |
Computing [pi] with Parallel Message Passing | |
| |
| |
TclRobots | |
| |
| |
| |
C Widget Internals | |
| |
| |
The Tk::Square Widget | |
| |
| |
Interfacing tkSquare.c with Perl/Tk | |
| |
| |
Building and Testing Tk::Square | |
| |
| |
How Not to Port Tk::Square | |
| |
| |
| |
Perl/Tk and the Web | |
| |
| |
Library for WWW Access in Perl | |
| |
| |
The PerlPlus Browser Plug-in | |
| |
| |
| |
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 | |
| |
| |
| |
Installing Perl/Tk | |
| |
| |
| |
Options and Default Values for Each Widget | |
| |
| |
| |
Complete Program Listings | |
| |
| |
Index | |