diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Tk/BrowseEntry.pod | 210 |
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 + |