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

FreeBSD Manual Pages

  
 
  

home | help
Curses::UI::Buttonbox(User Contributed Perl DocumentatCurses::UI::Buttonbox(3)

NAME
       Curses::UI::Buttonbox - Create and manipulate button widgets

CLASS HIERARCHY
	Curses::UI::Widget
	   |
	   +----Curses::UI::Buttonbox

SYNOPSIS
	   use Curses::UI;
	   my $cui = new Curses::UI;
	   my $win = $cui->add('window_id', 'Window');

	   my $buttons = $win->add(
	       'mybuttons', 'Buttonbox',
	       -buttons	  => [
		   {
		     -label => '< Button 1 >',
		     -value => 1,
		     -shortcut => 1
		   },{
		     -label => '< Button 2 >',
		     -value => 2,
		     -shortcut => 2
		   }
	       ]
	   );

	   $buttons->focus();
	   my $value = $buttons->get();

DESCRIPTION
       Curses::UI::Buttonbox is	a widget that can be used to create an array
       of buttons (or, of course, only one button).

STANDARD OPTIONS
       -parent,	-x, -y,	-width,	-height, -pad, -padleft, -padright, -padtop,
       -padbottom, -ipad, -ipadleft, -ipadright, -ipadtop, -ipadbottom,
       -title, -titlefullwidth,	-titlereverse, -onfocus, -onblur

       For an explanation of these standard options, see Curses::UI::Widget.

WIDGET-SPECIFIC	OPTIONS
       o   -buttons < ARRAYREF >

	   This	option takes a reference to a list of buttons.	The list may
	   contain both	predefined button types	and complete button
	   definitions of your own.

	   * Your own button definition

	     A button definition is a reference	to a hash. This
	     hash can have the following key-value pairs:

	     obligatory:
	     -----------

	     -label	 This determines what text should be drawn
			 on the	button.

	     optional:
	     ---------

	     -value	 This determines the returnvalue for the
			 get() method. If the value is not defined,
			 the get() method will return the index
			 of the	button.

	     -shortcut	 The button will act as	if it was pressed
			 if the	key defined by -shortcut is pressed

	     -onpress	 If the	value for -onpress is a	CODE reference,
			 this code will	be executes if the button
			 is pressed, before the	buttons	widget loses
			 focus and returns.

	   * Predefined	button type

	     This module has a predefined list of frequently used button
	     types. Using these	in B<-buttons> makes things a lot
	     easier. The predefined button types are:

	     ok		 -label	   => '< OK >'
			 -shortcut => 'o'
			 -value	   => 1
			 -onpress  => undef

	     cancel	 -label	   => '< Cancel	>'
			 -shortcut => 'c'
			 -value	   => 0
			 -onpress  => undef

	     yes	 -label	   => '< Yes >'
			 -shortcut => 'y'
			 -value	   => 1
			 -onpress  => undef

	     no		 -label	   => '< No >'
			 -shortcut => 'n'
			 -value	   => 0
			 -onpress  => undef

	   Example:

	     ....
	     -buttons => [
		 { -label => '<	My own button >',
		   -value => 'mine!',
		   -shortcut =>	'm' },

		 'ok',

		 'cancel',

		 { -label => '<	My second button >',
		   -value => 'another one',
		   -shortcut =>	's',
		   -onpress => sub { die "Do not press this button!\n" } }
	     ]
	     ....

       o   -selected < INDEX >

	   By default the first	button (index =	0) is active. If you want
	   another button to be	active at creation time, add this option. The
	   INDEX is the	index of the button you	want to	make active.

       o   -buttonalignment < VALUE >

	   You can specify how the buttons should be aligned in	the widget.
	   Available values for	VALUE are 'left', 'middle' and 'right'.

       o   -vertical < BOOLEAN >

	   When	set to a true value, it	will cause the buttons to be rendered
	   with	vertical instead of horizontal alignment.

METHODS
       o   new ( OPTIONS )

       o   layout ( )

       o   draw	( BOOLEAN )

       o   focus ( )

       o   onFocus ( CODEREF )

       o   onBlur ( CODEREF )

       o   draw_if_visible ( )

	   These are standard methods. See Curses::UI::Widget for an
	   explanation of these.

       o   get ( )

	   This	method will return the index of	the currently active button.
	   If a	value is given for that	index (using the -value	option,	see
	   -buttons above), that value will be returned.

DEFAULT	BINDINGS
       o   <enter>, <space>

	   TODO: Fix dox Call the 'loose-focus'	routine. By default this
	   routine will	have the container in which the	widget is loose	its
	   focus. If you do not	like this behaviour, then you can have it
	   loose focus itself by calling:

	       $buttonswidget->set_routine('loose-focus', 'RETURN');

	   For an explanation of set_routine, see Curses::UI::Widget.

       o   <cursor left>, <h>

	   Call	the 'previous' routine.	This will make the previous button the
	   active button. If the active	button already is the first button,
	   nothing will	be done.

       o   <cursor right>, <l

	   Call	the 'next' routine. This will make the next button the active
	   button. If the next button already is the last button, nothing will
	   be done.

       o   <any	other key>

	   This	will call the 'shortcut' routine. This routine will handle the
	   shortcuts that are set by the -shortcuts option.

SEE ALSO
       Curses::UI, Curses::UI::Widget, Curses::UI::Common

AUTHOR
       Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.

       Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)

       This package is free software and is provided "as is" without express
       or implied warranty. It may be used, redistributed and/or modified
       under the same terms as perl itself.

perl v5.24.1			  2011-09-01	      Curses::UI::Buttonbox(3)

NAME | CLASS HIERARCHY | SYNOPSIS | DESCRIPTION | STANDARD OPTIONS | WIDGET-SPECIFIC OPTIONS | METHODS | DEFAULT BINDINGS | SEE ALSO | AUTHOR

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

home | help