summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod')
-rwxr-xr-xMaster/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod146
1 files changed, 146 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod b/Master/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod
new file mode 100755
index 00000000000..c8ce0a6db59
--- /dev/null
+++ b/Master/tlpkg/tlperl.straw/lib/Tk/FileSelect.pod
@@ -0,0 +1,146 @@
+
+=head1 NAME
+
+Tk::FileSelect - a widget for choosing files
+
+=for pm Tk/FileSelect.pm
+
+=for category Popups and Dialogs
+
+=head1 SYNOPSIS
+
+ use Tk::FileSelect;
+
+ $FSref = $top->FileSelect(-directory => $start_dir);
+ $top - a window reference, e.g. MainWindow->new
+ $start_dir - the starting point for the FileSelect
+ $file = $FSref->Show;
+ Executes the fileselector until either a filename is
+ accepted or the user hits Cancel. Returns the filename
+ or the empty string, respectively, and unmaps the
+ FileSelect.
+ $FSref->configure(option => value[, ...])
+ Please see the Populate subroutine as the configuration
+ list changes rapidly.
+
+=head1 DESCRIPTION
+
+This Module pops up a Fileselector box, with a directory entry on
+top, a list of directories in the current directory, a list of
+files in the current directory, an entry for entering/modifying a
+file name, an accept button and a cancel button.
+
+You can enter a starting directory in the directory entry. After
+hitting Return, the listboxes get updated. Double clicking on any
+directory shows you the respective contents. Single clicking on a
+file brings it into the file entry for further consideration,
+double clocking on a file pops down the file selector and calls
+the optional command with the complete path for the selected file.
+Hitting return in the file selector box or pressing the accept
+button will also work. *NOTE* the file selector box will only then
+get destroyed if the file name is not zero length. If you want
+yourself take care of it, change the if(length(.. in sub
+accept_file.
+
+=head1 AUTHORS
+
+Based on original FileSelect by
+Klaus Lichtenwalder, Lichtenwalder@ACM.org, Datapat GmbH, Munich,
+April 22, 1995 adapted by
+Frederick L. Wagner, derf@ti.com, Texas Instruments Incorporated, Dallas,
+21Jun95
+
+=head1 HISTORY
+
+=head2 950621 -- The following changes were made:
+
+=over 4
+
+=item *
+
+Rewrote Tk stuff to take advantage of new Compound widget module, so
+FileSelect is now composed of 2 LabEntry and 2 ScrlListbox2
+subwidgets.
+
+=item *
+
+Moved entry labels (from to the left of) to above the entry fields.
+
+=item *
+
+Caller is now able to control these aspects of widget, in both
+FileSelect (new) and configure :
+
+(Please see subroutine Populate for details, as these options
+change rapidly!)
+
+=item *
+
+I changed from Double-Button-1 to Button-1 in the Files listbox,
+to work with multiple mode in addition to browse mode. I also
+made some name changes (LastPath --> saved_path, ...).
+
+=item *
+
+The show method is not yet updated.
+
+=item *
+
+The topLevel stuff is not done yet. I took it out while I toy with
+the idea of FileSelect as a subwidget. Then the 'normal' topLevel
+thing with Buttons along the bottom could be build on top of it.
+
+=item *
+
+By request of Henry Katz <katz@fs09.webo.dg.com>, I added the functionality
+of using the Directory entry as a filter. So, if you want to only see the
+*.c files, you add a .c (the *'s already there :) and hit return.
+
+=back
+
+=head2 95/10/17, SOL, LUCC. lusol@Lehigh.EDU
+
+=over 4
+
+=item *
+
+ Allow either file or directory names to be accepted.
+
+=item *
+
+Require double click to move into a new directory rather than a single
+click. This allows a single click to select a directory name so it can
+be accepted.
+
+=item *
+
+Add -verify list option so that standard Perl file test operators (like
+-d and -x) can be specified for further name validation. The default
+value is the special value '!-d' (not a directory), so any name can be
+selected as long as it's not a directory - after all, this IS FileSelect!
+
+For example:
+
+ $fs->configure(-verify => ['-d', [\&verify_code, $P1, $P2, ... $Pn]]);
+
+ensures that the selected name is a directory. Further, if an element of
+the list is an array reference, the first element is a code reference to a
+subroutine and the remaining optional elements are it's parameters. The
+subroutine is called like this:
+
+ &verify_code($cd, $leaf, $P1, $P2, ... $Pn);
+
+where $cd is the current directory, $leaf is a directory or file name, and
+$P1 .. $Pn are your optional parameters. The subroutine should return TRUE
+if success or FALSE if failure.
+
+=back
+
+=head2 961008 -- derf@ti.com :
+
+By request of Jim Stern <js@world.northgrum.com> and Brad Vance
+<bvance@ti.com>, I updated the Accept and Show functions to support
+selection of multiple files. I also corrected a typo in the -verify code.
+
+=cut
+