home *** CD-ROM | disk | FTP | other *** search
- # NOTE: Derived from ..\blib\lib\Tk\Listbox.pm.
- # Changes made here will be lost when autosplit is run again.
- # See AutoSplit.pm.
- package Tk::Listbox;
-
- #line 176 "..\blib\lib\Tk\Listbox.pm (autosplit into ..\blib\lib\auto\Tk\Listbox\FETCH.al)"
- # FETCH
- # -----
- # Return either the full contents or only the selected items in the
- # box depending on whether we tied it to an array or scalar respectively
- sub FETCH {
- my $class = shift;
-
- my $self = ${$class->{OBJECT}};
- my %options = %{$class->{OPTION}} if defined $class->{OPTION};;
-
- # Define the return variable
- my $result;
-
- # Check whether we are have a tied array or scalar quantity
- if ( @_ ) {
- my $i = shift;
- # The Tk:: Listbox has been tied to an array, we are returning
- # an array list of the current items in the Listbox
- $result = $self->get($i);
- } else {
- # The Tk::Listbox has been tied to a scalar, we are returning a
- # reference to an array or hash containing the currently selected items
- my ( @array, %hash );
-
- if ( defined $options{ReturnType} ) {
-
- # THREE-WAY SWITCH
- if ( $options{ReturnType} eq "index" ) {
- $result = [$self->curselection];
- } elsif ( $options{ReturnType} eq "element" ) {
- foreach my $selection ( $self->curselection ) {
- push(@array,$self->get($selection)); }
- $result = \@array;
- } elsif ( $options{ReturnType} eq "both" ) {
- foreach my $selection ( $self->curselection ) {
- %hash = ( %hash, $selection => $self->get($selection)); }
- $result = \%hash;
- }
- } else {
- # return elements (default)
- foreach my $selection ( $self->curselection ) {
- push(@array,$self->get($selection)); }
- $result = \@array;
- }
- }
- return $result;
- }
-
- # end of Tk::Listbox::FETCH
- 1;
-