logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

UI::Dialog::Backend::Whiptail - Backend for the Whiptail dialog variant

Abstract

       UI::Dialog::Backend::Whiptail is the UI::Dialog backend for the Whiptail dialog variant. While this
       module is used through UI::Dialog or any other loader module only the compatible methods are ever
       accessible. However, when using this module directly in your application (as in the SYNOPSIS example) you
       are given access to all the options and features of the real whiptail(1) application.

Author

        Kevin C. Krinke, E<lt>kevin@krinke.caE<gt>

Bugs

        Please email the author with any bug reports. Include the name of the
        module in the subject line.

Constructor

new(@options)
       EXAMPLE
            my $d = new( title => 'Default Title', backtitle => 'Backtitle',
                         width => 65, height => 20, listheight => 5 );

       DESCRIPTION
                 This  is the Class Constructor method. It accepts a list of key => value pairs and uses them as
                 the defaults when interacting with the various widgets.

       RETURNS
            A blessed object reference of the UI::Dialog::Backend::Whiptail class.

       OPTIONS
           The (...)'s after each option indicate the default for the option. An * denotes support  by  all  the
           widget methods on a per-use policy defaulting to the values decided during object creation.

           debug=0,1,2 (0)
           literal=0,1 (0)
           backtitle="backtitle" ('') *
           title="title" ('') *
           height=\d+ (0) *
           listheight=\d+ (5) *
           width=\d+ (0) *
           beepbefore=0,1 (0) *
           beepafter=0,1 (0) *

Description

       This dialog variant is the staple of the Debian console apt/dpkg interface. There isn't very much
       interesting about this particular backend. This is very much a basic dialog variant in comparison to
       things like Xdialog and cDialog.

Export

        None

Inherits

        UI::Dialog::Backend

Name

        UI::Dialog::Backend::Whiptail - Backend for the Whiptail dialog variant

See Also

       PERLDOC
          UI::Dialog
          UI::Dialog::Console
          UI::Dialog::Backend

       MAN FILES
          whiptail(1)

Synopsis

         use UI::Dialog::Backend::Whiptail;
         my $d = new UI::Dialog::Backend::Whiptail ( backtitle => 'Demo',
                                                     title => 'Default' );

         $d->msgbox( title => 'Welcome!', text => 'Welcome one and all!' );

Widget Methods

yesno()
       EXAMPLE
            if ($d->yesno( text => 'A binary type question?') ) {
                # user pressed yes
            } else {
                # user pressed no or cancel
            }

       DESCRIPTION
                 Present the end user with a message box that has two buttons, yes and no.

       RETURNS
            TRUE (1) for a response of YES or FALSE (0) for anything else.

   msgbox()
       EXAMPLE
            $d->msgbox( text => 'A simple message' );

       DESCRIPTION
                 Pesent the end user with a message box that has an OK button.

       RETURNS
                 TRUE (1) for a response of OK or FALSE (0) for anything else.

   infobox()
       EXAMPLE
            $d->infobox( text => 'A simple 6 second message.', timeout => 6000 );

       DESCRIPTION
                 Pesent the end user with a message box for a limited duration of time. The timeout is specified
                 in thousandths of a second, ie: 1000 = 1 second.

       RETURNS
                 TRUE (1) for a response of OK or FALSE (0) for anything else.

   password()
       EXAMPLE
            my $string = $d->password( text => 'Enter some (hidden) text.' );

       DESCRIPTION
                 Present  the  end  user  with  a  text input field that doesn't reveal the input (except to the
                 script) and a message.

       RETURNS
                 a SCALAR if the response is OK and FALSE (0) for anything else.

   inputbox()
       EXAMPLE
            my $string = $d->inputbox( text => 'Enter some text.',
                                       entry => 'this is the input field' );

       DESCRIPTION
                 Present the end user with a text input field and a message.

       RETURNS
                 a SCALAR if the response is OK and FALSE (0) for anything else.

   textbox()
       EXAMPLE
            $d->textbox( path => '/path/to/a/text/file' );

       DESCRIPTION
                 Present the end user with a simple scrolling box containing the  contents  of  the  given  text
                 file.

       RETURNS
                 TRUE (1) if the response is OK and FALSE (0) for anything else.

   menu()
       EXAMPLE
            my $selection1 = $d->menu( text => 'Select one:',
                                       list => [ 'tag1', 'item1',
                                                 'tag2', 'item2',
                                                 'tag3', 'item3' ]
                                     );

       DESCRIPTION
                 Present the user with a selectable list.

       RETURNS
                 a SCALAR of the chosen tag if the response is OK and FALSE (0) for anything else.

   checklist()
       EXAMPLE
            my @selection = $d->checklist( text => 'Select one:',
                                           list => [ 'tag1', [ 'item1', 0 ],
                                                     'tag2', [ 'item2', 1 ],
                                                     'tag3', [ 'item3', 1 ] ]
                                         );

       DESCRIPTION
                 Present the user with a selectable checklist.

       RETURNS
                 an ARRAY of the chosen tags if the response is OK and FALSE (0) for anything else.

   radiolist()
       EXAMPLE
            my $selection = $d->radiolist( text => 'Select one:',
                                           list => [ 'tag1', [ 'item1', 0 ],
                                                     'tag2', [ 'item2', 1 ],
                                                     'tag3', [ 'item3', 0 ] ]
                                         );

       DESCRIPTION
                 Present the user with a selectable radiolist.

       RETURNS
                 a SCALAR of the chosen tag if the response is OK and FALSE (0) for anything else.

   fselect()
       EXAMPLE
            my $text = $d->fselect( path => '/path/to/a/file/or/directory' );

       DESCRIPTION
                 Present the user with a file selection widget preset with the given path.

       RETURNS
                 a SCALAR if the response is OK and FALSE (0) for anything else.

   dselect()
       EXAMPLE
            my $text = $d->dselect( path => '/path/to/a/directory' );

       DESCRIPTION
                 Present  the  user  with  a file selection widget preset with the given path.  Unlike fselect()
                 this widget will only return a directory selection.

       RETURNS
                 a SCALAR if the response is OK and FALSE (0) for anything else.

   gauge_start()
       EXAMPLE
            $d->gauge_start( text => 'gauge...', percentage => 1 );

       DESCRIPTION
                 Display a meter bar to the user. This get's the widget realized but requires  the  use  of  the
                 other gauge_*() methods for functionality.

       RETURNS
                 TRUE (1) if the widget loaded fine and FALSE (0) for anything else.

   gauge_inc()
       EXAMPLE
            $d->gauge_inc( 1 );

       DESCRIPTION
                 Increment the meter by the given amount.

       RETURNS
                 TRUE (1) if the widget incremented fine and FALSE (0) for anything else.

   gauge_dec()
       EXAMPLE
            $d->gauge_dec( 1 );

       DESCRIPTION
                 Decrement the meter by the given amount.

       RETURNS
                 TRUE (1) if the widget incremented fine and FALSE (0) for anything else.

   gauge_set()
       EXAMPLE
            $d->gauge_set( 99 );

       DESCRIPTION
                 Set the meter bar to the given amount.

       RETURNS
                 TRUE (1) if the widget set fine and FALSE (0) for anything else.

   gauge_text()
       EXAMPLE
            $d->gauge_text( 'string' );

       DESCRIPTION
                 Set the meter bar message to the given string.

       RETURNS
                 TRUE (1) if the widget set fine and FALSE (0) for anything else.

   gauge_stop()
       EXAMPLE
            $d->gauge_stop();

       DESCRIPTION
                 End the meter bar widget process.

       RETURNS
                 TRUE (1) if the widget closed fine and FALSE (0) for anything else.

See Also