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

FreeBSD Manual Pages

  
 
  

home | help
UI::Dialog::Backend::XUseroContributed Perl DocUI::Dialog::Backend::XDialog(3)

NAME
       UI::Dialog::Backend::XDialog - backend for the Xdialog(1)

SYNOPSIS
	 use UI::Dialog::Backend::XDialog;
	 my $d = new UI::Dialog::Backend::XDialog ( backtitle => 'Demo',
						    title => 'Default',
						    height => 20, width=>65,
						    listheight => 5 );

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

ABSTRACT
       UI::Dialog::Backend::XDialog is the UI::Dialog backend for the
       Xdialog(1) application. While this module is used through UI::Dialog or
       any other meta 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 Xdialog(1) application.

DESCRIPTION
       This backend is a wrapper for the Xdialog(1) application	and as such
       attempts	to extend every	facet of Xdialog(1) to you the Perl
       programmer. The best reference for finding out about the	various
       widgets,	please read the	fine Xdialog(1)	manual as it's got the
       definitive details on the Xdialog application itself. This perldoc
       simply briefly describes	all the	supported options and widgets.

       Note that XDialog supports newlines (\n)	within it's message text area,
       UI::Dialog strips the newlines in order to not break all	the other
       backends. If you're using XDialog specifically, you can set the literal
       option to 1 and the message text	will be	left as	it was literally
       given.

EXPORT
	 None

INHERITS
	 UI::Dialog::Backend

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::XDialog 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)
	   PATH	= [ /bin, /usr/bin, /usr/local/bin, /opt/bin ] (as indicated)
	   wmclass = "name" ('') *
	   rc-file = "/path/to/any/gtkrc" ('') *
	   backtitle = "backtitle" ('')	*
	   title = "title" ('')	*
	   allowclose =	0,1 (0)	*
	   noclose = 0,1 (0) *
	   screencenter	= 0,1 (0) *
	   undermouse =	0,1 (0)	*
	   autoplacement = 0,1 (0) *
	   center = 0,1	(0) *
	   right = 0,1 (0) *
	   left	= 0,1 (0) *
	   fill	= 0,1 (0) *
	   nowrap = 0,1	(0) *
	   wrap	= 0,1 (0) *
	   crwrap = 0,1	(0) *
	   nocrwrap = 0,1 (0) *
	   buttonsstyle	= default,icon,text (default) *
	   fixedfont = 0,1 (0) *
	   editable = 0,1 (0) *
	   timestamp = 0,1 (0) *
	   datestamp = 0,1 (0) *
	   reverse = 0,1 (0) *
	   keepcolors =	0,1 (0)	*
	   interval = \d+ (0) *
	   notags = 0,1	(0) *
	   itemhelp = 0,1 (0) *
	   defaultitem = "tag" ('') *
	   icon	= "/path/to/file.xpm" ('') *
	   nook	= 0,1 (0) *
	   nocancel = 0,1 (0) *
	   nobuttons = 0,1 (0) *
	   defaultno = 0,1 (0) *
	   wizard = 0,1	(0) *
	   help	= "help" ('') *
	   print = "lp0" ('') *
	   check = "label" ('')	*
	   oklabel  = "label" ('') *
	   cancellabel = "label" ('') *
	   beepbin = "/usr/bin/beep" ('/usr/bin/beep') *
	   beepbefore =	0,1 (0)	*
	   beepafter = 0,1 (0) *
	   begin = [ $y, $x ] (0) *
	   ignoreeof = 0,1 (0) *
	   smooth = 0,1	(0) *
	   height = \d+	(20) *
	   width = \d+ (65) *
	   listheight =	\d+ (5)	*
	   percentage =	\d+ (0)

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.

   infobox( )
       EXAMPLE
	      $d->infobox( text	=> 'Information	to convey.', timeout =>	5000 );

       DESCRIPTION
	     Present the end user with a message box that disappears after a
	     certain length of time. The 'timeout' argument is representative
	     of	milliseconds. The default timeout is 5000 milliseconds (5
	     seconds). Yes this	message	will self destruct!  You can also use
	     the alternate timeout option of 'wait' in which is	interpreted in
	     seconds instead of	milliseconds

       RETURNS
	     TRUE \fIs0(1) for a response of OK	/ normal timeout or FALSE
	     \fIs0(0) for anything else.

   gauge_start(	) progress_start( )
       EXAMPLE
	    $d->gauge_start( text => 'gauge...', percentage => 1 );
	    $d->progress_start(	text =>	'progres...', 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. There are two such meter bars provided by
		 Xdialog(1) and	both are handled independantly of each other.
		 This allows for an interesting	situation... two progress
		 meters	up at the same time, both fully	functional.

		  #
		  # Progressive	Duality	:)
		  #
		  $d->gauge_start( text	=> 'gauge...', begin =>	[ 10, 10 ] );
		  $d->progress_start( text => 'progres...' );
		  foreach my $i	(10,20,30,40,50,60,70,80,90,100) {
		      $d->gauge_set($i);
		      sleep(1);
		      $d->progress_set($i);
		      sleep(1);
		  }
		  $d->gauge_stop();
		  $d->progress_stop();

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

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

       DESCRIPTION
		 Increment the meter by	the given amount.

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

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

       DESCRIPTION
		 Decrement the meter by	the given amount.

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

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

       DESCRIPTION
		 Set the meter bar to the given	amount.

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

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

       DESCRIPTION
		 Set the meter bar message to the given	string.

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

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

       DESCRIPTION
		 End the meter bar widget process.

       RETURNS
		 TRUE \fIs0(1) if the widget closed fine 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 doesn't
		 reveal	the input (except to the script) and a message.

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

   passwords2( )
       EXAMPLE
	    my @strings	= $d->passwords2( text => 'Enter some (hidden) text.',
					  label1 => 'first field label',
					  label2 => 'second field label' );

       DESCRIPTION
		 Present the end user with two (labeled) password input
		 fields.

       RETURNS
		 an ARRAY of up	to two elements	if the response	is OK and
		 FALSE \fIs0(0)	for anything else.

   passwords3( )
       EXAMPLE
	    my @strings	= $d->passwords3( text => 'Enter some (hidden) text.',
					  label1 => 'first field label',
					  label2 => 'second field label',
					  label3 => 'third field label'	);

       DESCRIPTION
		 Present the end user with three (labeled) passsword input
		 fields.

       RETURNS
		 an ARRAY of up	to three elements if the response is OK	and
		 FALSE \fIs0(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 \fIs0(0) for
		 anything else.

   inputsbox2( )
       EXAMPLE
	    my @strings	= $d->inputsbox2( text => 'Enter some text.',
					  label1 => 'first field label',
					  input1 => '1st input field',
					  label2 => 'second field label',
					  input2 => '2nd input field' );

       DESCRIPTION
		 Present the end user with two (labeled) text input fields.

       RETURNS
		 an ARRAY of up	to two elements	if the response	is OK and
		 FALSE \fIs0(0)	for anything else.

   inputsbox3( )
       EXAMPLE
	    my @strings	= $d->inputsbox3( text => 'Enter some text.',
					  label1 => 'first field label',
					  input1 => '1st input field',
					  label2 => 'second field label',
					  input2 => '2nd input field',
					  label3 => 'third field label',
					  input3 => '3rd input field' );

       DESCRIPTION
		 Present the end user with three (labeled) text	input fields.

       RETURNS
		 an ARRAY of up	to three elements if the response is OK	and
		 FALSE \fIs0(0)	for anything else.

   combobox( )
       EXAMPLE
	    my $string = $d->combobox( text => 'Enter some text.',
				       editable	=> 1, list => [	'item1',
								'item2'	] );

       DESCRIPTION
		 Present the end user with a (possibly editable) dropdown
		 list.

       RETURNS
		 a SCALAR or TRUE \fIs0(1) if the response is OK and FALSE
		 \fIs0(0) for anything else.

   rangebox( )
       EXAMPLE
	    my $string = $d->rangebox( text => 'Pick a number...',
				       min => 0, max =>	100, def => 50 );

       DESCRIPTION
		 Present the end user with a range slider and a	message.

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

   rangesbox2( )
       EXAMPLE
	    my @strings	= $d->rangesbox2( text => 'Pick	a number...',
					  label1 => 'first slider label',
					  min1 => 0, max1 => 100, def1 => 50,
					  label2 => 'second slider label',
					  min1 => 0, max2 => 10, def2 => 5 );

       DESCRIPTION
		 Present the end user with two (labeled) text range fields.

       RETURNS
		 an ARRAY of up	to two elements	if the response	is OK and
		 FALSE \fIs0(0)	for anything else.

   rangesbox3( )
       EXAMPLE
	    my @strings	= $d->rangesbox3( text => 'Pick	a number...',
					  label1 => 'first slider label',
					  min1 => 10, max1 => 100, def1	=> 50,
					  label2 => 'second slider label',
					  min2 => 1, max2 => 10, def2 => 5,
					  label3 => 'third slider label',
					  min3 => 2, max3 => 7,	def3 =>	5 );

       DESCRIPTION
		 Present the end user with three (labeled) range sliders.

       RETURNS
		 an ARRAY of up	to three elements if the response is OK	and
		 FALSE \fIs0(0)	for anything else.

   spinbox( )
       EXAMPLE
	    my $string = $d->spinbox( text => 'Pick a number...',
				      min => 0,	max => 100, def	=> 50 );

       DESCRIPTION
		 Present the end user with a spin slider and a message.

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

   spinsbox2( )
       EXAMPLE
	    my @strings	= $d->spinsbox2( text => 'Pick a number...',
					 label1	=> 'first slider label',
					 min1 => 0, max1 => 100, def1 => 50,
					 label2	=> 'second slider label',
					 min1 => 0, max2 => 10,	def2 =>	5 );

       DESCRIPTION
		 Present the end user with two (labeled) text spin fields.

       RETURNS
		 an ARRAY of up	to two elements	if the response	is OK and
		 FALSE \fIs0(0)	for anything else.

   spinsbox3( )
       EXAMPLE
	    my @strings	= $d->spinsbox3( text => 'Pick a number...',
					 label1	=> 'first slider label',
					 min1 => 10, max1 => 100, def1 => 50,
					 label2	=> 'second slider label',
					 min2 => 1, max2 => 10,	def2 =>	5,
					 label3	=> 'third slider label',
					 min3 => 25, max3 => 75, def3 => 50 );

       DESCRIPTION
		 Present the end user with three (labeled) spin	sliders.

       RETURNS
		 an ARRAY of up	to three elements 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.

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

       DESCRIPTION
		 Present the end user with an editable scrolling box
		 containing the	contents of the	given text file.

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

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

       DESCRIPTION
		 Present the end user with a scrolling box containing the
		 contents of the given text file. The contents of the window
		 is constantly updated in a similar manner to that of the unix
		 tail(1) command.

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

   logbox( )
       EXAMPLE
	    $d->logbox(	path =>	'/path/to/a/text/file',
			timestamp => 1,	datestamp => 1,	reverse	=> 0 );

       DESCRIPTION
		 Present the end user with a scrolling box containing the
		 contents of the given text file. The contents of the window
		 is constantly updated in a similar manner to that of the unix
		 tail(1) command. In addition, this widget can also colourize
		 the output based on any ASCII colour escape sequences found
		 within	the 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' ] );

	    my $selection2 = $d->menu( text => 'Select one:',
				       itemhelp	=> 1,
				       list => [ 'tag1', 'item1', 'help1',
						 'tag2', 'item2', 'help2',
						 'tag3', 'item3', 'help3' ]
				     );

       DESCRIPTION
		 Present the user with a selectable list and optional help
		 tips.

       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 ] ]
					  );

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

       DESCRIPTION
		 Present the user with a selectable checklist and optional
		 help tips.

       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 ] ]
					  );

	    my $selection2 = $d->radiolist( text => 'Select one:',
					    itemhelp =>	1,
					    list => [ 'tag1',
						      [	'item1', 0, 'help1' ],
						      'tag2',
						      [	'item2', 1, 'help2' ],
						      'tag3',
						      [	'item3', 0, 'help3' ]
						    ]
					  );

       DESCRIPTION
		 Present the user with a selectable radiolist and optional
		 help tips.

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

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

	    my $selection2 = $d->buildlist( text => 'Select one:',
					    itemhelp =>	1,
					    list => [ 'tag1',
						      [	'item1', 0, 'help1' ],
						      'tag2',
						      [	'item2', 1, 'help2' ],
						      'tag3',
						      [	'item3', 0, 'help3' ]
						    ]
					   );

       DESCRIPTION
		 Present the user with a buildable list	and optional help
		 tips.

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

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

	    my $selection2 = $d->treeview( text	=> 'Select one:',
					   itemhelp => 1,
					   list	=> [ 'tag1',
						     [ 'item1',0,1,'help1' ],
						     'tag2',
						     [ 'item2',1,2,'help2' ],
						     'tag3',
						     [ 'item3',0,2,'help3' ]
						   ]
					 );

       DESCRIPTION
		 Present the user with a treeview of items and optional	help
		 tips. The treeview list is made up of an array(ref)
		 consisting of a name (which is	returned upon user selection)
		 and an	array reference	containg the details of	the item. The
		 details array is made up of a description string, a status
		 indicator (1,0), the desired tree depth and the optional help
		 string.

		  [ 'ReturnName',
		    [ 'Description of item',
		      $status,
		      $depth,
		      'help string is ignored unless itemhelp is non-null.'
		    ]
		  }

       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.

   calendar( )
       EXAMPLE
	    my $date = $d->calendar( text => 'Pick a date...',
				     day => 1, month =>	1, year	=> 1970	);
	    my ($m,$d,$y) = split(/\//,$date);

       DESCRIPTION
		 Present the user with a calendar widget preset	with the given
		 date.

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

   timebox( )
       EXAMPLE
	    my $time = $d->timebox( text => 'What time?' );
	    my ($h,$m,$s) = split(/\:/,$time);

       DESCRIPTION
		 Present the user with a time widget preset with the current
		 time.

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

SEE ALSO
       PERLDOC
	  UI::Dialog
	  UI::Dialog::GNOME
	  UI::Dialog::Backend
	  UI::Dialog::Backend::Nautilus
	  UI::Dialog::Backend::XOSD

       MAN FILES
	  Xdialog(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-02-03   UI::Dialog::Backend::XDialog(3)

NAME | SYNOPSIS | ABSTRACT | DESCRIPTION | EXPORT | INHERITS | CONSTRUCTOR | 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::Backend::XDialog&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help