Chapter 23. Plethora of pTk Potpourri
In this chapter, we present a blast of miscellaneous widgets,
methods, options, and cookbook ideas. There isn't a lot of
depth in this chapter, just a jumble of material that didn't
fit in the rest of the book, but that we know you'll need some
day.
This chapter covers:
-
Perl/Tk special variables and exporter symbols
-
Cursor manipulation and customization
-
Using dialogs for messages, errors, selecting colors, or opening and
saving files
-
The Adjuster widget, which allows users to resize frames in an
application
-
Calling up "help" windows via the Balloon widget
-
The BrowseEntry widget, which is a composite of the Entry widget and
a Listbox
-
The LabFrame widget, which is a Frame with a label attached
-
The NoteBook widget, which is a simple way to create multiple pages
with tabs
-
The Pane widget, essentially a scrollable Frame
-
The ProgressBar widget, which can be used to display progress to a
user during a time-consuming operation
23.1. pTk Special Variables and Exporter Symbols
Before we get to the interesting stuff, we need to list the special
variables and symbols unique to Perl/Tk.
23.1.1. Global Variables
These
global variables are available for your use:
- $Tk::VERSION
-
The
Perl/Tk version, which incorporates the Tcl/Tk version it's
based upon, plus the Perl/Tk subrelease number.
'800.023' is the 23rd Perl/Tk release based on
Tcl/Tk 8.0. '803.xxx' will be based on Tcl/Tk 8.3.
- $Tk::library
-
The
pathname where the Tk modules are installed; for example:
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Tk.
- $Tk::platform
-
The
platform, which is 'MSWin32' for Win32 machines,
otherwise 'unix'.
- $Tk::version
-
The
base Tcl/Tk version, for example '8.0'.
- $Tk::patchLevel
-
The
Tcl/Tk patch level, for example '8.0'.
- $Tk::strictMotif
-
A
flag to force Tk to use pure Motif style windows.
23.1.2. Symbols Exported by Default
The use Tk statement exports these subroutines by
default:
- DoOneEvent
-
Handles Tk events. See Chapter 15, "Anatomy of the MainLoop".
- Ev
-
Used in
callback definitions to delay argument evaluation. See Chapter 15, "Anatomy of the MainLoop".
- exit
-
Overrides
Perl's CORE::exit to clean up Tk data
structures.
- Exists($widget)
-
Ensures
that $widget is a valid Perl/Tk widget reference.
- MainLoop
-
Starts the Tk event loop.
- tkinit(@args)
-
Shorthand
for MainWindow->new(@args).
23.1.3. Optionally Exported Symbols
You can import these symbols if desired:
- catch
-
Executes a
block of code, trapping and ignoring any errors. The code should be
enclosed in a Perl block: catch
{$widget->cget(-state)}.
- *event
-
A localized
version of a callback's event structure. See Chapter 15, "Anatomy of the MainLoop".
- lsearch
-
Searches
a list for an exact string match. It returns the ordinal of the
match, or -1 if no match. For example: my
$ord =
lsearch(\@Selection,$i). The first argument is an
array reference and the second the match string.
- NoOp
-
A No
Operation subroutine, commonly used to disable a callback.
- $XS_VERSION
-
The XS version.
- *widget
-
A localized
version of the widget that owns the callback. See Chapter 15, "Anatomy of the MainLoop".
- DONT_WAIT, WINDOW_EVENTS, FILE_EVENTS, TIMER_EVENTS, IDLE_EVENTS, ALL_EVENTS
-
DoOneEvent bit patterns. See Chapter 15, "Anatomy of the MainLoop".
- NORMAL_BG, ACTIVE_BG, SELECT_BG, SELECT_FG, TROUGH, INDICATOR, DISABLED, BLACK, WHITE
-
Common colors.
23.1.4. Exporter Tags
You can import several symbols at once using an Exporter tag (for
example, to get all the DoOneEvent bit patterns,
do use Tk ':eventtypes'):
-
:eventtypes
=> qw/DONT_WAIT WINDOW_EVENTS
FILE_EVENTS TIMER_EVENTS IDLE_EVENTS ALL_EVENTS/
-
:variables => qw/*widget
*event/
-
:colors => qw/NORMAL_BG
ACTIVE_BG SELECT_BG SELECT_FG TROUGH INDICATOR
DISABLED BLACK WHITE/
| | |
22.2. The PerlPlus Browser Plug-in | | 23.2. Manipulating the Cursor |
Copyright © 2002 O'Reilly & Associates. All rights reserved.