summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod210
1 files changed, 210 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod b/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod
new file mode 100644
index 00000000000..98a547c4084
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod
@@ -0,0 +1,210 @@
+
+=head1 NAME
+
+Tk::BrowseEntry - entry widget with popup choices.
+
+=for pm Tixish/BrowseEntry.pm
+
+=for category Tix Extensions
+
+=head1 SYNOPSIS
+
+ use Tk::BrowseEntry;
+
+ $b = $frame->BrowseEntry(-label => "Label", -variable => \$var);
+ $b->insert("end", "opt1");
+ $b->insert("end", "opt2");
+ $b->insert("end", "opt3");
+ ...
+ $b->pack;
+
+=head1 SUPER-CLASS
+
+The C<BrowseEntry> class is derived from the C<Frame> class and
+inherits all the methods, options and subwidgets of its super-class.
+By default, options and methods are delegated to the entry subwidget.
+
+=head1 DESCRIPTION
+
+BrowseEntry is a poor man's ComboBox. It may be considered an
+enhanced version of LabEntry which provides a button to popup the
+choices of the possible values that the Entry may
+take. BrowseEntry supports all the options LabEntry supports
+except B<-textvariable>. This is replaced by B<-variable>. Other
+options that BrowseEntry supports:
+
+=over 4
+
+=item B<-arrowimage>
+
+Specifies the image to be used in the arrow button beside the entry
+widget. The default is an downward arrow image in the file cbxarrow.xbm
+
+=item B<-autolimitheight>
+
+If set to a true value, then the height of the listbox will be at most
+the number of entries in the list. The overall maximum of
+C<-listheight> still applies.
+
+=item B<-autolistwidth>
+
+If set to a true value, then the width of the listbox will match the
+width of the largest entry.
+
+=item B<-browsecmd>
+
+Specifies a function to call when a selection is made in the
+popped up listbox. It is passed the widget and the text of the
+entry selected. This function is called after the entry variable
+has been assigned the value.
+
+=item B<-browse2cmd>
+
+Like C<-browsecmd>, but the callback is called with the listbox index
+instead of the selected value.
+
+=item B<-buttontakefocus>
+
+Set the C<-takefocus> option of the button subwidget.
+
+=item B<-choices>
+
+Specifies the list of choices to pop up. This is a reference to an
+array of strings specifying the choices.
+
+=item B<-colorstate>
+
+The state of the widget is reflected by color. A non-editable entry
+widget will get a light gray background, while an editable entry will
+be almost white. [This may change]
+
+=item B<-listcmd>
+
+Specifies the function to call when the button next to the entry
+is pressed to popup the choices in the listbox. This is called before
+popping up the listbox, so can be used to populate the entries in
+the listbox.
+
+=item B<-listheight>
+
+Set the height of the listbox. See also C<-autolimitheight>.
+
+=item B<-listwidth>
+
+Specifies the width of the popup listbox.
+
+=item B<-state>
+
+Specifies one of three states for the widget: normal, readonly, or
+disabled. If the widget is disabled then the value may not be changed
+and the arrow button won't activate. If the widget is readonly, the
+entry may not be edited, but it may be changed by choosing a value
+from the popup listbox. normal is the default.
+
+=item B<-style>
+
+Set the "style" of the widget. Permitted values are C<MSWin32> and
+C<unix>. By default C<-style> is set to the current platform. Widgets
+with the C<unix> style will look like a normal C<BrowseEntry> widget,
+whereas with the C<MSWin32> style the arrow will look close to the
+Windows' standard combobox widget, while moving the mouse the entries
+will be highlighted, and probably includes other changes.
+
+=item B<-variable>
+
+Specifies the variable in which the entered value is to be stored.
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item B<insert(>I<index>, I<string>B<)>
+
+Inserts the text of I<string> at the specified I<index>. This string
+then becomes available as one of the choices.
+
+=item B<delete(>I<index1>, I<index2>B<)>
+
+Deletes items from I<index1> to I<index2>.
+
+=item B<get>
+
+The get method is delegated to the choices listbox.
+
+=back
+
+=head1 ADVERTISED WIDGETS
+
+The following widgets are advertised:
+
+=over
+
+=item entry
+
+The entry widget.
+
+=item arrow
+
+The button with the arrow image.
+
+=item choices
+
+The toplevel widget containing the choice listbox.
+
+=item slistbox
+
+The scrolled listbox with the choices.
+
+=back
+
+=head1 SUBCLASSING
+
+To make subclassing easier, the following methods may be overridden to
+use other standard widgets in composing the mega widget:
+
+=over
+
+=item LabEntryWidget
+
+A widget class compatible with Tk::LabEntry used for the entry.
+
+=item ButtonWidget
+
+A widget class compatible with Tk::Button used for the arrow button.
+
+=item ListboxWidget
+
+A widget class compatible with Tk::Listbox used for the choices
+listbox.
+
+=back
+
+For example to use a C<NumEntry> widget (from the Tk-GBARR CPAN
+distribution) instead of the normal C<Entry> widget:
+
+ package Tk::NumBrowseEntry;
+ use base qw(Tk::BrowseEntry);
+ use Tk::NumEntry;
+ Construct Tk::Widget 'NumBrowseEntry';
+ sub LabEntryWidget { "NumEntry" }
+
+=head1 BUGS
+
+BrowseEntry should really provide more of the ComboBox options.
+
+=head1 AUTHOR
+
+B<Rajappa Iyer> rsi@earthling.net
+
+B<Chris Dean> ctdean@cogit.com made additions.
+
+More additions by B<Slaven Rezic> slaven@rezic.de
+
+This code was inspired by ComboBox.tcl in Tix4.0 by Ioi Lam and
+bears more than a passing resemblance to ComboBox code. This may
+be distributed under the same conditions as Perl.
+
+=cut
+