Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UI::Dialog(3)	      User Contributed Perl Documentation	 UI::Dialog(3)

NAME
       UI::Dialog - wrapper for	various	dialog applications.

SYNOPSIS
	 use UI::Dialog;
	 my $d = new UI::Dialog	( backtitle => 'Demo', title =>	'Default',
				  height => 20,	width => 65 , listheight => 5,
				  order	=> [ 'zenity', 'xdialog' ] );

	 # Either a Zenity or Xdialog msgbox widget should popup,
	 # with	a preference for Zenity.
	 $d->msgbox( title => 'Welcome!', text => 'Welcome one and all!' );

ABSTRACT
       UI::Dialog is a OOPerl wrapper for the various dialog applications.
       These dialog backends are currently supported: Zenity, XDialog,
       GDialog,	KDialog, CDialog, and Whiptail.	There is also an ASCII backend
       provided	as a last resort interface for the console based dialog
       variants. UI::Dialog is a class that provides a strict interface	to
       these various backend modules.  By using	UI:Dialog (with	it's imposed
       limitations on the widgets) you can ensure that your Perl program will
       function	with any available interfaces.

DESCRIPTION
       UI::Dialog supports priority ordering of	the backend detection process.
       So if you'd prefer that Xdialog should be used first if available,
       simply designate	the desired order when creating	the new	object.	The
       default order for detecting and utilization of the backends are as
       follows:
	 (with DISPLAY env): Zenity, GDialog, XDialog, KDialog
	 (without DISPLAY): CDialog, Whiptail, ASCII

       UI::Dialog is the result	of a complete re-write of the UDPM CPAN
       module. This was	done to	break away from	the bad	choice of name
       (UserDialogPerlModule) and to implement a cleaner, more detached,
       OOPerl interface.

EXPORT
	 None

INHERITS
	 None

CONSTRUCTOR
   new(	@options )
       EXAMPLE
	    my $d = new( title => 'Default Title', backtitle =>	'Backtitle',
			 width => 65, height =>	20, listheight => 5,
			 order => [ 'zenity', 'xdialog', 'gdialog' ] );

       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 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)
	   order = [ zenity, xdialog, gdialog, kdialog,	cdialog, whiptail,
	   ascii ] (as indicated)
	   PATH	= [ /bin, /usr/bin, /usr/local/bin, /opt/bin ] (as indicated)
	   backtitle = "backtitle" ('')	*
	   title = "title" ('')	*
	   beepbefore =	0,1 (0)	*
	   beepafter = 0,1 (0) *
	   height = \d+	(20) *
	   width = \d+ (65) *
	   listheight =	\d+ (5)	*

STATE METHODS
   state( )
       EXAMPLE
	    if ($d->state() eq "OK") {
		$d->msgbox( text => "that went well" );
	    }

       DESCRIPTION
		 Returns the state of the last dialog widget command. The
		 value can be one of "OK", "CANCEL", "ESC". The	return data is
		 based on the exit codes (return value)	of the last widget
		 displayed.

       RETURNS
		 a single SCALAR.

   ra( )
       EXAMPLE
	    my @array =	$d->ra();

       DESCRIPTION
		 Returns the last widget's data	as an array.

       RETURNS
		 an ARRAY.

   rs( )
       EXAMPLE
	    my $string = $d->rs();

       DESCRIPTION
		 Returns the last widget's data	as a (possibly multiline)
		 string.

       RETURNS
		 a SCALAR.

   rv( )
       EXAMPLE
	    my $string = $d->rv();

       DESCRIPTION
		 Returns the last widget's exit	status,	aka: return value.

       RETURNS
		 a SCALAR.

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 \fIs0(1) for a response of YES or	FALSE \fIs0(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 \fIs0(1) for a response of OK or FALSE \fIs0(0) for
		 anything else.

   inputbox( )
       EXAMPLE
	    my $string = $d->inputbox( text => 'Please 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 \fIs0(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 has	hidden
		 input,	and a message.

		 Note that the GDialog backend will provide a regular inputbox
		 instead of a password box because gdialog doesn't support
		 passwords. GDialog is on it's way to the proverbial software
		 heaven	so this	isn't a	real problem. Use Zenity instead :)

       RETURNS
		 a SCALAR if the response is OK	and FALSE \fIs0(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 \fIs0(1) if the response is OK and FALSE \fIs0(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
		 \fIs0(0) for anything else.

   checklist( )
       EXAMPLE
	    my @selection1 = $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
		 \fIs0(0) for anything else.

   radiolist( )
       EXAMPLE
	    my $selection1 = $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
		 \fIs0(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 \fIs0(0) for
		 anything else.

   dselect( )
       EXAMPLE
	    my $text = $d->dselect( path => '/path/to/a/file/or/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 \fIs0(0) for
		 anything else.

SEE ALSO
       PERLDOC
	  UI::Dialog::GNOME
	  UI::Dialog::KDE
	  UI::Dialog::Console
	  UI::Dialog::Backend
	  UI::Dialog::Backend::ASCII
	  UI::Dialog::Backend::CDialog
	  UI::Dialog::Backend::GDialog
	  UI::Dialog::Backend::KDialog
	  UI::Dialog::Backend::Nautilus
	  UI::Dialog::Backend::Whiptail
	  UI::Dialog::Backend::XDialog
	  UI::Dialog::Backend::XOSD
	  UI::Dialog::Backend::Zenity

       MAN FILES
	  dialog(1), whiptail(1), zenity(1), gdialog(1), Xdialog(1),
	  osd_cat(1), kdialog(1) and nautilus(1)

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

AUTHOR
       Kevin C.	Krinke,	<kevin@krinke.ca>

COPYRIGHT AND LICENSE
	Copyright (C) 2004-2016	 Kevin C. Krinke <kevin@krinke.ca>

	This library is	free software; you can redistribute it and/or
	modify it under	the terms of the GNU Lesser General Public
	License	as published by	the Free Software Foundation; either
	version	2.1 of the License, or (at your	option)	any later version.

	This library is	distributed in the hope	that it	will be	useful,
	but WITHOUT ANY	WARRANTY; without even the implied warranty of
	MERCHANTABILITY	or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
	Lesser General Public License for more details.

	You should have	received a copy	of the GNU Lesser General Public
	License	along with this	library; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA

perl v5.24.1			  2016-04-02			 UI::Dialog(3)

NAME | SYNOPSIS | ABSTRACT | DESCRIPTION | EXPORT | INHERITS | CONSTRUCTOR | STATE METHODS | WIDGET METHODS | SEE ALSO | BUGS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=UI::Dialog&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help