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

FreeBSD Manual Pages

  
 
  

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

NAME
       Curses::UI::Container - Create and manipulate container widgets

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

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

	   my $container = $win->add(
	       'mycontainer', 'Container'
	   );

	   $container->add(
	       'contained', 'SomeWidget',
	       .....
	   );

	   $container->focus();

DESCRIPTION
       A container provides an easy way	of managing multiple widgets in	a
       single "form". A	lot of Curses::UI functionality	is built around
       containers. The main class Curses::UI itself is a container. A
       Curses::UI::Window is a container. Some of the widgets are implemented
       as containers.

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   -releasefocus

	   If this option is set, the widgets inside this Container will be
	   part	of the focus ordering of the parent widget.  This means	that
	   when	this Container gets the	focus, its first widget	will be
	   focused.  When the focus leaves the last widget inside the
	   Container it	will give the focus back to the	parent instead of
	   cycling back	to the first widget in this Container.	This option is
	   useful to create a sub-class	packed with common used	widgets,
	   making the reuse easier.

METHODS
       o   new ( )

	   Create a new	instance of the	Curses::UI::Container class.

       o   add ( ID, CLASS, OPTIONS )

	   This	is the main method for this class. Using this method it	is
	   easy	to add widgets to the container.

	   The ID is an	identifier that	you want to use	for the	added widget.
	   This	may be any string you want. If you do not need an ID, you may
	   also	us an undefined	value. The container will automatically	create
	   an ID for you.

	   The CLASS is	the class which	you want to add	to the container. If
	   CLASS does not contain '::' or CLASS	matches	'Dialog::...' then
	   'Curses::UI'	will be	prepended to it. This way you do not have to
	   specifiy the	full class name	for widgets that are in	the Curses::UI
	   hierarchy. It is not	necessary to call "use CLASS" yourself.	The
	   add method will call	the usemodule method from Curses::UI to
	   automatically load the module.

	   The hash OPTIONS contains the options that you want to pass on to
	   the new instance of CLASS.

	   Example:

	       $container->add(
		   'myid',		     # ID
		   'Label',		     # CLASS
		   -text => 'Hello, world!', # OPTIONS
		   -x	 => 10,
		   -y	 => 5,
	       );

       o   delete ( ID )

	   This	method deletes the contained widget with the given ID from the
	   container.

       o   hasa	( CLASS	)

	   This	method returns true if the container contains one or more
	   widgets of the class	CLASS.

       o   layout ( )

	   Layout the Container	and all	its contained widgets.

       o   draw	( BOOLEAN )

	   Draw	the Container and all its contained widgets.
	    If BOOLEAN is true,	the screen will	not update after drawing. By
	   default this	argument is false, so the screen will update after
	   drawing the container.

       o   intellidraw ( )

	   See Curses::UI::Widget for an explanation of	this method.

       o   focus ( )

	   If the container contains no	widgets, this routine will return
	   immediately.	Else the container will	get focus.

	   If the container gets focus,	one of the contained widgets will get
	   the focus. The returnvalue of this widget determines	what has to be
	   done	next. Here are the possible cases:

	   * The returnvalue is	LEAVE_CONTAINER

	     As	soon as	a widget returns this value, the container
	     will loose	its focus and return the returnvalue and the
	     last pressed key to the caller.

	   * The returnvalue is	STAY_AT_FOCUSPOSITION

	     The container will	not loose focus	and the	focus will stay
	     at	the same widget	of the container.

	   * Any other returnvalue

	     The focus will go to the next widget in the container.

       o   getobj ( ID )

	   This	method returns the object reference of the contained widget
	   with	the given ID.

       o   getfocusobj ( )

	   This	method returns the object reference of the contained widget
	   which currently has the focus.

       o   set_focusorder ( IDLIST )

	   Normally the	order in which widgets get focused in a	container is
	   determined by the order in which they are added to the container.
	   Use set_focusorder if you want a different focus order. IDLIST
	   contains a list of id's.

       o   set_draworder ( IDLIST )

	   Normally the	order in which widgets are drawn in a container	is
	   determined by the order in which they are added to the container.
	   Use set_draworder if	you want a different draw order. IDLIST
	   contains a list of id's.

       o   loadmodule (	CLASS )

	   This	will load the module for the CLASS. If loading fails, the
	   program will	die.

       o   onFocus ( CODEREF )

	   This	method can be used to set the -onfocus event handler (see
	   above) after	initialization of the widget.

       o   onBlur ( CODEREF )

	   This	method can be used to set the -onblur event handler (see
	   above) after	initialization of the widget.

DEFAULT	BINDINGS
       Since interacting is not	handled	by the container itself, but by	the
       contained widgets, this class does not have any key bindings.

SEE ALSO
       Curses::UI,

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::Container(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::Container&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help