file: Qtk::QuickTk-0.88.readme QuickTk provides a quick and simple way to produce point-and-click applications, using the perl-tk GUI toolkit. It assumes a beginner's level of familiarity with perl-tk, as documented in any of several recent books (See, for instance, Nancy Walsh's "Learning Perl/Tk", published by O'Reilly, 1999, ISBN: 1-56592-314-6). The QuickTk format for specifying a GUI (graphical user interface) is simple. A complete application can be defined in a short, one or two page document (see the examples included with this module). You need Perl, perl-tk, this module and, probably, the companion module Text::TreeFile, in order to support the script you write. The perl-tk widget library (Tk, for short) provides "widgets" (things you see on the screen, like buttons) and "events" (things that can happen to a widget, like a click, right-click or double-click of the mouse on a button). You need to know only about the specific widgets and events of Tk you wish to use, and enough Perl to say what should happen when your user makes an event happen in one of your widgets. DOCUMENTATION There are man pages for Qtk::QuickTk(3pm) which introduces the functions and use of the modele, Qtk::QuickTk::scripts(3pm) which provides detailed information about the format for writing GUI specification scripts for QuickTk, Qtk::QuickTk::details(3pm) which gives exhaustive specification of alternatives and features for use, and Qtk::QuickTk::internals(3pm) which documents the code itself. Another module: Text::TreeFile(3pm) is used by default and, thus, its documentation is descriptive of the low-level format features usually employed for this module. AVAILABILITY Copyright (c) 2000 John Kirk. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The latest version of this module should always be available at any CPAN (http://www.cpan.org) mirror, or from the author: http://perl.dystanhays.com/jnk INSTALLATION I usually install modules using the CPAN.pm module, invoked as: perl -MCPAN -e shell It can be run by an ordinary user, or root (to install system-wide), and asks a few configuration questions the first ime it's run. The *.tar.gz file, after being uncompressed and unarchived, expects to be installed with the following commands: perl Makefile.PL make make test This creates and installs man pages, generated from *.pm and *.pod files, among other things. SYNOPSIS use Qtk::QuickTk; # for a QuickTk GUI spec document in file: scriptfile.qtk: my $app=Qtk::QuickTk->new('scriptfile.qtk'); MainLoop; or you can make the script file directly executable by giving it the following as its first line: exec /usr/bin/perl -M'Qtk::QuickTk-app' -e app $0;exit See example scripts, provided with the module, to get the flavor of what scripts look like. CAVEAT QuickTk defines only a simpler format for writing the specification for a GUI-based application which uses the perl-tk widget library. Familiarity with, or reference to, that library is required to use QuickTk. The module, Text::TreeFile(3pm) is used, by default, for interpreting the low-level file format in which GUI specifications are written, so familiarity with, or reference to, that module may be helpful in using QuickTk. REQUIRES QuickTk uses modules: Text::TreeFile(3pm) (optionally), Tk(3pm), FileHandle(3pm), Carp(3pm), English(3pm), Exporter(3pm) and Autoloader(3pm). CONTENTS This distribution provides the following: QuickTk.pm -- the code for the module, which your program will access with a "use Qtk::QuickTk;" statement, typically. Pod documentation is embedded in this file, from which the man page, Qtk::QuickTk(3pm) is generated. scripts.pod -- plain old documentation exhaustively describing the syntax functionality of the GUI specification format supported by the QuickTk module, from which the man page, Qtk::QuickTk::scripts(3pm) is generated. details.pod -- plain old documentation exhausively specifying the options for use of the module, from which the man page, Qtk::QuickTk::details(3pm) is generated. internals.pod -- plain old documentation of the module code itself, from which the man page, Qtk::QuickTk::internals(3pm) is generated. test.pl -- a small program which contains hand-coded copies of data structures that would result from using the Text::TreeFile(3pm) to read the miniapp example file, which displays a menu bar, a task bar and a text window, requests the user to follow a brief procedure and reports results.